From b178c9a3492ea6c0db63f708beecd3dfb3d921fe Mon Sep 17 00:00:00 2001 From: Lioncash Date: Wed, 15 Apr 2020 22:10:40 -0400 Subject: [PATCH 001/517] decoder/image: Fix incorrect G24R8 component sizes in GetComponentSize() The components' sizes were mismatched. This corrects that. --- src/video_core/shader/decode/image.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/video_core/shader/decode/image.cpp b/src/video_core/shader/decode/image.cpp index 0dd7a1196..7f94dacc8 100644 --- a/src/video_core/shader/decode/image.cpp +++ b/src/video_core/shader/decode/image.cpp @@ -201,10 +201,10 @@ u32 GetComponentSize(TextureFormat format, std::size_t component) { return 0; case TextureFormat::G24R8: if (component == 0) { - return 8; + return 24; } if (component == 1) { - return 24; + return 8; } return 0; case TextureFormat::G8R8: From 24620bc4ea9ca59a757b7f07ca912f6645c5b8ef Mon Sep 17 00:00:00 2001 From: Lioncash Date: Wed, 15 Apr 2020 22:26:47 -0400 Subject: [PATCH 002/517] decode/image: Fix typo in assert in GetComponentSize() --- src/video_core/shader/decode/image.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/video_core/shader/decode/image.cpp b/src/video_core/shader/decode/image.cpp index 7f94dacc8..08ebca38b 100644 --- a/src/video_core/shader/decode/image.cpp +++ b/src/video_core/shader/decode/image.cpp @@ -119,7 +119,7 @@ ComponentType GetComponentType(Tegra::Engines::SamplerDescriptor descriptor, } break; } - UNIMPLEMENTED_MSG("texture format not implement={}", format); + UNIMPLEMENTED_MSG("Texture format not implemented={}", format); return ComponentType::FLOAT; } @@ -212,7 +212,7 @@ u32 GetComponentSize(TextureFormat format, std::size_t component) { case TextureFormat::G4R4: return (component == 0 || component == 1) ? 4 : 0; default: - UNIMPLEMENTED_MSG("texture format not implement={}", format); + UNIMPLEMENTED_MSG("Texture format not implemented={}", format); return 0; } } @@ -249,7 +249,7 @@ std::size_t GetImageComponentMask(TextureFormat format) { case TextureFormat::R1: return std::size_t{R}; default: - UNIMPLEMENTED_MSG("texture format not implement={}", format); + UNIMPLEMENTED_MSG("Texture format not implemented={}", format); return std::size_t{R | G | B | A}; } } From 34635a42c0b3e050e131c857199c474df35ba410 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Sat, 17 Nov 2018 17:04:11 -0500 Subject: [PATCH 003/517] nvdrv: Stub nvdec/vic ioctls to bypass nvdec movies --- .../service/nvdrv/devices/nvhost_nvdec.cpp | 70 ++++++++++++++++++- .../hle/service/nvdrv/devices/nvhost_nvdec.h | 52 +++++++++++++- .../hle/service/nvdrv/devices/nvhost_vic.cpp | 70 ++++++++++++++++++- .../hle/service/nvdrv/devices/nvhost_vic.h | 50 +++++++++++++ 4 files changed, 239 insertions(+), 3 deletions(-) diff --git a/src/core/hle/service/nvdrv/devices/nvhost_nvdec.cpp b/src/core/hle/service/nvdrv/devices/nvhost_nvdec.cpp index bdae8b887..fcb612864 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_nvdec.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_nvdec.cpp @@ -22,6 +22,18 @@ u32 nvhost_nvdec::ioctl(Ioctl command, const std::vector& input, const std:: switch (static_cast(command.raw)) { case IoctlCommand::IocSetNVMAPfdCommand: return SetNVMAPfd(input, output); + case IoctlCommand::IocSubmit: + return Submit(input, output); + case IoctlCommand::IocGetSyncpoint: + return GetSyncpoint(input, output); + case IoctlCommand::IocGetWaitbase: + return GetWaitbase(input, output); + case IoctlCommand::IocMapBuffer: + return MapBuffer(input, output); + case IoctlCommand::IocMapBufferEx: + return MapBufferEx(input, output); + case IoctlCommand::IocUnmapBufferEx: + return UnmapBufferEx(input, output); } UNIMPLEMENTED_MSG("Unimplemented ioctl"); @@ -30,11 +42,67 @@ u32 nvhost_nvdec::ioctl(Ioctl command, const std::vector& input, const std:: u32 nvhost_nvdec::SetNVMAPfd(const std::vector& input, std::vector& output) { IoctlSetNvmapFD params{}; - std::memcpy(¶ms, input.data(), input.size()); + std::memcpy(¶ms, input.data(), sizeof(IoctlSetNvmapFD)); LOG_DEBUG(Service_NVDRV, "called, fd={}", params.nvmap_fd); nvmap_fd = params.nvmap_fd; return 0; } +u32 nvhost_nvdec::Submit(const std::vector& input, std::vector& output) { + IoctlSubmit params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlSubmit)); + LOG_WARNING(Service_NVDRV, "(STUBBED) called"); + std::memcpy(output.data(), ¶ms, sizeof(IoctlSubmit)); + return 0; +} + +u32 nvhost_nvdec::GetSyncpoint(const std::vector& input, std::vector& output) { + IoctlGetSyncpoint params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlGetSyncpoint)); + LOG_INFO(Service_NVDRV, "called, unknown=0x{:X}", params.unknown); + params.value = 0; // Seems to be hard coded at 0 + std::memcpy(output.data(), ¶ms, sizeof(IoctlGetSyncpoint)); + return 0; +} + +u32 nvhost_nvdec::GetWaitbase(const std::vector& input, std::vector& output) { + IoctlGetWaitbase params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlGetWaitbase)); + LOG_INFO(Service_NVDRV, "called, unknown=0x{:X}", params.unknown); + params.value = 0; // Seems to be hard coded at 0 + std::memcpy(output.data(), ¶ms, sizeof(IoctlGetWaitbase)); + return 0; +} + +u32 nvhost_nvdec::MapBuffer(const std::vector& input, std::vector& output) { + IoctlMapBuffer params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlMapBuffer)); + LOG_WARNING(Service_NVDRV, "(STUBBED) called with address={:08X}{:08X}", params.address_2, + params.address_1); + params.address_1 = 0; + params.address_2 = 0; + std::memcpy(output.data(), ¶ms, sizeof(IoctlMapBuffer)); + return 0; +} + +u32 nvhost_nvdec::MapBufferEx(const std::vector& input, std::vector& output) { + IoctlMapBufferEx params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlMapBufferEx)); + LOG_WARNING(Service_NVDRV, "(STUBBED) called with address={:08X}{:08X}", params.address_2, + params.address_1); + params.address_1 = 0; + params.address_2 = 0; + std::memcpy(output.data(), ¶ms, sizeof(IoctlMapBufferEx)); + return 0; +} + +u32 nvhost_nvdec::UnmapBufferEx(const std::vector& input, std::vector& output) { + IoctlUnmapBufferEx params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlUnmapBufferEx)); + LOG_WARNING(Service_NVDRV, "(STUBBED) called"); + std::memcpy(output.data(), ¶ms, sizeof(IoctlUnmapBufferEx)); + return 0; +} + } // namespace Service::Nvidia::Devices diff --git a/src/core/hle/service/nvdrv/devices/nvhost_nvdec.h b/src/core/hle/service/nvdrv/devices/nvhost_nvdec.h index cbdac8069..4332db118 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_nvdec.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_nvdec.h @@ -23,16 +23,66 @@ public: private: enum class IoctlCommand : u32_le { IocSetNVMAPfdCommand = 0x40044801, + IocSubmit = 0xC0400001, + IocGetSyncpoint = 0xC0080002, + IocGetWaitbase = 0xC0080003, + IocMapBuffer = 0xC01C0009, + IocMapBufferEx = 0xC0A40009, + IocUnmapBufferEx = 0xC0A4000A, }; struct IoctlSetNvmapFD { u32_le nvmap_fd; }; - static_assert(sizeof(IoctlSetNvmapFD) == 4, "IoctlSetNvmapFD is incorrect size"); + static_assert(sizeof(IoctlSetNvmapFD) == 0x4, "IoctlSetNvmapFD is incorrect size"); + + struct IoctlSubmit { + INSERT_PADDING_BYTES(0x40); // TODO(DarkLordZach): RE this structure + }; + static_assert(sizeof(IoctlSubmit) == 0x40, "IoctlSubmit has incorrect size"); + + struct IoctlGetSyncpoint { + u32 unknown; // seems to be ignored? Nintendo added this + u32 value; + }; + static_assert(sizeof(IoctlGetSyncpoint) == 0x08, "IoctlGetSyncpoint has incorrect size"); + + struct IoctlGetWaitbase { + u32 unknown; // seems to be ignored? Nintendo added this + u32 value; + }; + static_assert(sizeof(IoctlGetWaitbase) == 0x08, "IoctlGetWaitbase has incorrect size"); + + struct IoctlMapBuffer { + u32 unknown; + u32 address_1; + u32 address_2; + INSERT_PADDING_BYTES(0x10); // TODO(DarkLordZach): RE this structure + }; + static_assert(sizeof(IoctlMapBuffer) == 0x1C, "IoctlMapBuffer is incorrect size"); + + struct IoctlMapBufferEx { + u32 unknown; + u32 address_1; + u32 address_2; + INSERT_PADDING_BYTES(0x98); // TODO(DarkLordZach): RE this structure + }; + static_assert(sizeof(IoctlMapBufferEx) == 0xA4, "IoctlMapBufferEx has incorrect size"); + + struct IoctlUnmapBufferEx { + INSERT_PADDING_BYTES(0xA4); // TODO(DarkLordZach): RE this structure + }; + static_assert(sizeof(IoctlUnmapBufferEx) == 0xA4, "IoctlUnmapBufferEx has incorrect size"); u32_le nvmap_fd{}; u32 SetNVMAPfd(const std::vector& input, std::vector& output); + u32 Submit(const std::vector& input, std::vector& output); + u32 GetSyncpoint(const std::vector& input, std::vector& output); + u32 GetWaitbase(const std::vector& input, std::vector& output); + u32 MapBuffer(const std::vector& input, std::vector& output); + u32 MapBufferEx(const std::vector& input, std::vector& output); + u32 UnmapBufferEx(const std::vector& input, std::vector& output); }; } // namespace Service::Nvidia::Devices diff --git a/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp b/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp index c695b8863..fea363a53 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp @@ -22,6 +22,18 @@ u32 nvhost_vic::ioctl(Ioctl command, const std::vector& input, const std::ve switch (static_cast(command.raw)) { case IoctlCommand::IocSetNVMAPfdCommand: return SetNVMAPfd(input, output); + case IoctlCommand::IocSubmit: + return Submit(input, output); + case IoctlCommand::IocGetSyncpoint: + return GetSyncpoint(input, output); + case IoctlCommand::IocGetWaitbase: + return GetWaitbase(input, output); + case IoctlCommand::IocMapBuffer: + return MapBuffer(input, output); + case IoctlCommand::IocMapBufferEx: + return MapBuffer(input, output); + case IoctlCommand::IocUnmapBufferEx: + return UnmapBufferEx(input, output); } UNIMPLEMENTED_MSG("Unimplemented ioctl"); @@ -30,11 +42,67 @@ u32 nvhost_vic::ioctl(Ioctl command, const std::vector& input, const std::ve u32 nvhost_vic::SetNVMAPfd(const std::vector& input, std::vector& output) { IoctlSetNvmapFD params{}; - std::memcpy(¶ms, input.data(), input.size()); + std::memcpy(¶ms, input.data(), sizeof(IoctlSetNvmapFD)); LOG_DEBUG(Service_NVDRV, "called, fd={}", params.nvmap_fd); nvmap_fd = params.nvmap_fd; return 0; } +u32 nvhost_vic::Submit(const std::vector& input, std::vector& output) { + IoctlSubmit params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlSubmit)); + LOG_WARNING(Service_NVDRV, "(STUBBED) called"); + std::memcpy(output.data(), ¶ms, sizeof(IoctlSubmit)); + return 0; +} + +u32 nvhost_vic::GetSyncpoint(const std::vector& input, std::vector& output) { + IoctlGetSyncpoint params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlGetSyncpoint)); + LOG_INFO(Service_NVDRV, "called, unknown=0x{:X}", params.unknown); + params.value = 0; // Seems to be hard coded at 0 + std::memcpy(output.data(), ¶ms, sizeof(IoctlGetSyncpoint)); + return 0; +} + +u32 nvhost_vic::GetWaitbase(const std::vector& input, std::vector& output) { + IoctlGetWaitbase params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlGetWaitbase)); + LOG_INFO(Service_NVDRV, "called, unknown=0x{:X}", params.unknown); + params.value = 0; // Seems to be hard coded at 0 + std::memcpy(output.data(), ¶ms, sizeof(IoctlGetWaitbase)); + return 0; +} + +u32 nvhost_vic::MapBuffer(const std::vector& input, std::vector& output) { + IoctlMapBuffer params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlMapBuffer)); + LOG_WARNING(Service_NVDRV, "(STUBBED) called with address={:08X}{:08X}", params.address_2, + params.address_1); + params.address_1 = 0; + params.address_2 = 0; + std::memcpy(output.data(), ¶ms, sizeof(IoctlMapBuffer)); + return 0; +} + +u32 nvhost_vic::MapBufferEx(const std::vector& input, std::vector& output) { + IoctlMapBufferEx params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlMapBufferEx)); + LOG_WARNING(Service_NVDRV, "(STUBBED) called with address={:08X}{:08X}", params.address_2, + params.address_1); + params.address_1 = 0; + params.address_2 = 0; + std::memcpy(output.data(), ¶ms, sizeof(IoctlMapBufferEx)); + return 0; +} + +u32 nvhost_vic::UnmapBufferEx(const std::vector& input, std::vector& output) { + IoctlUnmapBufferEx params{}; + std::memcpy(¶ms, input.data(), sizeof(IoctlUnmapBufferEx)); + LOG_WARNING(Service_NVDRV, "(STUBBED) called"); + std::memcpy(output.data(), ¶ms, sizeof(IoctlUnmapBufferEx)); + return 0; +} + } // namespace Service::Nvidia::Devices diff --git a/src/core/hle/service/nvdrv/devices/nvhost_vic.h b/src/core/hle/service/nvdrv/devices/nvhost_vic.h index bec32bea1..6854f26dd 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_vic.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_vic.h @@ -23,6 +23,12 @@ public: private: enum class IoctlCommand : u32_le { IocSetNVMAPfdCommand = 0x40044801, + IocSubmit = 0xC0400001, + IocGetSyncpoint = 0xC0080002, + IocGetWaitbase = 0xC0080003, + IocMapBuffer = 0xC01C0009, + IocMapBufferEx = 0xC03C0009, + IocUnmapBufferEx = 0xC03C000A, }; struct IoctlSetNvmapFD { @@ -30,9 +36,53 @@ private: }; static_assert(sizeof(IoctlSetNvmapFD) == 4, "IoctlSetNvmapFD is incorrect size"); + struct IoctlSubmit { + INSERT_PADDING_BYTES(0x40); // TODO(DarkLordZach): RE this structure + }; + static_assert(sizeof(IoctlSubmit) == 0x40, "IoctlSubmit is incorrect size"); + + struct IoctlGetSyncpoint { + u32 unknown; // seems to be ignored? Nintendo added this + u32 value; + }; + static_assert(sizeof(IoctlGetSyncpoint) == 0x8, "IoctlGetSyncpoint is incorrect size"); + + struct IoctlGetWaitbase { + u32 unknown; // seems to be ignored? Nintendo added this + u32 value; + }; + static_assert(sizeof(IoctlGetWaitbase) == 0x8, "IoctlGetWaitbase is incorrect size"); + + struct IoctlMapBuffer { + u32 unknown; + u32 address_1; + u32 address_2; + INSERT_PADDING_BYTES(0x10); // TODO(DarkLordZach): RE this structure + }; + static_assert(sizeof(IoctlMapBuffer) == 0x1C, "IoctlMapBuffer is incorrect size"); + + struct IoctlMapBufferEx { + u32 unknown; + u32 address_1; + u32 address_2; + INSERT_PADDING_BYTES(0x30); // TODO(DarkLordZach): RE this structure + }; + static_assert(sizeof(IoctlMapBufferEx) == 0x3C, "IoctlMapBufferEx is incorrect size"); + + struct IoctlUnmapBufferEx { + INSERT_PADDING_BYTES(0x3C); // TODO(DarkLordZach): RE this structure + }; + static_assert(sizeof(IoctlUnmapBufferEx) == 0x3C, "IoctlUnmapBufferEx is incorrect size"); + u32_le nvmap_fd{}; u32 SetNVMAPfd(const std::vector& input, std::vector& output); + u32 Submit(const std::vector& input, std::vector& output); + u32 GetSyncpoint(const std::vector& input, std::vector& output); + u32 GetWaitbase(const std::vector& input, std::vector& output); + u32 MapBuffer(const std::vector& input, std::vector& output); + u32 MapBufferEx(const std::vector& input, std::vector& output); + u32 UnmapBufferEx(const std::vector& input, std::vector& output); }; } // namespace Service::Nvidia::Devices From 1adf640d372524edd4d4c528c915be9b8b7ff8ab Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 3 May 2020 02:39:37 -0400 Subject: [PATCH 004/517] service: nvhost_vic: Ignore Submit commands. --- src/core/hle/service/nvdrv/devices/nvhost_vic.cpp | 4 ++++ src/core/hle/service/nvdrv/devices/nvhost_vic.h | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp b/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp index fea363a53..9da19ad56 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp @@ -53,6 +53,10 @@ u32 nvhost_vic::Submit(const std::vector& input, std::vector& output) { IoctlSubmit params{}; std::memcpy(¶ms, input.data(), sizeof(IoctlSubmit)); LOG_WARNING(Service_NVDRV, "(STUBBED) called"); + + // Workaround for Luigi's Mansion 3, as nvhost_vic is not implemented for asynch GPU + params.command_buffer = {}; + std::memcpy(output.data(), ¶ms, sizeof(IoctlSubmit)); return 0; } diff --git a/src/core/hle/service/nvdrv/devices/nvhost_vic.h b/src/core/hle/service/nvdrv/devices/nvhost_vic.h index 6854f26dd..a7bb7bbd5 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_vic.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_vic.h @@ -4,6 +4,7 @@ #pragma once +#include #include #include "common/common_types.h" #include "common/swap.h" @@ -36,8 +37,20 @@ private: }; static_assert(sizeof(IoctlSetNvmapFD) == 4, "IoctlSetNvmapFD is incorrect size"); + struct IoctlSubmitCommandBuffer { + u32 id; + u32 offset; + u32 count; + }; + static_assert(sizeof(IoctlSubmitCommandBuffer) == 0xC, + "IoctlSubmitCommandBuffer is incorrect size"); + struct IoctlSubmit { - INSERT_PADDING_BYTES(0x40); // TODO(DarkLordZach): RE this structure + u32 command_buffer_count; + u32 relocations_count; + u32 syncpt_count; + u32 wait_count; + std::array command_buffer; }; static_assert(sizeof(IoctlSubmit) == 0x40, "IoctlSubmit is incorrect size"); From 4d4bbe756f94c3bfc2df5265283596ee96cce9f9 Mon Sep 17 00:00:00 2001 From: FearlessTobi Date: Tue, 12 May 2020 20:46:14 +0200 Subject: [PATCH 005/517] file_sys/nsp: Make SetTicketKeys actually do something Previously, the method wasn't modifying any class state and therefore not having any effects when called. Since this has been the case for a very long time now, I'm not sure if we couldn't just remove this method altogether. --- src/core/file_sys/submission_package.cpp | 61 +++++++++++------------- src/core/file_sys/submission_package.h | 1 + 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/src/core/file_sys/submission_package.cpp b/src/core/file_sys/submission_package.cpp index 175a8266a..a6637fa39 100644 --- a/src/core/file_sys/submission_package.cpp +++ b/src/core/file_sys/submission_package.cpp @@ -19,38 +19,6 @@ #include "core/loader/loader.h" namespace FileSys { -namespace { -void SetTicketKeys(const std::vector& files) { - auto& keys = Core::Crypto::KeyManager::Instance(); - - for (const auto& ticket_file : files) { - if (ticket_file == nullptr) { - continue; - } - - if (ticket_file->GetExtension() != "tik") { - continue; - } - - if (ticket_file->GetSize() < - Core::Crypto::TICKET_FILE_TITLEKEY_OFFSET + sizeof(Core::Crypto::Key128)) { - continue; - } - - Core::Crypto::Key128 key{}; - ticket_file->Read(key.data(), key.size(), Core::Crypto::TICKET_FILE_TITLEKEY_OFFSET); - - // We get the name without the extension in order to create the rights ID. - std::string name_only(ticket_file->GetName()); - name_only.erase(name_only.size() - 4); - - const auto rights_id_raw = Common::HexStringToArray<16>(name_only); - u128 rights_id; - std::memcpy(rights_id.data(), rights_id_raw.data(), sizeof(u128)); - keys.SetKey(Core::Crypto::S128KeyType::Titlekey, key, rights_id[1], rights_id[0]); - } -} -} // Anonymous namespace NSP::NSP(VirtualFile file_) : file(std::move(file_)), status{Loader::ResultStatus::Success}, @@ -232,6 +200,35 @@ VirtualDir NSP::GetParentDirectory() const { return file->GetContainingDirectory(); } +void NSP::SetTicketKeys(const std::vector& files) { + for (const auto& ticket_file : files) { + if (ticket_file == nullptr) { + continue; + } + + if (ticket_file->GetExtension() != "tik") { + continue; + } + + if (ticket_file->GetSize() < + Core::Crypto::TICKET_FILE_TITLEKEY_OFFSET + sizeof(Core::Crypto::Key128)) { + continue; + } + + Core::Crypto::Key128 key{}; + ticket_file->Read(key.data(), key.size(), Core::Crypto::TICKET_FILE_TITLEKEY_OFFSET); + + // We get the name without the extension in order to create the rights ID. + std::string name_only(ticket_file->GetName()); + name_only.erase(name_only.size() - 4); + + const auto rights_id_raw = Common::HexStringToArray<16>(name_only); + u128 rights_id; + std::memcpy(rights_id.data(), rights_id_raw.data(), sizeof(u128)); + keys.SetKey(Core::Crypto::S128KeyType::Titlekey, key, rights_id[1], rights_id[0]); + } +} + void NSP::InitializeExeFSAndRomFS(const std::vector& files) { exefs = pfs; diff --git a/src/core/file_sys/submission_package.h b/src/core/file_sys/submission_package.h index cf89de6a9..6d54bd807 100644 --- a/src/core/file_sys/submission_package.h +++ b/src/core/file_sys/submission_package.h @@ -59,6 +59,7 @@ public: VirtualDir GetParentDirectory() const override; private: + void SetTicketKeys(const std::vector& files); void InitializeExeFSAndRomFS(const std::vector& files); void ReadNCAs(const std::vector& files); From 29a0ca23918092d252f440b2f55f68bb3c991366 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Mon, 29 Jun 2020 02:34:17 -0300 Subject: [PATCH 006/517] renderer_vulkan: Create a Vulkan 1.0 instance when 1.1 is not available This commit doesn't make yuzu compatible with Vulkan 1.0 yet, it only creates an 1.0 instance. --- .../renderer_vulkan/renderer_vulkan.cpp | 5 +++- src/video_core/renderer_vulkan/wrapper.cpp | 23 +++++++++++++++---- src/video_core/renderer_vulkan/wrapper.h | 4 +++- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp index 6e49699d0..6f9eadbeb 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp +++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp @@ -180,7 +180,10 @@ vk::Instance CreateInstance(Common::DynamicLibrary& library, vk::InstanceDispatc } } - vk::Instance instance = vk::Instance::Create(layers, extensions, dld); + // Limit the maximum version of Vulkan to avoid using untested version. + const u32 version = std::min(vk::AvailableVersion(dld), static_cast(VK_API_VERSION_1_1)); + + vk::Instance instance = vk::Instance::Create(version, layers, extensions, dld); if (!instance) { LOG_ERROR(Render_Vulkan, "Failed to create Vulkan instance"); return {}; diff --git a/src/video_core/renderer_vulkan/wrapper.cpp b/src/video_core/renderer_vulkan/wrapper.cpp index 013865aa4..56055af1b 100644 --- a/src/video_core/renderer_vulkan/wrapper.cpp +++ b/src/video_core/renderer_vulkan/wrapper.cpp @@ -10,6 +10,7 @@ #include #include "common/common_types.h" +#include "common/logging/log.h" #include "video_core/renderer_vulkan/wrapper.h" @@ -375,18 +376,17 @@ VkResult Free(VkDevice device, VkCommandPool handle, Span buffe return VK_SUCCESS; } -Instance Instance::Create(Span layers, Span extensions, +Instance Instance::Create(u32 version, Span layers, Span extensions, InstanceDispatch& dld) noexcept { - static constexpr VkApplicationInfo application_info{ + const VkApplicationInfo application_info{ .sType = VK_STRUCTURE_TYPE_APPLICATION_INFO, .pNext = nullptr, .pApplicationName = "yuzu Emulator", .applicationVersion = VK_MAKE_VERSION(0, 1, 0), .pEngineName = "yuzu Emulator", .engineVersion = VK_MAKE_VERSION(0, 1, 0), - .apiVersion = VK_API_VERSION_1_1, + .apiVersion = version, }; - const VkInstanceCreateInfo ci{ .sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, .pNext = nullptr, @@ -775,6 +775,21 @@ VkPhysicalDeviceMemoryProperties PhysicalDevice::GetMemoryProperties() const noe return properties; } +u32 AvailableVersion(const InstanceDispatch& dld) noexcept { + PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; + if (!Proc(vkEnumerateInstanceVersion, dld, "vkEnumerateInstanceVersion")) { + // If the procedure is not found, Vulkan 1.0 is assumed + return VK_API_VERSION_1_0; + } + u32 version; + if (const VkResult result = vkEnumerateInstanceVersion(&version); result != VK_SUCCESS) { + LOG_ERROR(Render_Vulkan, "vkEnumerateInstanceVersion returned {}, assuming Vulkan 1.1", + ToString(result)); + return VK_API_VERSION_1_1; + } + return version; +} + std::optional> EnumerateInstanceExtensionProperties( const InstanceDispatch& dld) { u32 num; diff --git a/src/video_core/renderer_vulkan/wrapper.h b/src/video_core/renderer_vulkan/wrapper.h index b9d3fedc1..748a94d2f 100644 --- a/src/video_core/renderer_vulkan/wrapper.h +++ b/src/video_core/renderer_vulkan/wrapper.h @@ -563,7 +563,7 @@ class Instance : public Handle { public: /// Creates a Vulkan instance. Use "operator bool" for error handling. - static Instance Create(Span layers, Span extensions, + static Instance Create(u32 version, Span layers, Span extensions, InstanceDispatch& dld) noexcept; /// Enumerates physical devices. @@ -1048,6 +1048,8 @@ private: const DeviceDispatch* dld; }; +u32 AvailableVersion(const InstanceDispatch& dld) noexcept; + std::optional> EnumerateInstanceExtensionProperties( const InstanceDispatch& dld); From c5a78f4480369ad6325c51549509361c10d2cea5 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Mon, 29 Jun 2020 02:48:29 -0300 Subject: [PATCH 007/517] vk_device: Use Vulkan 1.0 properly Enable the required capabilities to use Vulkan 1.0 without validation errors and disable those that are not compatible with it. --- .../renderer_vulkan/renderer_vulkan.cpp | 19 ++--- .../renderer_vulkan/renderer_vulkan.h | 2 + src/video_core/renderer_vulkan/vk_device.cpp | 73 +++++++++---------- src/video_core/renderer_vulkan/vk_device.h | 12 ++- .../renderer_vulkan/vk_shader_decompiler.cpp | 12 ++- 5 files changed, 66 insertions(+), 52 deletions(-) diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp index 6f9eadbeb..7ffc90cd0 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp +++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp @@ -92,9 +92,9 @@ Common::DynamicLibrary OpenVulkanLibrary() { return library; } -vk::Instance CreateInstance(Common::DynamicLibrary& library, vk::InstanceDispatch& dld, - WindowSystemType window_type = WindowSystemType::Headless, - bool enable_layers = false) { +std::pair CreateInstance( + Common::DynamicLibrary& library, vk::InstanceDispatch& dld, + WindowSystemType window_type = WindowSystemType::Headless, bool enable_layers = false) { if (!library.IsOpen()) { LOG_ERROR(Render_Vulkan, "Vulkan library not available"); return {}; @@ -191,7 +191,7 @@ vk::Instance CreateInstance(Common::DynamicLibrary& library, vk::InstanceDispatc if (!vk::Load(*instance, dld)) { LOG_ERROR(Render_Vulkan, "Failed to load Vulkan instance function pointers"); } - return instance; + return std::make_pair(std::move(instance), version); } std::string GetReadableVersion(u32 version) { @@ -289,8 +289,8 @@ bool RendererVulkan::TryPresent(int /*timeout_ms*/) { bool RendererVulkan::Init() { library = OpenVulkanLibrary(); - instance = CreateInstance(library, dld, render_window.GetWindowInfo().type, - Settings::values.renderer_debug); + std::tie(instance, instance_version) = CreateInstance( + library, dld, render_window.GetWindowInfo().type, Settings::values.renderer_debug); if (!instance || !CreateDebugCallback() || !CreateSurface() || !PickDevices()) { return false; } @@ -423,7 +423,8 @@ bool RendererVulkan::PickDevices() { return false; } - device = std::make_unique(*instance, physical_device, *surface, dld); + device = + std::make_unique(*instance, instance_version, physical_device, *surface, dld); return device->Create(); } @@ -433,7 +434,7 @@ void RendererVulkan::Report() const { const std::string driver_version = GetDriverVersion(*device); const std::string driver_name = fmt::format("{} {}", vendor_name, driver_version); - const std::string api_version = GetReadableVersion(device->GetApiVersion()); + const std::string api_version = GetReadableVersion(device->ApiVersion()); const std::string extensions = BuildCommaSeparatedExtensions(device->GetAvailableExtensions()); @@ -453,7 +454,7 @@ void RendererVulkan::Report() const { std::vector RendererVulkan::EnumerateDevices() { vk::InstanceDispatch dld; Common::DynamicLibrary library = OpenVulkanLibrary(); - vk::Instance instance = CreateInstance(library, dld); + vk::Instance instance = CreateInstance(library, dld).first; if (!instance) { return {}; } diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.h b/src/video_core/renderer_vulkan/renderer_vulkan.h index 522b5bff8..9617a93e9 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.h +++ b/src/video_core/renderer_vulkan/renderer_vulkan.h @@ -63,6 +63,8 @@ private: vk::InstanceDispatch dld; vk::Instance instance; + u32 instance_version{}; + vk::SurfaceKHR surface; VKScreenInfo screen_info; diff --git a/src/video_core/renderer_vulkan/vk_device.cpp b/src/video_core/renderer_vulkan/vk_device.cpp index ebcfaa0e3..90916ee0e 100644 --- a/src/video_core/renderer_vulkan/vk_device.cpp +++ b/src/video_core/renderer_vulkan/vk_device.cpp @@ -38,6 +38,9 @@ constexpr std::array Depth16UnormS8_UINT{ constexpr std::array REQUIRED_EXTENSIONS{ VK_KHR_SWAPCHAIN_EXTENSION_NAME, + VK_KHR_MAINTENANCE1_EXTENSION_NAME, + VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME, + VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, @@ -171,10 +174,10 @@ std::unordered_map GetFormatProperties( } // Anonymous namespace -VKDevice::VKDevice(VkInstance instance, vk::PhysicalDevice physical, VkSurfaceKHR surface, - const vk::InstanceDispatch& dld) - : dld{dld}, physical{physical}, properties{physical.GetProperties()}, - format_properties{GetFormatProperties(physical, dld)} { +VKDevice::VKDevice(VkInstance instance_, u32 instance_version_, vk::PhysicalDevice physical_, + VkSurfaceKHR surface, const vk::InstanceDispatch& dld_) + : dld{dld_}, physical{physical_}, properties{physical.GetProperties()}, + instance_version{instance_version_}, format_properties{GetFormatProperties(physical, dld)} { SetupFamilies(surface); SetupFeatures(); } @@ -565,20 +568,6 @@ bool VKDevice::IsSuitable(vk::PhysicalDevice physical, VkSurfaceKHR surface) { std::vector VKDevice::LoadExtensions() { std::vector extensions; - const auto Test = [&](const VkExtensionProperties& extension, - std::optional> status, const char* name, - bool push) { - if (extension.extensionName != std::string_view(name)) { - return; - } - if (push) { - extensions.push_back(name); - } - if (status) { - status->get() = true; - } - }; - extensions.reserve(7 + REQUIRED_EXTENSIONS.size()); extensions.insert(extensions.begin(), REQUIRED_EXTENSIONS.begin(), REQUIRED_EXTENSIONS.end()); @@ -587,28 +576,36 @@ std::vector VKDevice::LoadExtensions() { bool has_ext_transform_feedback{}; bool has_ext_custom_border_color{}; bool has_ext_extended_dynamic_state{}; - for (const auto& extension : physical.EnumerateDeviceExtensionProperties()) { - Test(extension, nv_viewport_swizzle, VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME, true); - Test(extension, khr_uniform_buffer_standard_layout, + for (const VkExtensionProperties& extension : physical.EnumerateDeviceExtensionProperties()) { + const auto test = [&](std::optional> status, const char* name, + bool push) { + if (extension.extensionName != std::string_view(name)) { + return; + } + if (push) { + extensions.push_back(name); + } + if (status) { + status->get() = true; + } + }; + test(nv_viewport_swizzle, VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME, true); + test(khr_uniform_buffer_standard_layout, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, true); - Test(extension, has_khr_shader_float16_int8, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, - false); - Test(extension, ext_depth_range_unrestricted, - VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME, true); - Test(extension, ext_index_type_uint8, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, true); - Test(extension, ext_shader_viewport_index_layer, - VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME, true); - Test(extension, has_ext_subgroup_size_control, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, - false); - Test(extension, has_ext_transform_feedback, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, - false); - Test(extension, has_ext_custom_border_color, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, - false); - Test(extension, has_ext_extended_dynamic_state, - VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, false); + test(has_khr_shader_float16_int8, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, false); + test(ext_depth_range_unrestricted, VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME, true); + test(ext_index_type_uint8, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, true); + test(ext_shader_viewport_index_layer, VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME, + true); + test(has_ext_transform_feedback, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, false); + test(has_ext_custom_border_color, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, false); + test(has_ext_extended_dynamic_state, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, false); + if (instance_version >= VK_API_VERSION_1_1) { + test(has_ext_subgroup_size_control, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, false); + } if (Settings::values.renderer_debug) { - Test(extension, nv_device_diagnostics_config, - VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME, true); + test(nv_device_diagnostics_config, VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME, + true); } } diff --git a/src/video_core/renderer_vulkan/vk_device.h b/src/video_core/renderer_vulkan/vk_device.h index 26a233db1..4286673d9 100644 --- a/src/video_core/renderer_vulkan/vk_device.h +++ b/src/video_core/renderer_vulkan/vk_device.h @@ -24,8 +24,8 @@ const u32 GuestWarpSize = 32; /// Handles data specific to a physical device. class VKDevice final { public: - explicit VKDevice(VkInstance instance, vk::PhysicalDevice physical, VkSurfaceKHR surface, - const vk::InstanceDispatch& dld); + explicit VKDevice(VkInstance instance, u32 instance_version, vk::PhysicalDevice physical, + VkSurfaceKHR surface, const vk::InstanceDispatch& dld); ~VKDevice(); /// Initializes the device. Returns true on success. @@ -82,8 +82,13 @@ public: return present_family; } + /// Returns the current instance Vulkan API version in Vulkan-formatted version numbers. + u32 InstanceApiVersion() const { + return instance_version; + } + /// Returns the current Vulkan API version provided in Vulkan-formatted version numbers. - u32 GetApiVersion() const { + u32 ApiVersion() const { return properties.apiVersion; } @@ -239,6 +244,7 @@ private: vk::Device logical; ///< Logical device. vk::Queue graphics_queue; ///< Main graphics queue. vk::Queue present_queue; ///< Main present queue. + u32 instance_version{}; ///< Vulkan onstance version. u32 graphics_family{}; ///< Main graphics queue family index. u32 present_family{}; ///< Main present queue family index. VkDriverIdKHR driver_id{}; ///< Driver ID. diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp index cd7d7a4e4..a20452b87 100644 --- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp +++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp @@ -272,12 +272,19 @@ bool IsPrecise(Operation operand) { return false; } +u32 ShaderVersion(const VKDevice& device) { + if (device.InstanceApiVersion() < VK_API_VERSION_1_1) { + return 0x00010000; + } + return 0x00010300; +} + class SPIRVDecompiler final : public Sirit::Module { public: explicit SPIRVDecompiler(const VKDevice& device, const ShaderIR& ir, ShaderType stage, const Registry& registry, const Specialization& specialization) - : Module(0x00010300), device{device}, ir{ir}, stage{stage}, header{ir.GetHeader()}, - registry{registry}, specialization{specialization} { + : Module(ShaderVersion(device)), device{device}, ir{ir}, stage{stage}, + header{ir.GetHeader()}, registry{registry}, specialization{specialization} { if (stage != ShaderType::Compute) { transform_feedback = BuildTransformFeedback(registry.GetGraphicsInfo()); } @@ -293,6 +300,7 @@ public: AddCapability(spv::Capability::DrawParameters); AddCapability(spv::Capability::SubgroupBallotKHR); AddCapability(spv::Capability::SubgroupVoteKHR); + AddExtension("SPV_KHR_16bit_storage"); AddExtension("SPV_KHR_shader_ballot"); AddExtension("SPV_KHR_subgroup_vote"); AddExtension("SPV_KHR_storage_buffer_storage_class"); From 43ce33b6cced1d049f1cef3a9b1fddcfad8aef7c Mon Sep 17 00:00:00 2001 From: M&M Date: Wed, 29 Jul 2020 10:25:37 -0700 Subject: [PATCH 008/517] logging/settings: Increase maximum log size to 100 MB and add extended logging option The extended logging option is automatically disabled on boot but can be enabled afterwards, allowing the log file to go up to 1 GB during that session. This commit also fixes a few errors that are present in the general debug menu. --- src/common/logging/backend.cpp | 14 ++++++- src/core/settings.h | 1 + src/yuzu/configuration/config.cpp | 2 + src/yuzu/configuration/configure_debug.cpp | 2 + src/yuzu/configuration/configure_debug.ui | 46 +++++++++++++++++----- 5 files changed, 54 insertions(+), 11 deletions(-) diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp index 62cfde397..fdb2e52fa 100644 --- a/src/common/logging/backend.cpp +++ b/src/common/logging/backend.cpp @@ -23,6 +23,7 @@ #include "common/logging/text_formatter.h" #include "common/string_util.h" #include "common/threadsafe_queue.h" +#include "core/settings.h" namespace Log { @@ -152,10 +153,19 @@ FileBackend::FileBackend(const std::string& filename) void FileBackend::Write(const Entry& entry) { // prevent logs from going over the maximum size (in case its spamming and the user doesn't // know) - constexpr std::size_t MAX_BYTES_WRITTEN = 50 * 1024L * 1024L; - if (!file.IsOpen() || bytes_written > MAX_BYTES_WRITTEN) { + constexpr std::size_t MAX_BYTES_WRITTEN = 100 * 1024 * 1024; + constexpr std::size_t MAX_BYTES_WRITTEN_EXTENDED = 1024 * 1024 * 1024; + + if (!file.IsOpen()) { return; } + + if (Settings::values.extended_logging && bytes_written > MAX_BYTES_WRITTEN_EXTENDED) { + return; + } else if (!Settings::values.extended_logging && bytes_written > MAX_BYTES_WRITTEN) { + return; + } + bytes_written += file.WriteString(FormatLogMessage(entry).append(1, '\n')); if (entry.log_level >= Level::Error) { file.Flush(); diff --git a/src/core/settings.h b/src/core/settings.h index 3681b5e9d..5a2f852fd 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -498,6 +498,7 @@ struct Values { bool reporting_services; bool quest_flag; bool disable_macro_jit; + bool extended_logging; // Misceallaneous std::string log_filter; diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 7af974d8d..1d4816d34 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -523,6 +523,8 @@ void Config::ReadDebuggingValues() { Settings::values.quest_flag = ReadSetting(QStringLiteral("quest_flag"), false).toBool(); Settings::values.disable_macro_jit = ReadSetting(QStringLiteral("disable_macro_jit"), false).toBool(); + Settings::values.extended_logging = + ReadSetting(QStringLiteral("extended_logging"), false).toBool(); qt_config->endGroup(); } diff --git a/src/yuzu/configuration/configure_debug.cpp b/src/yuzu/configuration/configure_debug.cpp index 2bfe2c306..027099ab7 100644 --- a/src/yuzu/configuration/configure_debug.cpp +++ b/src/yuzu/configuration/configure_debug.cpp @@ -41,6 +41,7 @@ void ConfigureDebug::SetConfiguration() { ui->enable_graphics_debugging->setChecked(Settings::values.renderer_debug); ui->disable_macro_jit->setEnabled(!Core::System::GetInstance().IsPoweredOn()); ui->disable_macro_jit->setChecked(Settings::values.disable_macro_jit); + ui->extended_logging->setChecked(Settings::values.extended_logging); } void ConfigureDebug::ApplyConfiguration() { @@ -53,6 +54,7 @@ void ConfigureDebug::ApplyConfiguration() { Settings::values.quest_flag = ui->quest_flag->isChecked(); Settings::values.renderer_debug = ui->enable_graphics_debugging->isChecked(); Settings::values.disable_macro_jit = ui->disable_macro_jit->isChecked(); + Settings::values.extended_logging = ui->extended_logging->isChecked(); Debugger::ToggleConsole(); Log::Filter filter; filter.ParseFilterString(Settings::values.log_filter); diff --git a/src/yuzu/configuration/configure_debug.ui b/src/yuzu/configuration/configure_debug.ui index 9d6feb9f7..6f94fe304 100644 --- a/src/yuzu/configuration/configure_debug.ui +++ b/src/yuzu/configuration/configure_debug.ui @@ -90,7 +90,7 @@ - Show Log Console (Windows Only) + Show Log in Console @@ -103,6 +103,34 @@ + + + + true + + + When checked, the max size of the log increases from 100 MB to 1 GB + + + Enable Extended Logging + + + + + + + + true + + + + This will be reset automatically when yuzu closes. + + + 20 + + + @@ -115,7 +143,7 @@ - + Arguments String @@ -140,8 +168,8 @@ true - - When checked, the graphics API enters in a slower debugging mode + + When checked, the graphics API enters a slower debugging mode Enable Graphics Debugging @@ -153,8 +181,8 @@ true - - When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + + When checked, it disables the macro Just In Time compiler. Enabling this makes games run slower Disable Macro JIT @@ -169,7 +197,7 @@ Dump - + @@ -178,7 +206,7 @@ - + true @@ -200,7 +228,7 @@ Advanced - + From b5784e9af2ad9d53432d2f3a260964eb5edd542b Mon Sep 17 00:00:00 2001 From: The yuzu Community Date: Fri, 11 Sep 2020 15:38:10 +0000 Subject: [PATCH 009/517] Update translations (2020-09-11) --- dist/languages/de.ts | 4749 ++++++++++++++++++++++++++++++++++++++ dist/languages/es.ts | 4757 +++++++++++++++++++++++++++++++++++++++ dist/languages/fr.ts | 4732 ++++++++++++++++++++++++++++++++++++++ dist/languages/it.ts | 4724 ++++++++++++++++++++++++++++++++++++++ dist/languages/ja_JP.ts | 4752 ++++++++++++++++++++++++++++++++++++++ dist/languages/nl.ts | 4719 ++++++++++++++++++++++++++++++++++++++ dist/languages/pl.ts | 4713 ++++++++++++++++++++++++++++++++++++++ dist/languages/pt_BR.ts | 4757 +++++++++++++++++++++++++++++++++++++++ dist/languages/pt_PT.ts | 4725 ++++++++++++++++++++++++++++++++++++++ dist/languages/ru_RU.ts | 4720 ++++++++++++++++++++++++++++++++++++++ dist/languages/zh_CN.ts | 4747 ++++++++++++++++++++++++++++++++++++++ 11 files changed, 52095 insertions(+) create mode 100644 dist/languages/de.ts create mode 100644 dist/languages/es.ts create mode 100644 dist/languages/fr.ts create mode 100644 dist/languages/it.ts create mode 100644 dist/languages/ja_JP.ts create mode 100644 dist/languages/nl.ts create mode 100644 dist/languages/pl.ts create mode 100644 dist/languages/pt_BR.ts create mode 100644 dist/languages/pt_PT.ts create mode 100644 dist/languages/ru_RU.ts create mode 100644 dist/languages/zh_CN.ts diff --git a/dist/languages/de.ts b/dist/languages/de.ts new file mode 100644 index 000000000..b93c9f51c --- /dev/null +++ b/dist/languages/de.ts @@ -0,0 +1,4749 @@ + + + AboutDialog + + + About yuzu + Über yuzu + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu ist ein experimenteller, quelloffener Emulator für Nintendo Switch, lizensiert unter GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Diese Software sollte nicht dazu verwendet werden, Spiele zu spielen, die du nicht legal erhalten hast.</span></p></body></html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Webseite</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Quellcode</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Mitwirkende</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Lizenz</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; ist ein Warenzeichen von Nintendo. yuzu ist in keiner Weise mit Nintendo verbunden.</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + Verbindung mit dem Server wird hergestellt... + + + + Cancel + Abbrechen + + + + Touch the top left corner <br>of your touchpad. + Tippe auf die obere linke Ecke <br>deines Touchpads. + + + + Now touch the bottom right corner <br>of your touchpad. + Tippe auf die untere rechte Ecke <br>deines Touchpads. + + + + Configuration completed! + Konfiguration abgeschlossen! + + + + OK + OK + + + + CompatDB + + + Report Compatibility + Kompatibilität melden + + + + + Report Game Compatibility + Kompatibilität des Spiels melden + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">Solltest du einen Bericht zur </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu-Kompatibilitätsliste</span></a><span style=" font-size:10pt;"> beitragen wollen, werden die folgenden Informationen gesammelt und auf der yuzu-Webseite dargestellt:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware-Informationen (CPU / GPU / Betriebssystem)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Welche yuzu-Version du benutzt</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Den verbundenen yuzu-Account</li></ul></body></html> + + + + Perfect + Perfekt + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>Das Spiel funktioniert einwandfrei und ohne Audio- oder Grafikfehler.</p></body></html> + + + + Great + Gut + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>Das Spiel funktioniert mit kleineren Grafik- oder Audiofehlern und ist von Anfang bis Ende spielbar. Eventuell sind einige Workarounds erforderlich.</p></body></html> + + + + Okay + Okay + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>Das Spiel funktioniert mit größeren Grafik- oder Audiofehlern, lässt sich aber mit Workarounds bis zum Ende durchspielen. </p></body></html> + + + + Bad + Schlecht + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>Spiel funktioniert zwar, aber nur mit starken Grafik- oder Audiofehlern. Manche Bereiche des Spiels können selbst mit Workarounds nicht abgeschlossen werden.</p></body></html> + + + + Intro/Menu + Intro/Menü + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>Das Spiel ist wegen schwerwiegendsten Grafik- oder Audiofehlern unspielbar. Das Spiel lässt sich lediglich starten.</p></body></html> + + + + Won't Boot + Startet nicht + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>Das Spiel stürzt beim Versuch zu starten ab.</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <html><head/><body><p>Unabhängig von Geschwindigkeit oder Performance, wie gut läuft das Spiel von Start bis Ende in dieser Version von yuzu?</p></body></html> + + + + Thank you for your submission! + Vielen Dank für deinen Beitrag! + + + + Submitting + Absenden + + + + Communication error + Kommunikationsfehler + + + + An error occured while sending the Testcase + Beim Senden des Berichtes ist ein Fehler aufgetreten. + + + + Next + Weiter + + + + ConfigureAudio + + + Audio + Audio + + + + Output Engine: + Ausgabe-Engine: + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + Dieser Nachbearbeitungseffekt passt die Audiogeschwindigkeit an die Emulationsgeschwindigkeit an und verhindert Audioaussetzer. Dies erhöht jedoch die Audioverzögerung. + + + + Enable audio stretching + Audiodehnung aktivieren + + + + Audio Device: + Audiogerät: + + + + Use global volume + Globale Lautstärke verwenden + + + + Set volume: + Lautstärke: + + + + Volume: + Lautstärke: + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + Form + + + + General + Allgemeines + + + + Accuracy: + Genauigkeit der Emulation: + + + + Accurate + Akkurat + + + + Unsafe + Unsicher + + + + Enable Debug Mode + Debug-Modus aktivieren + + + + We recommend setting accuracy to "Accurate". + Wir empfehlen, dies auf "Akkurat" zu stellen. + + + + Unsafe CPU Optimization Settings + Unsichere CPU-Optimierungen + + + + These settings reduce accuracy for speed. + Diese Optionen reduzieren die Genauigkeit, können jedoch die Geschwindigkeit erhöhen. + + + + Unfuse FMA (improve performance on CPUs without FMA) + Unfuse FMA (erhöht Leistung auf CPUs ohne FMA) + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + + <div>Diese Option steigert die Geschwindigkeit, indem die Genauigkeit von sog. "fused-multiply-add" Anweisungen auf CPUs ohne native FMA-Unterstützung reduziert wird.</div> + + + + + Faster FRSQRTE and FRECPE + Schnelleres FRSQRTE und FRECPE + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + + <div>Diese Option steigert die Geschwindigkeit von einigen "floating point"-Anweisungen, indem weniger akkurate Schätzungen der Werte verwendet werden.</div> + + + + + CPU settings are available only when game is not running. + Die CPU-Einstellungen sind nur verfügbar, wenn kein Spiel aktiv ist. + + + + Setting CPU to Debug Mode + Debug-Modus für CPU + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + Der Debug-Modus ist nur für Entwickler gedacht. Bist du dir sicher? + + + + ConfigureCpuDebug + + + Form + Form + + + + Toggle CPU Optimizations + CPU-Optimierungen ändern + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + + <div> + <b>Dies ist nur zur Fehlerbehebung gedacht .</b> + <br> + Falls du dir nicht sicher bist, was hier passiert, solltest du keine dieser Optionen ändern. + <br> + Diese Optionen treten nur dann in Kraft, wenn auch der CPU Debug-Modus aktiviert ist. + </div> + + + + + Enable inline page tables + Enable inline page tables + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + + + Enable block linking + Enable block linking + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + + + Enable return stack buffer + Return stack buffer aktivieren + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + + + Enable fast dispatcher + Enable fast dispatcher + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + + + Enable context elimination + Enable context elimination + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + + + Enable constant propagation + Enable constant propagation + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + + + Enable miscellaneous optimizations + Enable miscellaneous optimizations + + + + + <div>Enables miscellaneous IR optimizations.</div> + + + <div>Enables miscellaneous IR optimizations.</div> + + + + + Enable misalignment check reduction + Enable misalignment check reduction + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + + + CPU settings are available only when game is not running. + Die CPU-Einstellungen sind nur verfügbar, wenn kein Spiel aktiv ist. + + + + ConfigureDebug + + + Form + Form + + + + GDB + GDB + + + + Enable GDB Stub + GDB-Stub aktivieren + + + + Port: + Port: + + + + Logging + Logging + + + + Global Log Filter + Globaler Log-Filter + + + + Show Log Console (Windows Only) + Log-Konsole öffnen (nur Windows) + + + + Open Log Location + Log-Verzeichnis öffnen + + + + Homebrew + Homebrew + + + + Arguments String + String-Argumente + + + + Graphics + Grafik + + + + When checked, the graphics API enters in a slower debugging mode + Wenn aktiviert, wird die Grafik-API in einem langsamen Debug-Modus gestartet. + + + + Enable Graphics Debugging + Grafik-Debugging aktivieren + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + Diese Option deaktiviert den Macro-JIT-Compiler. Dies wird die Geschwindigkeit verringern. + + + + Disable Macro JIT + Macro-JIT deaktivieren + + + + Dump + Speichern + + + + Enable Verbose Reporting Services + Ausführliche Service-Fehlerberichte aktivieren + + + + This will be reset automatically when yuzu closes. + Dies wird automatisch beim Schließen von yuzu zurückgesetzt. + + + + Advanced + Erweitert + + + + Kiosk (Quest) Mode + Kiosk(Quest)-Modus + + + + ConfigureDebugController + + + Configure Debug Controller + Debug-Controller einrichten + + + + Clear + Löschen + + + + Defaults + Standardwerte + + + + ConfigureDialog + + + yuzu Configuration + yuzu-Konfiguration + + + + + + + General + Allgemein + + + + + UI + Benutzeroberfläche + + + + Game List + Spieleliste + + + + + + + System + System + + + + + + Profiles + Nutzer + + + + + + Filesystem + Dateisystem + + + + + + + Controls + Steuerung + + + + + + Hotkeys + Hotkeys + + + + + + + CPU + CPU + + + + + + + + + Debug + Debug + + + + + + + Graphics + Grafik + + + + + Advanced + Erweitert + + + + GraphicsAdvanced + GraphicsAdvanced + + + + + + + Audio + Audio + + + + + + Web + Web + + + + + + Services + Services + + + + ConfigureFilesystem + + + Form + Form + + + + Storage Directories + Speicherverzeichnisse + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + SD-Karte + + + + Gamecard + Gamecard + + + + Path + Pfad + + + + Inserted + Eingelegt + + + + Current Game + Aktuelles Spiel + + + + Patch Manager + Patchmanager + + + + Dump Decompressed NSOs + Dekomprimierte NSOs dumpen + + + + Dump ExeFS + ExeFS dumpen + + + + Mod Load Root + Mod-Ladeverzeichnis + + + + Dump Root + Root dumpen + + + + Caching + Caching + + + + Cache Directory + Cache-Ordner + + + + Cache Game List Metadata + Metadaten der Spieleliste cachen + + + + + + + Reset Metadata Cache + Metadaten-Cache zurücksetzen + + + + Select Emulated NAND Directory... + Emulierten NAND-Ordner auswählen... + + + + Select Emulated SD Directory... + Emulierten SD-Ordner auswählen... + + + + Select Gamecard Path... + Gamecard-Pfad auswählen... + + + + Select Dump Directory... + Dump-Verzeichnis auswählen... + + + + Select Mod Load Directory... + Mod-Ladeverzeichnis auswählen... + + + + Select Cache Directory... + Cache-Ordner auswählen... + + + + The metadata cache is already empty. + Der Metadaten-Cache ist bereits leer. + + + + The operation completed successfully. + Der Vorgang wurde erfolgreich abgeschlossen. + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + Der Metadaten-Cache konnte nicht gelöscht werden. Er könnte in Gebrauch oder nicht vorhanden sein. + + + + ConfigureGeneral + + + Form + Form + + + + General + Allgemein + + + + Limit Speed Percent + Geschwindigkeit auf % festlegen + + + + % + % + + + + Multicore CPU Emulation + Multicore-CPU-Emulation + + + + Confirm exit while emulation is running + Schließen des Emulators bestätigen, falls ein Spiel läuft + + + + Prompt for user on game boot + Beim Spielstart nach Nutzer fragen + + + + Pause emulation when in background + Emulation im Hintergrund pausieren + + + + Hide mouse on inactivity + Mauszeiger verstecken + + + + ConfigureGraphics + + + Form + Form + + + + API Settings + API-Einstellungen + + + + API: + API: + + + + Device: + Gerät: + + + + Graphics Settings + Grafik-Einstellungen + + + + Use disk shader cache + Nutze Festplatten-Shader-Cache + + + + Use asynchronous GPU emulation + Asynchrone GPU-Emulation verwenden + + + + Aspect Ratio: + Seitenverhältnis: + + + + Default (16:9) + Standard (16:9) + + + + Force 4:3 + 4:3 erzwingen + + + + Force 21:9 + 21:9 erzwingen + + + + Stretch to Window + Auf Fenster anpassen + + + + + Use global background color + Globale Hintergrundfarbe verwenden + + + + Set background color: + Hintergrundfarbe: + + + + Background Color: + Hintergrundfarbe: + + + + OpenGL Graphics Device + OpenGL GPU + + + + ConfigureGraphicsAdvanced + + + Form + Form + + + + Advanced Graphics Settings + Erweiterte Grafik-Einstellungen + + + + Accuracy Level: + Genauigkeit der Emulation: + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + VSync verhindert Screen-Tearing, aber manche Grafikkarten haben eine schlechtere Leistung, wenn es aktiviert ist. Wenn du keinen Unterschied merkst, lasse es aktiviert. + + + + Use VSync (OpenGL only) + VSync nutzen (Nur OpenGL) + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + Aktivieren dieser Einstellung reduziert Stottern durch Shader. Aktiviert OpenGL Assembly-Shader auf unterstützten Nvidia-Karten (NV_gpu_program5 wird benötigt). Dieses Feature ist experimentell. + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + Nutze Assembly-Shader (experimentell, nur Nvidia OpenGL) + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + Nutze asynchrone Shader-Kompilierung. Dies kann Stottern durch Shader reduzieren. Dieses Feature ist experimentell. + + + + Use asynchronous shader building (experimental) + Nutze asynchrone Shader-Kompilierung (experimentell) + + + + Use Fast GPU Time + Nutze schnelle GPU-Zeit + + + + Anisotropic Filtering: + Anisotrope Filterung: + + + + Default + Standard + + + + 2x + 2x + + + + 4x + 4x + + + + 8x + 8x + + + + 16x + 16x + + + + ConfigureHotkeys + + + Hotkey Settings + Hotkey-Einstellungen + + + + Double-click on a binding to change it. + Doppelklicke auf eine Tastensequenz, um sie zu ändern. + + + + Clear All + Alle löschen + + + + Restore Defaults + Standardwerte wiederherstellen + + + + Action + Aktion + + + + Hotkey + Hotkey + + + + Context + Kontext + + + + + Conflicting Key Sequence + Tastensequenz bereits belegt + + + + The entered key sequence is already assigned to: %1 + Die eingegebene Sequenz ist bereits vergeben an: %1 + + + + Restore Default + Standardwerte wiederherstellen + + + + Clear + Löschen + + + + The default key sequence is already assigned to: %1 + Die Standard-Sequenz ist bereits vergeben an: %1 + + + + ConfigureInput + + + ConfigureInput + ConfigureInput + + + + + Player 1 + Spieler 1 + + + + + Player 2 + Spieler 2 + + + + + Player 3 + Spieler 3 + + + + + Player 4 + Spieler 4 + + + + + Player 5 + Spieler 5 + + + + + Player 6 + Spieler 6 + + + + + Player 7 + Spieler 7 + + + + + Player 8 + Spieler 8 + + + + + Advanced + Erweitert + + + + Console Mode + Konsolenmodus + + + + Docked + Im Dock + + + + Undocked + Handheld + + + + Vibration + Vibration + + + + % + % + + + + Motion + Bewegung + + + + Configure + Konfigurieren + + + + Controllers + Controller + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + 6 + 6 + + + + 7 + 7 + + + + 8 + 8 + + + + Connected + Verbunden + + + + Defaults + Standardwerte + + + + Clear + Löschen + + + + ConfigureInputAdvanced + + + Configure Input + Eingabe einrichten + + + + Joycon Colors + Joyconfarben + + + + Player 1 + Spieler 1 + + + + + + + + + + + L Body + Links + + + + + + + + + + + L Button + L-Taste + + + + + + + + + + + R Body + Rechts + + + + + + + + + + + R Button + R-Taste + + + + Player 2 + Spieler 2 + + + + Player 3 + Spieler 3 + + + + Player 4 + Spieler 4 + + + + Player 5 + Spieler 5 + + + + Player 6 + Spieler 6 + + + + Player 7 + Spieler 7 + + + + Player 8 + Spieler 8 + + + + Other + Weiteres + + + + Keyboard + Tastatur + + + + + Advanced + Erweitert + + + + Touchscreen + Touchscreen + + + + Mouse + Maus + + + + Motion / Touch + Bewegung / Touch + + + + + Configure + Konfigurieren + + + + Debug Controller + Debug Controller + + + + ConfigureInputPlayer + + + Configure Input + Eingabe einrichten + + + + Connect Controller + Controller verbinden + + + + + + Pro Controller + Pro Controller + + + + + Dual Joycons + Zwei Joycons + + + + + Left Joycon + Linker Joycon + + + + + Right Joycon + Rechter Joycon + + + + + Handheld + Handheld + + + + Input Device + Eingabegerät + + + + Any + Alle + + + + Keyboard/Mouse + Tastatur/Maus + + + + Profile + Profil + + + + Save + Speichern + + + + New + Neu + + + + Delete + Löschen + + + + Left Stick + Linker Analogstick + + + + + + + + + Up + Hoch + + + + + + + + + Left + Links + + + + + + + + + Right + Rechts + + + + + + + + + Down + Runter + + + + + + + Pressed + Gedrückt + + + + + + + Modifier + Modifikator + + + + + Range + Radius + + + + + % + % + + + + + Deadzone: 0% + Deadzone: 0% + + + + + Modifier Range: 0% + Modifikator-Radius: 0% + + + + D-Pad + Steuerkreuz + + + + + L + L + + + + + ZL + ZL + + + + + Minus + Minus + + + + + Capture + Screenshot + + + + + Plus + Plus + + + + + Home + Home + + + + + R + R + + + + + ZR + ZR + + + + + SL + SL + + + + + SR + SR + + + + Face Buttons + Tasten + + + + + X + X + + + + + Y + Y + + + + + A + A + + + + + B + B + + + + Right Stick + Rechter Analogstick + + + + + Deadzone: %1% + Deadzone: %1% + + + + + Modifier Range: %1% + Modifikator-Radius: %1% + + + + [waiting] + [wartet] + + + + ConfigureMotionTouch + + + Configure Motion / Touch + Bewegung / Touch einrichten + + + + Motion + Bewegung + + + + Motion Provider: + Quelle für Bewegung: + + + + Sensitivity: + Empfindlichkeit: + + + + Touch + Touch + + + + Touch Provider: + Quelle für Touch: + + + + Calibration: + Kalibrierung: + + + + (100, 50) - (1800, 850) + (100, 50) - (1800, 850) + + + + + + Configure + Einrichtung + + + + Use button mapping: + Tastenbelegung nutzen: + + + + CemuhookUDP Config + CemuhookUDP Konfiguration + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + Du kannst alle Cemuhook-kompatiblen UDP-Eingabequellen für Bewegung und Touch verwenden. + + + + Server: + Server: + + + + Port: + Port: + + + + Pad: + Pad: + + + + Pad 1 + Pad 1 + + + + Pad 2 + Pad 2 + + + + Pad 3 + Pad 3 + + + + Pad 4 + Pad 4 + + + + Learn More + Mehr erfahren + + + + + Test + Testen + + + + Mouse (Right Click) + Maus (Rechtsklick) + + + + + CemuhookUDP + CemuhookUDP + + + + Emulator Window + Emulator-Fenster + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Mehr erfahren</span></a> + + + + Testing + Testen + + + + Configuring + Einrichten + + + + Test Successful + Test erfolgreich + + + + Successfully received data from the server. + Daten wurden erfolgreich vom Server empfangen. + + + + Test Failed + Test fehlgeschlagen + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + Konnte keine Daten vom Server empfangen.<br>Prüfe bitte, dass der Server korrekt eingerichtet wurde und dass Adresse und Port korrekt sind. + + + + Citra + Citra + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + UDP-Test oder Kalibration wird gerade durchgeführt.<br>Bitte warte einen Moment. + + + + ConfigureMouseAdvanced + + + Configure Mouse + Maus einrichten + + + + Mouse Buttons + Maustasten + + + + Forward: + Vorwärts: + + + + Back: + Rückwärts: + + + + Left: + Links: + + + + Middle: + Mitte: + + + + Right: + Rechts: + + + + + Clear + Löschen + + + + Defaults + Standardwerte + + + + [not set] + [nicht belegt] + + + + Restore Default + Standardwert wiederherstellen + + + + [press key] + [Taste drücken] + + + + ConfigurePerGame + + + Dialog + Dialog + + + + Info + Info + + + + Name + Name + + + + Title ID + Titel ID + + + + Filename + Dateiname + + + + Format + Format + + + + Version + Version + + + + Size + Größe + + + + Developer + Entwickler + + + + Add-Ons + Add-Ons + + + + General + Allgemeines + + + + System + System + + + + Graphics + Grafik + + + + Adv. Graphics + Erw. Grafik + + + + Audio + Audio + + + + Properties + Einstellungen + + + + Use global configuration (%1) + Globale Konfiguration verwenden (%1) + + + + ConfigurePerGameAddons + + + Form + Form + + + + Patch Name + Patchname + + + + Version + Version + + + + ConfigureProfileManager + + + Form + Form + + + + Profile Manager + Nutzerverwaltung + + + + Current User + Aktueller Nutzer + + + + Username + Nutzername + + + + Set Image + Bild wählen + + + + Add + Hinzufügen + + + + Rename + Umbenennen + + + + Remove + Entfernen + + + + Profile management is available only when game is not running. + Die Nutzerverwaltung ist nur verfügbar, wenn kein Spiel aktiv ist. + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Enter Username + Nutzername eingeben + + + + Users + Nutzer + + + + Enter a username for the new user: + Gib einen Benutzernamen für den neuen Benutzer ein: + + + + Enter a new username: + Gib einen neuen Nutzernamen ein: + + + + Confirm Delete + Löschen bestätigen + + + + You are about to delete user with name "%1". Are you sure? + Du bist dabei, den Nutzer "%1" zu löschen. Bist du dir sicher? + + + + Select User Image + Profilbild wählen + + + + JPEG Images (*.jpg *.jpeg) + JPEG Bilddateien (*.jpg *.jpeg) + + + + Error deleting image + Fehler beim Löschen des Bildes + + + + Error occurred attempting to overwrite previous image at: %1. + Fehler beim Überschreiben des vorherigen Bildes bei: %1 + + + + Error deleting file + Fehler beim Löschen der Datei + + + + Unable to delete existing file: %1. + Konnte die bestehende Datei "%1" nicht löschen. + + + + Error creating user image directory + Fehler beim Erstellen des Ordners für die Profilbilder + + + + Unable to create directory %1 for storing user images. + Konnte Ordner "%1" nicht erstellen, um Profilbilder zu speichern. + + + + Error copying user image + Fehler beim Kopieren des Profilbildes + + + + Unable to copy image from %1 to %2 + Das Bild konnte nicht von "%1" nach "%2" kopiert werden + + + + ConfigureService + + + Form + Form + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + BCAT ist Nintendos Methode, Daten an Spiele zu senden, um die Community zu involvieren und zusätzliche Inhalte freizuschalten. + + + + BCAT Backend + BCAT Backend + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Erfahre mehr über BCAT, Boxcat, und aktuelle Events</span></a></p></body></html> + + + + The boxcat service is offline or you are not connected to the internet. + Der Boxcat Service ist offline oder du bist nicht mit dem Internet verbunden. + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + Bei der Verarbeitung der Boxcat-Eventdaten ist ein Fehler aufgetreten. Kontaktiere die yuzu-Entwickler. + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + Die Version von yuzu, die du verwendest, ist entweder zu neu oder zu alt für den Server. Versuche auf die neueste offizielle Version von yuzu zu updaten. + + + + + There are currently no events on boxcat. + Es gibt zurzeit keine Events auf Boxcat. + + + + + Current Boxcat Events + Momentane Boxcat-Events + + + + Yuzu is retrieving the latest boxcat status... + Yuzu lädt den neuesten Boxcat-Status... + + + + ConfigureSystem + + + Form + Form + + + + System Settings + Systemeinstellungen + + + + Region: + Region: + + + + Auto + Auto + + + + Default + Standard + + + + CET + CET + + + + CST6CDT + CST6CDT + + + + Cuba + Kuba + + + + EET + EET + + + + Egypt + Ägypten + + + + Eire + Eire + + + + EST + EST + + + + EST5EDT + EST5EDT + + + + GB + GB + + + + GB-Eire + GB-Eire + + + + GMT + GMT + + + + GMT+0 + GMT+0 + + + + GMT-0 + GMT-0 + + + + GMT0 + GMT0 + + + + Greenwich + Greenwich + + + + Hongkong + Hongkong + + + + HST + HST + + + + Iceland + Island + + + + Iran + Iran + + + + Israel + Israel + + + + Jamaica + Jamaika + + + + + Japan + Japan + + + + Kwajalein + Kwajalein + + + + Libya + Libyen + + + + MET + MET + + + + MST + MST + + + + MST7MDT + MST7MDT + + + + Navajo + Navajo + + + + NZ + NZ + + + + NZ-CHAT + NZ-CHAT + + + + Poland + Polen + + + + Portugal + Portugal + + + + PRC + PRC + + + + PST8PDT + PST8PDT + + + + ROC + ROC + + + + ROK + ROK + + + + Singapore + Singapur + + + + Turkey + Türkei + + + + UCT + UCT + + + + Universal + Universal + + + + UTC + UTC + + + + W-SU + W-SU + + + + WET + WET + + + + Zulu + Zulu + + + + USA + USA + + + + Europe + Europa + + + + Australia + Australien + + + + China + China + + + + Korea + Korea + + + + Taiwan + Taiwan + + + + Time Zone: + Zeitzone: + + + + Note: this can be overridden when region setting is auto-select + Anmerkung: Diese Einstellung kann überschrieben werden, falls deine Region auf "auto-select" eingestellt ist. + + + + Japanese (日本語) + Japanisch (日本語) + + + + English + Englisch + + + + French (français) + Französisch (français) + + + + German (Deutsch) + Deutsch (German) + + + + Italian (italiano) + Italienisch (italiano) + + + + Spanish (español) + Spanisch (español) + + + + Chinese + Chinesisch + + + + Korean (한국어) + Koreanisch (한국어) + + + + Dutch (Nederlands) + Niederländisch (Nederlands) + + + + Portuguese (português) + Portugiesisch (português) + + + + Russian (Русский) + Russisch (Русский) + + + + Taiwanese + Taiwanesisch + + + + British English + Britisches Englisch + + + + Canadian French + Kanadisches Französisch + + + + Latin American Spanish + Lateinamerikanisches Spanisch + + + + Simplified Chinese + Vereinfachtes Chinesisch + + + + Traditional Chinese (正體中文) + Traditionelles Chinesisch (正體中文) + + + + Custom RTC + Benutzerdefinierte Echtzeituhr + + + + Language + Sprache + + + + RNG Seed + RNG Seed + + + + Mono + Mono + + + + Stereo + Stereo + + + + Surround + Surround + + + + Console ID: + Konsolen ID: + + + + Sound output mode + Soundausgabe + + + + d MMM yyyy h:mm:ss AP + d MMM yyyy h:mm:ss AP + + + + Regenerate + Neu generieren + + + + System settings are available only when game is not running. + Die Systemeinstellungen sind nur verfügbar, wenn kein Spiel aktiv ist. + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + Dieser Vorgang wird deine momentane "virtuelle Switch" mit einer Neuen ersetzen. Deine momentane "virtuelle Switch" wird nicht wiederherstellbar sein. Dies könnte einige unerwartete Effekte in manchen Spielen mit sich bringen. Zudem könnte der Prozess fehlschlagen, wenn zu alte Daten verwendet werden. Möchtest du den Vorgang fortsetzen? + + + + Warning + Warnung + + + + Console ID: 0x%1 + Konsolen ID: 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + Touchscreen-Belegung einrichten + + + + Mapping: + Belegung: + + + + New + Neu + + + + Delete + Löschen + + + + Rename + Umbenennen + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + Klicke das untere Feld um einen Punkt hinzuzufügen und drücke dann eine Taste, die diesen Punkt auslösen soll. +Ziehe die Punkte mit deiner Maus, um ihre Position zu ändern. Doppelklicke auf die Tabelle, um die Belegung des Punktes zu ändern. + + + + Delete Point + Punkt löschen + + + + Button + Knopf + + + + X + X axis + X + + + + Y + Y axis + Y + + + + New Profile + Neues Profil + + + + Enter the name for the new profile. + Neuen Namen für das Profil eingeben. + + + + Delete Profile + Profil löschen + + + + Delete profile %1? + Profil "%1" löschen? + + + + Rename Profile + Profil umbenennen + + + + New name: + Neuer Name: + + + + [press key] + [Knopf drücken] + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + Touchscreen einrichten: + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + Achtung: Die Einstellungen auf dieser Seite haben Einfluss auf yuzus Touchscreen-Emulation. Sie zu ändern könnte zu unerwünschtem Verhalten, wie zu einem Ausfall des Touchscreens, führen. Du solltest sie nur verändern, falls du weißt, was du tust. + + + + Touch Parameters + Berührungsparameter + + + + Touch Diameter Y + Berührungsdurchmesser Y + + + + Finger + Finger + + + + Touch Diameter X + Berührungsdurchmesser X + + + + Rotational Angle + Drehwinkel + + + + Restore Defaults + Standardwerte wiederherstellen + + + + ConfigureUi + + + Form + Form + + + + General + Allgemein + + + + Note: Changing language will apply your configuration. + Anmerkung: Das Ändern der Sprache wird deine Konfiguration speichern. + + + + Interface language: + Sprache der Benutzeroberfläche: + + + + Theme: + Theme: + + + + Game List + Spieleliste + + + + Show Add-Ons Column + Add-On Spalte anzeigen + + + + Icon Size: + Icongröße: + + + + Row 1 Text: + Zeile 1 Text: + + + + Row 2 Text: + Zeile 2 Text: + + + + Screenshots + Screenshots + + + + Ask Where To Save Screenshots (Windows Only) + Frage nach, wo Screenshots gespeichert werden sollen (Nur Windows) + + + + Screenshots Path: + Screenshotpfad + + + + ... + ... + + + + Select Screenshots Path... + Screenshotpfad auswählen... + + + + <System> + <System> + + + + English + Englisch + + + + ConfigureWeb + + + Form + Form + + + + yuzu Web Service + yuzu Web Service + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + Mit dem Bereitstellen deines Benutzernamens und Tokens erlaubst du yuzu, zusätzliche Nutzungsdaten zu sammeln. Diese könnten auch Informationen beinhalten, die dich identifizieren könnten. + + + + + Verify + Überprüfen + + + + Sign up + Registrieren + + + + Token: + Token: + + + + Username: + Nutzername: + + + + What is my token? + Was ist mein Token? + + + + Telemetry + Telemetrie + + + + Share anonymous usage data with the yuzu team + Teile anonyme Nutzungsdaten mit dem yuzu-Team + + + + Learn more + Mehr erfahren + + + + Telemetry ID: + Telemetrie-ID: + + + + Regenerate + Neu generieren + + + + Discord Presence + Discord-Präsenz + + + + Show Current Game in your Discord Status + Zeig dein momentanes Spiel in deinem Discord-Status + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Mehr erfahren</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Registrieren</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">Was ist mein Token?</span></a> + + + + + Telemetry ID: 0x%1 + Telemetrie-ID: 0x%1 + + + + + Unspecified + Nicht spezifiziert + + + + Token not verified + Token nicht verifiziert + + + + Token was not verified. The change to your token has not been saved. + Token wurde nicht verfiziert. Die Änderungen an deinem Token wurden nicht gespeichert. + + + + Verifying... + Verifizieren... + + + + Verification failed + Verifizierung fehlgeschlagen + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + Verifizierung fehlgeschlagen. Prüfe ob dein Nutzername und Token richtig eingegeben wurden und ob deine Internetverbindung korrekt funktioniert. + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonyme Daten werden gesammelt,</a> um yuzu zu verbessern.<br/><br/>Möchstest du deine Nutzungsdaten mit uns teilen? + + + + Telemetry + Telemetrie + + + + Text Check Failed + Textprüfung fehlgeschlagen + + + + Loading Web Applet... + Lade Web-Applet... + + + + Exit Web Applet + Web-Applet verlassen + + + + Exit + Verlassen + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + Um das Web-Applet zu verlassen, verwende die im Spiel enthaltenen Steuerelemente, wähle die die Option 'Web-Applet beenden' in der Menüleiste oder drücke die 'Enter'-Taste. + + + + Web Applet + Web-Applet + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + Diese Version von yuzu wurde ohne QtWebEngine-Unterstützung kompiliert, was bedeutet, dass yuzu das angeforderte Spielhandbuch oder die Webseite nicht richtig anzeigen kann. + + + + The amount of shaders currently being built + Wie viele Shader im Moment kompiliert werden + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + Derzeitige Emulations-Geschwindigkeit. Werte höher oder niedriger als 100% zeigen, dass die Emulation scheller oder langsamer läuft als auf einer Switch. + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + Wie viele Bilder pro Sekunde angezeigt werden variiert von Spiel zu Spiel und von Szene zu Szene. + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + Zeit, die gebraucht wurde, um einen Switch-Frame zu emulieren, ohne Framelimit oder V-Sync. Für eine Emulation bei voller Geschwindigkeit sollte dieser Wert bei höchstens 16.67ms liegen. + + + + DOCK + DOCK + + + + ASYNC + ASYNC + + + + MULTICORE + MEHRKERN + + + + VULKAN + VULKAN + + + + OPENGL + OPENGL + + + + Clear Recent Files + Zuletzt geladene Dateien leeren + + + + Warning Outdated Game Format + Warnung veraltetes Spielformat + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + Du nutzt eine entpackte ROM-Ordnerstruktur für dieses Spiel, welches ein veraltetes Format ist und von anderen Formaten wie NCA, NAX, XCI oder NSP überholt wurde. Entpackte ROM-Ordner unterstützen keine Icons, Metadaten oder Updates.<br><br><a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>Unser Wiki</a> enthält eine Erklärung der verschiedenen Formate, die yuzu unterstützt. Diese Nachricht wird nicht noch einmal angezeigt. + + + + + Error while loading ROM! + ROM konnte nicht geladen werden! + + + + The ROM format is not supported. + ROM-Format wird nicht unterstützt. + + + + An error occurred initializing the video core. + Beim Initialisieren des Video-Kerns ist ein Fehler aufgetreten. + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + Beim Laden des Video-Kerns trat ein Fehler auf. Bitte prüfe die Log-Dateien auf mögliche Fehlermeldungen. Weitere Informationen: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Wie kann ich eine Log-Datei hochladen?</a>. Stelle sicher, dass die aktuellsten Grafiktreiber für deine Grafikkarte installiert sind. + + + + Error while loading ROM! + Fehler beim Laden des ROMs! + + + + An unknown error occurred. Please see the log for more details. + Ein unbekannter Fehler ist aufgetreten. Bitte prüfe die Log-Dateien auf mögliche Fehlermeldungen. + + + + Start + Start + + + + Save Data + Speicherdaten + + + + Mod Data + Mod-Daten + + + + Error Opening %1 Folder + Konnte Verzeichnis %1 nicht öffnen + + + + + Folder does not exist! + Verzeichnis existiert nicht! + + + + Error Opening Transferable Shader Cache + Fehler beim Öffnen des transferierbaren Shader-Caches + + + + + A shader cache for this title does not exist. + Es existiert kein Shader-Cache für diesen Titel. + + + + Contents + Inhalte + + + + Update + Update + + + + DLC + DLC + + + + Remove Entry + Eintrag entfernen + + + + Remove Installed Game %1? + Installiertes Spiel %1 entfernen? + + + + + + + + Successfully Removed + Erfolgreich entfernt + + + + Successfully removed the installed base game. + Das Spiel wurde entfernt. + + + + + + Error Removing %1 + Fehler beim Entfernen von %1 + + + + The base game is not installed in the NAND and cannot be removed. + Das Spiel ist nicht im NAND installiert und kann somit nicht entfernt werden. + + + + Successfully removed the installed update. + Das Update wurde entfernt. + + + + There is no update installed for this title. + Es ist kein Update für diesen Titel installiert. + + + + There are no DLC installed for this title. + Es sind keine DLC für diesen Titel installiert. + + + + Successfully removed %1 installed DLC. + %1 DLC entfernt. + + + + Delete Transferable Shader Cache? + Transferierbaren Shader-Cache entfernen? + + + + Remove Custom Game Configuration? + Spiel-Einstellungen entfernen? + + + + Remove File + Datei entfernen + + + + + Error Removing Transferable Shader Cache + Fehler beim Entfernen + + + + Successfully removed the transferable shader cache. + Der transferierbare Shader-Cache wurde entfernt. + + + + Failed to remove the transferable shader cache. + Konnte den transferierbaren Shader-Cache nicht entfernen. + + + + + Error Removing Custom Configuration + Fehler beim Entfernen + + + + A custom configuration for this title does not exist. + Es existieren keine Spiel-Einstellungen für dieses Spiel. + + + + Successfully removed the custom game configuration. + Die Spiel-Einstellungen wurden entfernt. + + + + Failed to remove the custom game configuration. + Die Spiel-Einstellungen konnten nicht entfernt werden. + + + + RomFS Extraction Failed! + RomFS-Extraktion fehlgeschlagen! + + + + There was an error copying the RomFS files or the user cancelled the operation. + Das RomFS konnte wegen eines Fehlers oder Abbruchs nicht kopiert werden. + + + + Full + Komplett + + + + Skeleton + Nur Ordnerstruktur + + + + Select RomFS Dump Mode + RomFS Extraktions-Modus auswählen + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + Bitte wähle, wie das RomFS gespeichert werden soll.<br>"Full" wird alle Dateien des Spiels extrahieren, während <br>"Skeleton" nur die Ordnerstruktur erstellt. + + + + Extracting RomFS... + RomFS wird extrahiert... + + + + + Cancel + Abbrechen + + + + RomFS Extraction Succeeded! + RomFS wurde extrahiert! + + + + The operation completed successfully. + Der Vorgang wurde erfolgreich abgeschlossen. + + + + Error Opening %1 + Fehler beim Öffnen von %1 + + + + Select Directory + Verzeichnis auswählen + + + + Properties + Einstellungen + + + + The game properties could not be loaded. + Spiel-Einstellungen konnten nicht geladen werden. + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Switch-Programme (%1);;Alle Dateien (*.*) + + + + Load File + Datei laden + + + + Open Extracted ROM Directory + Öffne das extrahierte ROM-Verzeichnis + + + + Invalid Directory Selected + Ungültiges Verzeichnis ausgewählt + + + + The directory you have selected does not contain a 'main' file. + Das Verzeichnis, das du ausgewählt hast, enthält keine 'main'-Datei. + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + Installierbares Switch-Programm (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submissions Package (*.nsp);;NX Cartridge Image (*.xci) + + + + Install Files + Dateien installieren + + + + Installing file "%1"... + Datei "%1" wird installiert... + + + + Install Results + NAND-Installation + + + + System Application + Systemanwendung + + + + System Archive + Systemarchiv + + + + System Application Update + Systemanwendungsupdate + + + + Firmware Package (Type A) + Firmware-Paket (Typ A) + + + + Firmware Package (Type B) + Firmware-Paket (Typ B) + + + + Game + Spiel + + + + Game Update + Spiel-Update + + + + Game DLC + Spiel-DLC + + + + Delta Title + Delta-Titel + + + + Select NCA Install Type... + Wähle den NCA-Installationstyp aus... + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + Bitte wähle, als was diese NCA installiert werden soll: +(In den meisten Fällen sollte die Standardeinstellung 'Spiel' ausreichen.) + + + + Failed to Install + Installation fehlgeschlagen + + + + The title type you selected for the NCA is invalid. + Der Titel-Typ, den du für diese NCA ausgewählt hast, ist ungültig. + + + + File not found + Datei nicht gefunden + + + + File "%1" not found + Datei "%1" nicht gefunden + + + + + Continue + Fortsetzen + + + + Error Display + Fehleranzeige + + + + Missing yuzu Account + Fehlender yuzu-Account + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + Um einen Kompatibilitätsbericht abzuschicken, musst du einen yuzu-Account mit yuzu verbinden.<br><br/>Um einen yuzu-Account zu verbinden, prüfe die Einstellungen unter Emulation &gt; Konfiguration &gt; Web. + + + + Error opening URL + Fehler beim Öffnen der URL + + + + Unable to open the URL "%1". + URL "%1" kann nicht geöffnet werden. + + + + Amiibo File (%1);; All Files (*.*) + Amiibo-Datei (%1);; Alle Dateien (*.*) + + + + Load Amiibo + Amiibo laden + + + + Error opening Amiibo data file + Fehler beim Öffnen der Amiibo Datei + + + + Unable to open Amiibo file "%1" for reading. + Die Amiibo Datei "%1" konnte nicht zum Lesen geöffnet werden. + + + + Error reading Amiibo data file + Fehler beim Lesen der Amiibo-Daten + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + Amiibo-Daten können nicht vollständig gelesen werden. Es wurde erwartet, dass %1 Bytes gelesen werden, es konnten aber nur %2 Bytes gelesen werden. + + + + Error loading Amiibo data + Fehler beim Laden der Amiibo-Daten + + + + Unable to load Amiibo data. + Amiibo-Daten konnten nicht geladen werden. + + + + Capture Screenshot + Screenshot aufnehmen + + + + PNG Image (*.png) + PNG Bild (*.png) + + + + Speed: %1% / %2% + Geschwindigkeit: %1% / %2% + + + + Speed: %1% + Geschwindigkeit: %1% + + + + Game: %1 FPS + Spiel: %1 FPS + + + + Frame: %1 ms + Frame: %1 ms + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + Das Spiel, dass du versuchst zu spielen, benötigt bestimmte Dateien von deiner Switch-Konsole.<br/><br/>Um Informationen darüber zu erhalten, wie du diese Dateien von deiner Switch extrahieren kannst, prüfe bitte die folgenden Wiki-Seiten: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>System-Archive und Shared Fonts von einer Switch-Konsole extrahieren</a>.<br/><br/>Willst du zur Spiele-Liste zurückkehren und die Emulation beenden? Das Fortsetzen der Emulation könnte zu Spielfehlern, Abstürzen, beschädigten Speicherdaten und anderen Fehlern führen. + + + + yuzu was unable to locate a Switch system archive. %1 + yuzu konnte ein Switch Systemarchiv nicht finden. %1 + + + + yuzu was unable to locate a Switch system archive: %1. %2 + yuzu konnte ein Switch Systemarchiv nicht finden: %1. %2 + + + + System Archive Not Found + Systemarchiv nicht gefunden + + + + System Archive Missing + Systemarchiv fehlt + + + + yuzu was unable to locate the Switch shared fonts. %1 + yuzu konnte die Switch Shared Fonts nicht finden. %1 + + + + Shared Fonts Not Found + Shared Fonts nicht gefunden + + + + Shared Font Missing + Shared Font fehlt + + + + Fatal Error + Schwerwiegender Fehler + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + Ein schwerwiegender Fehler ist aufgetreten, bitte prüfe die Log-Dateien auf mögliche Fehlermeldungen. Weitere Informationen: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Wie kann ich eine Log-Datei hochladen</a>.<br/><br/>Willst du zur Spiele-Liste zurückkehren und die Emulation beenden? Das Fortsetzen der Emulation könnte zu Spielfehlern, Abstürzen, beschädigten Speicherdaten und anderen Fehlern führen. + + + + Fatal Error encountered + Fataler Fehler aufgetreten + + + + Confirm Key Rederivation + Schlüsselableitung bestätigen + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + Du bist im Begriff, alle Schlüssel neu abzuleiten. Falls du nicht weißt, was das heißt oder was du hier tust, könnte dieser Prozess möglicherweise destruktiv sein. Bitte stelle sicher, dass du wirklich fortfahren willst und optional Sicherungen deiner Daten machst. + +Dieser Prozess wird die generierten Schlüsseldateien löschen und die Schlüsselableitung neu starten. + + + + Missing fuses + Fuses fehlen + + + + - Missing BOOT0 + - BOOT0 fehlt + + + + - Missing BCPKG2-1-Normal-Main + - BCPKG2-1-Normal-Main fehlt + + + + - Missing PRODINFO + - PRODINFO fehlt + + + + Derivation Components Missing + Derivationskomponenten fehlen + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + Einige Komponenten, die yuzu benötigt, um Schlüssel zu generieren, wurden nicht gefunden. <br>Bitte folge <a href='https://yuzu-emu.org/help/quickstart/'>dem yuzu Schnellstart-Guide</a> um alle deine Schlüssel und Spiele zu übertragen.<br><br><small>(%1)</small> + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + Schlüssel werden abgeleitet... +Dies könnte, je nach Leistung deines Systems, bis zu einer Minute dauern. + + + + Deriving Keys + Schlüsselableitung + + + + Select RomFS Dump Target + RomFS wählen + + + + Please select which RomFS you would like to dump. + Wähle, welches RomFS du speichern möchtest. + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + Bist du sicher, dass du yuzu beenden willst? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + Bist du sicher, dass du die Emulation stoppen willst? Jeder nicht gespeicherte Fortschritt geht verloren. + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + Die derzeit laufende Anwendung hat yuzu aufgefordert, sich nicht zu beenden. + +Möchtest du dies umgehen und sie trotzdem beenden? + + + + GRenderWindow + + + OpenGL not available! + OpenGL nicht verfügbar! + + + + yuzu has not been compiled with OpenGL support. + yuzu wurde nicht mit OpenGL-Unterstützung kompiliert. + + + + Vulkan not available! + Vulkan nicht verfügbar! + + + + yuzu has not been compiled with Vulkan support. + yuzu wurde nicht mit Vulkan-Unterstützung kompiliert. + + + + Error while initializing OpenGL 4.3! + Fehler beim Initialisieren von OpenGL 4.3! + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + Deine Grafikkarte unterstützt kein OpenGL 4.3, oder du hast nicht den neusten Treiber installiert. + + + + Error while initializing OpenGL! + Fehler beim Initialisieren von OpenGL! + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + Deine GPU unterstützt anscheinend nicht eine oder mehrere von yuzu benötigte OpenGL-Erweiterungen. Bitte stelle sicher, dass du den neusten Grafiktreiber für deine GPU installiert hast.<br><br>Nicht unterstützte Erweiterungen:<br> + + + + GameList + + + + Name + Name + + + + + Compatibility + Kompatibilität + + + + + Add-ons + Add-ons + + + + + + + File type + Dateityp + + + + + + + Size + Größe + + + + Open Save Data Location + Spielstand-Verzeichnis öffnen + + + + Open Mod Data Location + Mod-Verzeichnis öffnen + + + + Open Transferable Shader Cache + Transferierbaren Shader-Cache öffnen + + + + Remove + Entfernen + + + + Remove Installed Update + Installiertes Update entfernen + + + + Remove All Installed DLC + Alle installierten DLCs entfernen + + + + Remove Shader Cache + Shader-Cache entfernen + + + + Remove Custom Configuration + Spiel-Einstellungen entfernen + + + + Remove All Installed Contents + Alle installierten Inhalte entfernen + + + + Dump RomFS + RomFS speichern + + + + Copy Title ID to Clipboard + Title-ID in die Zwischenablage kopieren + + + + Navigate to GameDB entry + GameDB-Eintrag öffnen + + + + Properties + Eigenschaften + + + + Scan Subfolders + Unterordner scannen + + + + Remove Game Directory + Spieleverzeichnis entfernen + + + + ▲ Move Up + ▲ Nach Oben + + + + ▼ Move Down + ▼ Nach Unten + + + + Open Directory Location + Verzeichnis öffnen + + + + GameListItemCompat + + + Perfect + Perfekt + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + Das Spiel funktioniert fehlerfrei, ohne Audio- oder Grafikfehler, und sämtliche getestete Funktionalität funktioniert wie vorhergesehen ohne Workarounds. + + + + Great + Gut + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + Das Spiel funktioniert mit kleineren Audio- oder Grafikfehlern und lässt sich bis zum Ende durchspielen. +Eventuell sind einige Workarounds notwendig. + + + + Okay + Okay + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + Das Spiel funktioniert mit größern Audio- oder Grafikfehlern, +lässt sich aber mit Workarounds bis zum Ende durchspielen. + + + + Bad + Schlecht + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + Spiel funktioniert zwar, aber nur mit starken Audio- oder Grafikfehlern. Manche Bereiche des Spiels können selbst mit Workarounds nicht abgeschlossen werden. + + + + Intro/Menu + Intro/Menü + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + Das Spiel ist wegen schwerwiegenden Audio- oder Grafikfehlern unspielbar. Das Spiel lässt sich lediglich starten. + + + + Won't Boot + Startet nicht + + + + The game crashes when attempting to startup. + Das Spiel stürzt beim Versuch zu starten ab. + + + + Not Tested + Nicht getestet + + + + The game has not yet been tested. + Spiel wurde noch nicht getestet. + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + Doppelklicke, um einen neuen Ordner zur Spieleliste hinzuzufügen. + + + + GameListSearchField + + + Filter: + Filter: + + + + Enter pattern to filter + Wörter zum Filtern eingeben + + + + InstallDialog + + + Please confirm these are the files you wish to install. + Bitte bestätige, dass du diese Dateien installieren willst. + + + + Installing an Update or DLC will overwrite the previously installed one. + Wenn du ein Update oder DLC installierst, wirst du die vorher installierten überschreiben. + + + + Install + Installieren + + + + Install Files to NAND + Dateien im NAND installieren + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + Shader 387 / 1628 wird geladen... + + + + Loading Shaders %v out of %m + Shader %v / %m wird geladen... + + + + Estimated Time 5m 4s + Geschätzte Zeit: 5m 4s + + + + Loading... + Lädt... + + + + Loading Shaders %1 / %2 + Shader %1 / %2 wird geladen... + + + + Launching... + Starten... + + + + Estimated Time %1 + Geschätzte Zeit: %1 + + + + MainWindow + + + yuzu + yuzu + + + + &File + &Datei + + + + Recent Files + Letzte Dateien + + + + &Emulation + &Emulation + + + + &View + &Anzeige + + + + Debugging + Debugging + + + + Tools + Werkzeuge + + + + &Help + &Hilfe + + + + Install Files to NAND... + Dateien im NAND installieren... + + + + Load File... + Datei laden... + + + + Load Folder... + Verzeichnis laden... + + + + E&xit + S&chließen + + + + &Start + &Start + + + + &Pause + &Pause + + + + &Stop + &Stop + + + + Reinitialize keys... + Schlüssel neu initialisieren... + + + + About yuzu + Über yuzu + + + + Single Window Mode + Einzelfenster-Modus + + + + Configure... + Einstellungen... + + + + Display Dock Widget Headers + Dock-Widget-Header anzeigen + + + + Show Filter Bar + Filterleiste anzeigen + + + + Show Status Bar + Statusleiste anzeigen + + + + Reset Window Size + Fenstergröße zurücksetzen + + + + Fullscreen + Vollbild + + + + Restart + Neustart + + + + Load Amiibo... + Amiibo laden... + + + + Report Compatibility + Kompatibilität berichten + + + + Open Mods Page + Mods-Seite öffnen + + + + Open Quickstart Guide + Schnellstart-Anleitung öffnen + + + + FAQ + FAQ + + + + Open yuzu Folder + yuzu-Verzeichnis öffnen + + + + Capture Screenshot + Screenshot aufnehmen + + + + Configure Current Game.. + Spiel-Einstellungen ändern... + + + + MicroProfileDialog + + + MicroProfile + MicroProfile + + + + QObject + + + Installed SD Titles + Installierte SD-Titel + + + + Installed NAND Titles + Installierte NAND-Titel + + + + System Titles + Systemtitel + + + + Add New Game Directory + Neues Spieleverzeichnis hinzufügen + + + + + + Shift + Shift + + + + + + Ctrl + Strg + + + + + + Alt + Alt + + + + + + + [not set] + [nicht gesetzt] + + + + + + Hat %1 %2 + Hat %1 %2 + + + + + + Axis %1%2 + Achse %1%2 + + + + + + Button %1 + Taste %1 + + + + + + + [unknown] + [unbekannt] + + + + + Click 0 + Klick 0 + + + + + Click 1 + Klick 1 + + + + + Click 2 + Klick 2 + + + + + Click 3 + Klick 3 + + + + + Click 4 + Klick 4 + + + + GC Axis %1%2 + GC Achse %1%2 + + + + GC Button %1 + GC Knopf %1 + + + + + [unused] + [unbenutzt] + + + + + Axis %1 + Achse %1 + + + + + GC Axis %1 + GC Achse %1 + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + Ein Fehler ist aufgetreten. +Bitte versuche es noch einmal oder kontaktiere den Entwickler der Software. + +Fehlercode: %1-%2 (0x%3) + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + Ein Fehler ist in %1 bei %2 aufgetreten. +Bitte versuche es noch einmal oder kontaktiere den Entwickler der Software. + +Fehlercode: %3-%4 (0x%5) + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + Ein Fehler ist aufgetreten. +Fehlercode: %1-%2 (0x%3) + +%4 + +%5 + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + Wähle einen Benutzer aus: + + + + Users + Nutzer + + + + Profile Selector + Profilauswahl + + + + QtSoftwareKeyboardDialog + + + Enter text: + Text eingeben: + + + + Software Keyboard + Software-Tastatur + + + + SequenceDialog + + + Enter a hotkey + Hotkey eingeben + + + + WaitTreeCallstack + + + Call stack + Stack aufrufen + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + Warten auf Mutex 0x%1 + + + + has waiters: %1 + has waiters: %1 + + + + owner handle: 0x%1 + owner handle: 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + Warten auf alle Objekte + + + + waiting for one of the following objects + Warten auf eines der folgenden Objekte + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + [%1]%2 %3 + + + + waited by no thread + von keinem Thread pausiert + + + + WaitTreeThread + + + + running + läuft + + + + ready + bereit + + + + + paused + pausiert + + + + waiting for HLE return + warten auf HLE Rückgabe + + + + sleeping + schläft + + + + waiting for IPC reply + Warten auf IPC-Antwort + + + + waiting for objects + Warten auf Objekte + + + + waiting for mutex + Warten auf Mutex + + + + waiting for condition variable + wartet auf condition variable + + + + waiting for address arbiter + Warten auf den Adressarbiter + + + + dormant + ruhend + + + + dead + tot + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + ideal + + + + core %1 + Kern %1 + + + + Unknown processor %1 + Unbekannter Prozessor %1 + + + + processor = %1 + Prozessor = %1 + + + + ideal core = %1 + ideal core = %1 + + + + affinity mask = %1 + Affinitätsmaske = %1 + + + + thread id = %1 + Thread-ID = %1 + + + + priority = %1(current) / %2(normal) + Priorität = %1(aktuell) / %2(normal) + + + + last running ticks = %1 + Letzte laufende Ticks = %1 + + + + not waiting for mutex + nicht auf Mutex warten + + + + WaitTreeThreadList + + + waited by thread + gewartet von Thread + + + + WaitTreeWidget + + + Wait Tree + Wait Tree + + + \ No newline at end of file diff --git a/dist/languages/es.ts b/dist/languages/es.ts new file mode 100644 index 000000000..437817561 --- /dev/null +++ b/dist/languages/es.ts @@ -0,0 +1,4757 @@ + + + AboutDialog + + + About yuzu + Acerca de yuzu + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu es un emulador experimental de código abierto de Nintendo Switch licenciado bajo GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">Este software no debe ser utilizado para jugar juegos que no hayas obtenido legalmente.</span></p></body></html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Sitio web</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Código fuente</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contribuidor</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Licencia</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; es una marca registrada de Nintendo. yuzu no esta afiliado con Nintendo de ninguna manera.</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + Comunicando con el servidor... + + + + Cancel + Cancelar + + + + Touch the top left corner <br>of your touchpad. + Toque la esquina superior izquierda<br>de su trackpad. + + + + Now touch the bottom right corner <br>of your touchpad. + Ahora toque la esquina inferior derecha <br>de su trackpad. + + + + Configuration completed! + ¡Configuración completa! + + + + OK + OK + + + + CompatDB + + + Report Compatibility + Informar de compatibilidad + + + + + Report Game Compatibility + Informar de compatibilidad del juego + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">SI decides presentar una prueba a la </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Lista de Compatibilidad de yuzu</span></a><span style=" font-size:10pt;">, La siguiente información será obtenida y mostrada en el sitio web:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informacion de Hardware (CPU / GPU / Sistema Operativo)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qué versión de yuzu estas utilizando</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">La cuenta de yuzu conectada</li></ul></body></html> + + + + Perfect + Perfecto + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>El juego funciona a la perfección sin ningún problema gráfico o de audio.</p></body></html> + + + + Great + Excelente + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>El juego funciona con fallos gráficos o de audio menores y es jugable desde el principio hasta el final. Puede requerir de soluciones temporales.</p></body></html> + + + + Okay + Bien + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>El juego funciona con importantes fallos gráficos o de audio, pero es jugable desde el principio hasta el final con soluciones temporales.</p></body></html> + + + + Bad + Mal + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>El juego funciona, pero tiene errores gráficos o de audio. Imposible progresar en ciertas áreas debido a errores incluso con soluciones temporales.</p></body></html> + + + + Intro/Menu + Intro/Menú + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>No es posible jugar a este juego debido a importantes errores gráficos o de audio. Es imposible avanzar mas allá de la pantalla de inicio.</p></body></html> + + + + Won't Boot + No inicia + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>El juego se bloquea al intentar iniciar.</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <html><head/><body><p>Independientemente de la velocidad o del rendimiento, ¿cómo definiría su experiencia con el juego de principio a fin en esta versión de yuzu?</p></body></html> + + + + Thank you for your submission! + Gracias por su contribución. + + + + Submitting + Enviando + + + + Communication error + Error de comunicación. + + + + An error occured while sending the Testcase + Ha ocurrido un error mientras se mandaba el caso de prueba + + + + Next + Siguiente + + + + ConfigureAudio + + + Audio + Audio + + + + Output Engine: + Motor de Salida: + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + Este efecto de post-procesado ajusta la velocidad del audio para igualarla a la velocidad de emulación y así prevenir parones en el audio. No obstante, esto aumenta la latencia del audio. + + + + Enable audio stretching + Activar extensión del audio. + + + + Audio Device: + Dispositivo de Audio: + + + + Use global volume + Usar el volumen global + + + + Set volume: + Ajustar volumen: + + + + Volume: + Volumen: + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + Formulario + + + + General + General + + + + Accuracy: + Precisión: + + + + Accurate + Preciso + + + + Unsafe + Impreciso + + + + Enable Debug Mode + Activar el Modo de Depuración + + + + We recommend setting accuracy to "Accurate". + Recomendamos ajustar la precisión a "Preciso". + + + + Unsafe CPU Optimization Settings + Ajustes del Modo Impreciso de Optimización de la CPU + + + + These settings reduce accuracy for speed. + Estos ajustes reducen la precisión para mejorar el rendimiento. + + + + Unfuse FMA (improve performance on CPUs without FMA) + Unfuse FMA (mejorar el rendimiendo en las CPU sin FMA) + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + + <div>Esta opción mejora el rendimiento al reducir la precisión de las instrucciónes fused-multiply-add en las CPU sin soporte nativo de FMA.</div> + + + + + Faster FRSQRTE and FRECPE + Más rápido FRSQRTE y FRECPE + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + + <div>Esta opción mejora el rendimiento de algunas funciones aproximadas de punto flotante al utilizar aproximaciones nativas menos precisas.</div> + + + + + CPU settings are available only when game is not running. + Los ajustes de la CPU sólo se encuentran disponibles cuando no se está ejecutando ningún juego. + + + + Setting CPU to Debug Mode + Ajustando la CPU al Modo de Depuración + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + El Modo de Depuración de la CPU sólo está destinado al uso de los desarrolladores. ¿Estás seguro de que quieres activar esto? + + + + ConfigureCpuDebug + + + Form + Formulario + + + + Toggle CPU Optimizations + Cambiar las optimizaciones de la CPU + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + + <div> + <b>Sólo para la depuración.</b> + <br> + Si no está seguro de lo que hacen estas opciónes, manténgalos todos activados. + <br> + Estos ajustes sólo toman efecto cuando la precisión de la CPU esta en "Modo de Depuración". + </div> + + + + + Enable inline page tables + Activar las tablas de páginas inline. + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + <div style="white-space: nowrap">Esta optimización acelera los accesos a la memoria del programa del invitado.</div> + <div style="white-space: nowrap">Activando las inlines accede a PageTable::pointers en código emitido.</div> + <div style="white-space: nowrap">Desactivando esto obliga a que todos los accesos a la memoria pasen por las funciones Memory::Read/Memory::Write.</div> + + + + + Enable block linking + Activar el enlace de bloques + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + <div>Esta optimización evita las búsquedas del despachador permitiendo que los bloques básicos emitidos salten directamente a otros bloques básicos si el PC de destino es estático.</div> + + + + + Enable return stack buffer + Activar el buffer de la pila de retorno + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + <div>Esta optimización evita las búsquedas de los despachadores al rastrear las direcciones potenciales de retorno de las instrucciones de BL. Esto se aproxima a lo que sucede con un buffer de la pila de retorno en una CPU real.</div> + + + + + Enable fast dispatcher + Activar el despachador rápido + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + <div>Habilitar un sistema de despacho de dos niveles. Un despachador más rápido escrito en ensamblado tiene un pequeño caché MRU de destinos de salto se utiliza primero. Si eso falla, el despacho vuelve al despacho más lento de C++.</div> + + + + + Enable context elimination + Activar la eliminación del contexto + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + <div>Esto habilita una optimización de IR que reduce los accesos innecesarios a la estructura del contexto de la CPU.</div> + + + + + Enable constant propagation + Activar la propagación constante + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + <div>Esto habilita optimizaciones de IR que implican una propagación constante.</div> + + + + + Enable miscellaneous optimizations + Activar optimizaciones misceláneas + + + + + <div>Enables miscellaneous IR optimizations.</div> + + + <div>Esto habilita optimizaciónes misceláneas IR.</div> + + + + + Enable misalignment check reduction + Activar la reducción del control de desalineación + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + <div style="white-space: nowrap">Cuando está activada, una desalineación sólo se activa cuando un acceso cruza el límite de una página.</div> + <div style="white-space: nowrap">Cuando está desactivado, se desencadena una desalineación en todos los accesos desalineados.</div> + + + + + CPU settings are available only when game is not running. + Los ajustes de la CPU sólo se encuentran disponibles cuando no se está ejecutando ningún juego. + + + + ConfigureDebug + + + Form + Formulario + + + + GDB + GDB + + + + Enable GDB Stub + Activar GDB Stub + + + + Port: + Puerto: + + + + Logging + Registro + + + + Global Log Filter + Filtro de Registro Global + + + + Show Log Console (Windows Only) + Mostrar Consola del Registro (Sólo en Windows) + + + + Open Log Location + Abrir Ubicación del Registro + + + + Homebrew + Homebrew + + + + Arguments String + Cadena de Argumentos + + + + Graphics + Gráficos + + + + When checked, the graphics API enters in a slower debugging mode + Cuando está marcado, la API de gráficos entra en un modo de depuración más lento + + + + Enable Graphics Debugging + Activar la Depuración de Gráficos + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + Cuando está marcado, se desactiva el compilador de macro Just In Time. Activando esto hace que los juegos se ejecuten más lento + + + + Disable Macro JIT + Desactivar Macro JIT + + + + Dump + Volcar + + + + Enable Verbose Reporting Services + Habilitar Servicios de Reporte Detallados + + + + This will be reset automatically when yuzu closes. + Estas opciones se restablecerán automáticamente cuando yuzu se cierre. + + + + Advanced + Avanzado + + + + Kiosk (Quest) Mode + Modo Quiosco (Quest) + + + + ConfigureDebugController + + + Configure Debug Controller + Configurar el Control de Depuración + + + + Clear + Eliminar + + + + Defaults + Valores Predeterminados + + + + ConfigureDialog + + + yuzu Configuration + Configuración de yuzu. + + + + + + + General + General + + + + + UI + IU + + + + Game List + Lista de Juegos + + + + + + + System + Sistema + + + + + + Profiles + Perfiles + + + + + + Filesystem + Sistema de Archivos + + + + + + + Controls + Controles + + + + + + Hotkeys + Teclas de Acceso Rápido + + + + + + + CPU + CPU + + + + + + + + + Debug + Depuración + + + + + + + Graphics + Gráficos + + + + + Advanced + Avanzado + + + + GraphicsAdvanced + GráficosAvanzados + + + + + + + Audio + Audio + + + + + + Web + Web + + + + + + Services + Servicios + + + + ConfigureFilesystem + + + Form + Formulario + + + + Storage Directories + Directorios de Almacenamiento + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + Tarjeta SD + + + + Gamecard + Cartucho de Juegos + + + + Path + Ruta + + + + Inserted + Insertado + + + + Current Game + Juego Actual + + + + Patch Manager + Administrador de Parches + + + + Dump Decompressed NSOs + Volcar NSOs Descomprimidos + + + + Dump ExeFS + Volcar Partición ExeFS + + + + Mod Load Root + Carpeta raíz de carga de Mods + + + + Dump Root + Carpeta raíz de Volcado + + + + Caching + Cargando Caché + + + + Cache Directory + Directorio de Caché + + + + Cache Game List Metadata + Metadatos de Lista de Juegos en Caché + + + + + + + Reset Metadata Cache + Reiniciar Caché de Metadatos + + + + Select Emulated NAND Directory... + Seleccione el directorio de NAND Emulado... + + + + Select Emulated SD Directory... + Seleccione el directorio de SD Emulado... + + + + Select Gamecard Path... + Seleccione la ruta del Cartucho... + + + + Select Dump Directory... + Seleccione Directorio para Volcar... + + + + Select Mod Load Directory... + Seleccione el directorio de carga de Mod... + + + + Select Cache Directory... + Seleccione el Directorio para Caché... + + + + The metadata cache is already empty. + El caché de metadatos ya está vacío. + + + + The operation completed successfully. + La operación se completó con éxito. + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + El caché de metadatos no se pudo eliminar. Puede que se encuentre en uso actualmente o ya haya sido eliminado. + + + + ConfigureGeneral + + + Form + Formulario + + + + General + General + + + + Limit Speed Percent + Limitar el Porcentaje de Velocidad + + + + % + % + + + + Multicore CPU Emulation + Emulación de CPU multinúcleo + + + + Confirm exit while emulation is running + Confirmar salida mientras se ejecuta la emulación + + + + Prompt for user on game boot + Mostrar usuario actual al abrir el juego + + + + Pause emulation when in background + Pausar emulación cuando la ventana esté en segundo plano + + + + Hide mouse on inactivity + Ocultar el cursor del ratón cuando no está activo. + + + + ConfigureGraphics + + + Form + Formulario + + + + API Settings + Ajustes de la API + + + + API: + API: + + + + Device: + Dispositivo: + + + + Graphics Settings + Ajustes de los Gráficos + + + + Use disk shader cache + Usar caché de shaders en disco + + + + Use asynchronous GPU emulation + Usar emulación asíncrona de GPU + + + + Aspect Ratio: + Relación de Aspecto: + + + + Default (16:9) + Valor Predeterminado (16:9) + + + + Force 4:3 + Forzar a 4:3 + + + + Force 21:9 + Forzar a 21:9 + + + + Stretch to Window + Estirar a la Ventana + + + + + Use global background color + Usar el color de fondo global + + + + Set background color: + Establecer el color de fondo: + + + + Background Color: + Color de Fondo: + + + + OpenGL Graphics Device + Dispositivo Gráfico OpenGL: + + + + ConfigureGraphicsAdvanced + + + Form + Formulario + + + + Advanced Graphics Settings + Ajustes de los Gráficos Avanzados + + + + Accuracy Level: + Nivel de Precisión: + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + VSync evita que la pantalla se desgarre, pero algunas tarjetas gráficas tienen un rendimiento menor con VSync activado. Mantenlo activado si no notas una diferencia de rendimiento. + + + + Use VSync (OpenGL only) + Usar VSync (sólo en OpenGL) + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + Activando esto reduce el tartamudeo causado por la compilación de shaders. Activa shaders de ensamblaje OpenGL en los dispositivos de Nvidia soportados (se requiere NV_gpu_program5). Esta función es experimental. + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + Usar shaders de ensamblaje (experimental, sólo Nvidia OpenGL) + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + Activa la compilación de shaders en modo asíncrono, cuál podría reducir el tartamudeo de los shaders. Esta función es experimental. + + + + Use asynchronous shader building (experimental) + Usar la construcción de shaders asíncronos (experimental) + + + + Use Fast GPU Time + Usar Tiempo Rápido en la GPU + + + + Anisotropic Filtering: + Filtrado Anisotrópico: + + + + Default + Valor Predeterminado + + + + 2x + 2x + + + + 4x + 4x + + + + 8x + 8x + + + + 16x + 16x + + + + ConfigureHotkeys + + + Hotkey Settings + Configuración de Teclas de Acceso Rápido + + + + Double-click on a binding to change it. + Haz doble-clic para cambiar la asignación de teclas. + + + + Clear All + Eliminar Todo + + + + Restore Defaults + Restaurar Valores Predeterminados + + + + Action + Acción + + + + Hotkey + Tecla de Acceso Rápido + + + + Context + Contexto + + + + + Conflicting Key Sequence + Secuencia de Teclas en Conflicto + + + + The entered key sequence is already assigned to: %1 + La secuencia de teclas introducida ya ha sido asignada a: %1 + + + + Restore Default + Restaurar Valor Predeterminado + + + + Clear + Eliminar + + + + The default key sequence is already assigned to: %1 + La secuencia de teclas predeterminada ya ha sido asignada a: %1 + + + + ConfigureInput + + + ConfigureInput + ConfigurarEntrada + + + + + Player 1 + Jugador 1 + + + + + Player 2 + Jugador 2 + + + + + Player 3 + Jugador 3 + + + + + Player 4 + Jugador 4 + + + + + Player 5 + Jugador 5 + + + + + Player 6 + Jugador 6 + + + + + Player 7 + Jugador 7 + + + + + Player 8 + Jugador 8 + + + + + Advanced + Avanzado + + + + Console Mode + Modo de la Consola + + + + Docked + Estacionado + + + + Undocked + Portátil + + + + Vibration + Vibración + + + + % + % + + + + Motion + Movimiento + + + + Configure + Configurar + + + + Controllers + Controladores + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + 6 + 6 + + + + 7 + 7 + + + + 8 + 8 + + + + Connected + Conectado + + + + Defaults + Valores Predeterminados + + + + Clear + Eliminar + + + + ConfigureInputAdvanced + + + Configure Input + Configurar Controles + + + + Joycon Colors + Colores de Joycon + + + + Player 1 + Jugador 1 + + + + + + + + + + + L Body + Lado L + + + + + + + + + + + L Button + Botón L + + + + + + + + + + + R Body + Lado R + + + + + + + + + + + R Button + Botón R + + + + Player 2 + Jugador 2 + + + + Player 3 + Jugador 3 + + + + Player 4 + Jugador 4 + + + + Player 5 + Jugador 5 + + + + Player 6 + Jugador 6 + + + + Player 7 + Jugador 7 + + + + Player 8 + Jugador 8 + + + + Other + Otro + + + + Keyboard + Teclado + + + + + Advanced + Avanzado + + + + Touchscreen + Pantalla Táctil + + + + Mouse + Ratón + + + + Motion / Touch + Movimiento / Táctil + + + + + Configure + Configurar + + + + Debug Controller + Control de Depuración + + + + ConfigureInputPlayer + + + Configure Input + Configurar Controles + + + + Connect Controller + Conectar el Controlador + + + + + + Pro Controller + Pro Controller + + + + + Dual Joycons + Doble Joycons + + + + + Left Joycon + Joycon Izquierdo + + + + + Right Joycon + Joycon Derecho + + + + + Handheld + Portátil + + + + Input Device + Dispositivo de Entrada + + + + Any + Cualquier + + + + Keyboard/Mouse + Teclado/Ratón + + + + Profile + Perfil + + + + Save + Guardar + + + + New + Crear + + + + Delete + Borrar + + + + Left Stick + Palanca Izquierda + + + + + + + + + Up + Arriba + + + + + + + + + Left + Izquierda + + + + + + + + + Right + Derecha + + + + + + + + + Down + Abajo + + + + + + + Pressed + Presionado + + + + + + + Modifier + Modificador + + + + + Range + Rango + + + + + % + % + + + + + Deadzone: 0% + Zona Muerta: 0% + + + + + Modifier Range: 0% + Rango del Modificador: 0% + + + + D-Pad + Cruceta + + + + + L + L + + + + + ZL + ZL + + + + + Minus + Menos + + + + + Capture + Captura + + + + + Plus + Más + + + + + Home + Inicio + + + + + R + R + + + + + ZR + ZR + + + + + SL + SL + + + + + SR + SR + + + + Face Buttons + Botones Frontales + + + + + X + X + + + + + Y + Y + + + + + A + A + + + + + B + B + + + + Right Stick + Palanca Derecha + + + + + Deadzone: %1% + Zona Muerta: %1% + + + + + Modifier Range: %1% + Rango del Modificador: %1% + + + + [waiting] + [esperando] + + + + ConfigureMotionTouch + + + Configure Motion / Touch + Configurar: Movimiento / Táctil + + + + Motion + Movimiento + + + + Motion Provider: + Proveedor de Movimiento: + + + + Sensitivity: + Sensibilidad: + + + + Touch + Táctil + + + + Touch Provider: + Proveedor de Táctil: + + + + Calibration: + Calibración: + + + + (100, 50) - (1800, 850) + (100, 50) - (1800, 850) + + + + + + Configure + Configurar + + + + Use button mapping: + Usar el mapeo de botones: + + + + CemuhookUDP Config + Configuración CemuhookUDP + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + Puede utilizar cualquier fuente de entrada UDP compatible con Cemuhook para proporcionar una entrada de movimiento y de tacto. + + + + Server: + Servidor: + + + + Port: + Puerto: + + + + Pad: + Pad: + + + + Pad 1 + Pad 1 + + + + Pad 2 + Pad 2 + + + + Pad 3 + Pad 3 + + + + Pad 4 + Pad 4 + + + + Learn More + Más Información + + + + + Test + Probar + + + + Mouse (Right Click) + Ratón (Clic Derecho) + + + + + CemuhookUDP + CemuhookUDP + + + + Emulator Window + Ventana del Emulador + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Más Información</span></a> + + + + Testing + Probando + + + + Configuring + Configurando + + + + Test Successful + Prueba Existosa + + + + Successfully received data from the server. + Se recibió con éxito los datos del servidor. + + + + Test Failed + Prueba fallida + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + No pudo recibir datos válidos del servidor.<br>Por favor, verifique que el servidor esté configurado correctamente y que la dirección y el puerto sean correctos. + + + + Citra + Citra + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + La prueba de UDP o la configuración de la calibración está en curso.<br>Por favor, espere a que termine el proceso. + + + + ConfigureMouseAdvanced + + + Configure Mouse + Configurar el Ratón + + + + Mouse Buttons + Botones del Ratón + + + + Forward: + Adelante: + + + + Back: + Atrás: + + + + Left: + Izquierda: + + + + Middle: + Medio: + + + + Right: + Derecha: + + + + + Clear + Borrar + + + + Defaults + Valores Predeterminados + + + + [not set] + [no establecido] + + + + Restore Default + Restaurar Valor Predeterminado + + + + [press key] + [pulsa un botón] + + + + ConfigurePerGame + + + Dialog + Diálogo + + + + Info + Información + + + + Name + Nombre + + + + Title ID + ID del Título + + + + Filename + Nombre del Archivo + + + + Format + Formato + + + + Version + Versión + + + + Size + Tamaño + + + + Developer + Desarrollador + + + + Add-Ons + Complementos + + + + General + General + + + + System + Sistema + + + + Graphics + Gráficos + + + + Adv. Graphics + Gráficos Avanzados + + + + Audio + Audio + + + + Properties + Propiedades + + + + Use global configuration (%1) + Usar la configuración global (%1) + + + + ConfigurePerGameAddons + + + Form + Formulario + + + + Patch Name + Nombre del Parche + + + + Version + Versión + + + + ConfigureProfileManager + + + Form + Formulario + + + + Profile Manager + Administrador de Perfiles + + + + Current User + Usuario Actual + + + + Username + Nombre de Usuario + + + + Set Image + Seleccionar Imagen + + + + Add + Añadir + + + + Rename + Renombrar + + + + Remove + Eliminar + + + + Profile management is available only when game is not running. + El sistema de perfiles solo se encuentra disponible cuando no se está ejecutando ningún juego. + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Enter Username + Introduzca el Nombre de Usuario + + + + Users + Usuarios + + + + Enter a username for the new user: + Introduzca un nombre para el nuevo usuario: + + + + Enter a new username: + Introduzca un nuevo nombre de usuario: + + + + Confirm Delete + Confirmar Eliminanación + + + + You are about to delete user with name "%1". Are you sure? + Estás a punto de eliminar al usuario "%1" ¿Estás seguro? + + + + Select User Image + Seleccione una Imagen de Usuario + + + + JPEG Images (*.jpg *.jpeg) + Imagenes JPEG (*.jpg *.jpeg) + + + + Error deleting image + Error al eliminar la imagen + + + + Error occurred attempting to overwrite previous image at: %1. + Ocurrió un error al intentar sobrescribir la imagen anterior en: %1. + + + + Error deleting file + Error eliminando archivo + + + + Unable to delete existing file: %1. + No se pudo eliminar el archivo existente: %1. + + + + Error creating user image directory + Error al crear el directorio de imagen del usuario + + + + Unable to create directory %1 for storing user images. + No se puede crear el directorio % 1 para almacenar imágenes de usuario. + + + + Error copying user image + Error al copiar la imagen del usuario. + + + + Unable to copy image from %1 to %2 + No se puede copiar la imagen de %1 a %2 + + + + ConfigureService + + + Form + Formulario + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + BCAT es la forma con la que Nintendo envía datos de sus juegos para así interconectar su comunidad y desbloquear contenido adicional. + + + + BCAT Backend + Backend de BCAT + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat">Saber más sobre BCAT, Boxcat, y sus eventos actuales.<span style=" text-decoration: underline; color:#0000ff;"></a></p></body></html> + + + + The boxcat service is offline or you are not connected to the internet. + El servicio boxcat se encuentra fuera de linea o usted no está conectado a internet. + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + Hubo un error al intentar procesar los datos del evento de boxcat. Por favor, contacte con los desarrolladores de yuzu. + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + La versión de yuzu que está utilizando actualmente es demasiado nueva o demasiado antigua para este servidor. Intente actualizar a la última versión oficial de yuzu. + + + + + There are currently no events on boxcat. + No hay ningún evento de boxcat en estos momentos. + + + + + Current Boxcat Events + Eventos de Boxcat Actuales + + + + Yuzu is retrieving the latest boxcat status... + Yuzu está verificando el estado actual de boxcat... + + + + ConfigureSystem + + + Form + Formulario + + + + System Settings + Ajustes del sistema + + + + Region: + Región: + + + + Auto + Auto + + + + Default + Valor Predeterminado + + + + CET + CET + + + + CST6CDT + CST6CDT + + + + Cuba + Cuba + + + + EET + EET + + + + Egypt + Egipto + + + + Eire + Eire + + + + EST + EST + + + + EST5EDT + EST5EDT + + + + GB + GB + + + + GB-Eire + GB-Eire + + + + GMT + GMT + + + + GMT+0 + GMT+0 + + + + GMT-0 + GMT-0 + + + + GMT0 + GMT0 + + + + Greenwich + Greenwich + + + + Hongkong + Hongkong + + + + HST + HST + + + + Iceland + Islandia + + + + Iran + Iran + + + + Israel + Israel + + + + Jamaica + Jamaica + + + + + Japan + Japón + + + + Kwajalein + Kwajalein + + + + Libya + Libia + + + + MET + MET + + + + MST + MST + + + + MST7MDT + MST7MDT + + + + Navajo + Navajo + + + + NZ + NZ + + + + NZ-CHAT + NZ-CHAT + + + + Poland + Polonia + + + + Portugal + Portugal + + + + PRC + PRC + + + + PST8PDT + PST8PDT + + + + ROC + ROC + + + + ROK + ROK + + + + Singapore + Singapur + + + + Turkey + Turquía + + + + UCT + UCT + + + + Universal + Universal + + + + UTC + UTC + + + + W-SU + W-SU + + + + WET + WET + + + + Zulu + Zulu + + + + USA + EEUU + + + + Europe + Europa + + + + Australia + Australia + + + + China + China + + + + Korea + Corea + + + + Taiwan + Taiwan + + + + Time Zone: + Zona Horaria + + + + Note: this can be overridden when region setting is auto-select + Nota: esto puede ser ignorado cuando la opción de región está en "autoseleccionar" + + + + Japanese (日本語) + Japonés (日本語) + + + + English + Inglés (english) + + + + French (français) + Francés (français) + + + + German (Deutsch) + Alemán (Deutsch) + + + + Italian (italiano) + Italiano (italiano) + + + + Spanish (español) + Español + + + + Chinese + Chino + + + + Korean (한국어) + Coreano (한국어) + + + + Dutch (Nederlands) + Holandés (Nederlands) + + + + Portuguese (português) + Portugués (português) + + + + Russian (Русский) + Ruso (Русский) + + + + Taiwanese + Taiwanés + + + + British English + Inglés Británico + + + + Canadian French + Francés Canadiense + + + + Latin American Spanish + Español latinoamericano + + + + Simplified Chinese + Chino Simplificado + + + + Traditional Chinese (正體中文) + Chino Tradicional (正體中文) + + + + Custom RTC + RTC Personalizado + + + + Language + Idioma + + + + RNG Seed + Semilla de GNA + + + + Mono + Mono + + + + Stereo + Estereo + + + + Surround + Envolvente + + + + Console ID: + ID de la Consola: + + + + Sound output mode + Modo de salida del sonido: + + + + d MMM yyyy h:mm:ss AP + d MMM aaaa h:mm:ss AP + + + + Regenerate + Regenerar + + + + System settings are available only when game is not running. + Los ajustes del sistema solo se encuentran disponibles cuando no se está ejecutando ningún juego. + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + Esto reemplazará tu Switch virtual con una nueva. Tu Switch virtual actual no será recuperable. Esto podría causar efectos inesperados en determinados juegos. Si usas un archivo de configuración obsoleto, esto podría fallar. ¿Continuar? + + + + Warning + Advertencia + + + + Console ID: 0x%1 + ID de Consola: 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + Configurar las Asignaciones de la Pantalla Táctil + + + + Mapping: + Asignaciones: + + + + New + Crear + + + + Delete + Borrar + + + + Rename + Renombrar + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + Haz clic en el área inferior para añadir un punto, y luego presiona un botón para unir. +Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas de la tabla para editar los valores. + + + + Delete Point + Borrar Punto + + + + Button + Botón + + + + X + X axis + X + + + + Y + Y axis + Y + + + + New Profile + Crear Perfíl + + + + Enter the name for the new profile. + Introduzca un nombre para el nuevo perfíl: + + + + Delete Profile + Borrar Perfíl + + + + Delete profile %1? + Borrar Perfíl %1? + + + + Rename Profile + Renombrar Perfíl + + + + New name: + Nuevo nombre: + + + + [press key] + [presionar tecla] + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + Configurar pantalla táctil + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + Advertencia: Los ajustes en esta página afectarán al funcionamiento de la pantalla táctil emulada de yuzu. Cambiarlas podría resultar en un comportamiento inapropiado, como que la pantalla táctil deje de funcionar parcialmente. Se recomienda usar esta pestaña sólo si sabes lo que estás haciendo. + + + + Touch Parameters + Parámetros Táctil + + + + Touch Diameter Y + Diámetro Táctil Y + + + + Finger + Dedo + + + + Touch Diameter X + Diámetro Táctil X + + + + Rotational Angle + Ángulo Rotacional + + + + Restore Defaults + Recuperar ajustes predeterminados + + + + ConfigureUi + + + Form + Forma + + + + General + General + + + + Note: Changing language will apply your configuration. + Nota: Cambiar el idioma guardará tu configuración actual. + + + + Interface language: + Lenguage de la Interfaz: + + + + Theme: + Tema: + + + + Game List + Lista de Juegos + + + + Show Add-Ons Column + Mostrar Columna de Accesorios + + + + Icon Size: + Tamaño de los Iconos: + + + + Row 1 Text: + Texto de la Fila 1: + + + + Row 2 Text: + Texto de la Fila 2: + + + + Screenshots + Capturas de Pantalla + + + + Ask Where To Save Screenshots (Windows Only) + Pregunte Dónde Guardar las Capturas de Pantalla (sólo para Windows) + + + + Screenshots Path: + Trayectoria de las Capturas de Pantalla: + + + + ... + ... + + + + Select Screenshots Path... + Selecciona la Trayectoria de las Capturas de Pantalla: + + + + <System> + <System> + + + + English + Inglés + + + + ConfigureWeb + + + Form + Formulario + + + + yuzu Web Service + Servicio Web de yuzu + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + Al proporcionar su nombre de usuario y token, das tu consentimiento a que yuzu recopile datos de uso adicionales, que pueden incluir información de identificación del usuario. + + + + + Verify + Verificar + + + + Sign up + Registrarse + + + + Token: + Token: + + + + Username: + Nombre de usuario: + + + + What is my token? + ¿Cuál es mi token? + + + + Telemetry + Telemetría + + + + Share anonymous usage data with the yuzu team + Compartir datos de uso anónimos con el equipo de yuzu + + + + Learn more + Saber más + + + + Telemetry ID: + ID de Telemetría: + + + + Regenerate + Regenerar + + + + Discord Presence + Presencia de Discord + + + + Show Current Game in your Discord Status + Mostrar el juego actual en tu estado de Discord + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Saber más</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Regístrate</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">¿Cuál es mi token?</span></a> + + + + + Telemetry ID: 0x%1 + ID de Telemetría: 0x%1 + + + + + Unspecified + Sin especificar + + + + Token not verified + No se pudo verificar el token + + + + Token was not verified. The change to your token has not been saved. + El token pudo ser verificado. El cambio realizado a su token no se ha guardado. + + + + Verifying... + Verificando... + + + + Verification failed + Verificación fallida + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + Verificación fallida. Compruebe que ha ingresado el token correctamente, y que esté funcionando su conexión a internet. + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Se recogen datos anónimos</a> para ayudar a mejorar yuzu. <br/><br/>¿Quieres compartir tus datos de uso con nosotros? + + + + Telemetry + Telemetría + + + + Text Check Failed + Comprobación de Texto Fallida + + + + Loading Web Applet... + Cargando Web Applet... + + + + Exit Web Applet + Cerrar Web Applet + + + + Exit + Salir + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + Para salir de la aplicación web, use los controles provistos por el juego y seleccione la opción "Cerrar Web Applet" en la barra del menú, o presione la tecla "Enter". + + + + Web Applet + Web Applet + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + Esta versión de yuzu fue creada sin soporte para QtWebEngine, lo que significa que yuzu no puede mostrar correctamente el manual del juego o la página solicitada. + + + + The amount of shaders currently being built + La cantidad de shaders que se están construyendo actualmente + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + La velocidad de emulación actual. Los valores superiores o inferiores al 100% indican que la emulación se está ejecutando más rápido o más lento que en una Switch. + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + Cuántos fotogramas por segundo está mostrando el juego actualmente. Esto variará de un juego a otro y de una escena a otra. + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + Tiempo que lleva emular un fotograma de la Switch, sin tener en cuenta la limitación de fotogramas o sincronización vertical. Para una emulación óptima, este valor debería ser como máximo de 16.67 ms. + + + + DOCK + ESTACIONADO + + + + ASYNC + ASINC + + + + MULTICORE + MULTINÚCLEO + + + + VULKAN + VULKAN + + + + OPENGL + OPENGL + + + + Clear Recent Files + Limpiar Archivos Recientes + + + + Warning Outdated Game Format + Advertencia Formato de Juego Obsoleto + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + Está utilizando el formato de directorio de ROM deconstruido para este juego, que es un formato desactualizado que ha sido reemplazado por otros, como NCA, NAX, XCI o NSP. Los directorios de ROM deconstruidos carecen de íconos, metadatos y soporte de actualización.<br><br>Para obtener una explicación de los diversos formatos de Switch que soporta yuzu,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>echa un vistazo a nuestra wiki</a>. Este mensaje no se volverá a mostrar. + + + + + Error while loading ROM! + ¡Error al cargar la ROM! + + + + The ROM format is not supported. + El formato de la ROM no es compatible. + + + + An error occurred initializing the video core. + Se produjo un error al inicializar el núcleo de video. + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + yuzu ha encontrado un error al ejecutar el núcleo de video, consulte el registro para obtener más detalles. Para obtener más información sobre cómo acceder al registro, consulte la siguiente página: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Cómo cargar el archivo de registro.</a> Asegúrese de tener los últimos controladores de gráficos para su GPU. + + + + Error while loading ROM! + ¡Error al cargar la ROM! + + + + An unknown error occurred. Please see the log for more details. + Error desconocido. Por favor, consulte el registro para ver más detalles. + + + + Start + Iniciar + + + + Save Data + Datos de Juegos Guardados + + + + Mod Data + Datos de Mods + + + + Error Opening %1 Folder + Error al abrir la carpeta %1 + + + + + Folder does not exist! + ¡La carpeta no existe! + + + + Error Opening Transferable Shader Cache + Error al Abrir el Caché Transferible de Shaders + + + + + A shader cache for this title does not exist. + No existe un Caché de shaders para este título. + + + + Contents + Contenidos + + + + Update + Actualización + + + + DLC + DLC + + + + Remove Entry + Eliminar el Título + + + + Remove Installed Game %1? + Eliminar el Juego Instalado %1? + + + + + + + + Successfully Removed + Se Eliminó con Éxito + + + + Successfully removed the installed base game. + Se eliminó con éxito el juego de base instalado. + + + + + + Error Removing %1 + Error en la eliminación de %1 + + + + The base game is not installed in the NAND and cannot be removed. + El juego base no está instalado en el NAND y no se puede eliminar. + + + + Successfully removed the installed update. + Se eliminó con éxito la actualización instalada. + + + + There is no update installed for this title. + No hay ninguna actualización instalada para este título. + + + + There are no DLC installed for this title. + No hay ningún DLC instalado para este título. + + + + Successfully removed %1 installed DLC. + Se eliminó con éxito %1 DLC instalado(s). + + + + Delete Transferable Shader Cache? + ¿Desea eliminar el Caché Transferible de Shaders? + + + + Remove Custom Game Configuration? + ¿Desea Eliminar la Configuración Personalizada del Juego? + + + + Remove File + Eliminar Archivo + + + + + Error Removing Transferable Shader Cache + Error al Eliminar el Caché Transferible de Shaders + + + + Successfully removed the transferable shader cache. + El Caché Transferible de Shaders fue eliminado con éxito. + + + + Failed to remove the transferable shader cache. + No se ha podido eliminar el caché de shaders transferibles. + + + + + Error Removing Custom Configuration + Error al Eliminar la Configuración Personalizada del Juego + + + + A custom configuration for this title does not exist. + No existe una configuración personalizada para este título. + + + + Successfully removed the custom game configuration. + Se eliminó con éxito la configuración personalizada del juego. + + + + Failed to remove the custom game configuration. + No se ha podido eliminar la configuración personalizada del juego. + + + + RomFS Extraction Failed! + ¡La extracción de RomFS falló! + + + + There was an error copying the RomFS files or the user cancelled the operation. + Se produjo un error al copiar los archivos RomFS o el usuario canceló la operación. + + + + Full + Completo + + + + Skeleton + Base + + + + Select RomFS Dump Mode + Elegir modo para volcar el RomFS + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + Seleccione la forma en que desea volcar el RomFS. <br>Copiará todos los archivos en el nuevo directorio <br> mientras que el esqueleto solo creará la estructura del directorio. + + + + Extracting RomFS... + Extrayendo RomFS... + + + + + Cancel + Cancelar + + + + RomFS Extraction Succeeded! + ¡La extracción RomFS tuvo éxito! + + + + The operation completed successfully. + La operación se completó con éxito. + + + + Error Opening %1 + Error al intentar abrir %1 + + + + Select Directory + Seleccionar Directorio + + + + Properties + Propiedades + + + + The game properties could not be loaded. + No se pudieron cargar las propiedades del juego. + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Ejecutable de Switch (%1);;Todos los archivos (*.*) + + + + Load File + Cargar archivo + + + + Open Extracted ROM Directory + Abrir el directorio de la ROM extraída + + + + Invalid Directory Selected + Directorio no válido seleccionado + + + + The directory you have selected does not contain a 'main' file. + El directorio que ha seleccionado no contiene ningún archivo 'main'. + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + Archivo de Switch Instalable (*.nca *.nsp *.xci);;Archivo de Contenidos Nintendo (*.nca);;Paquete de Envío Nintendo (*.nsp);;Imagen de Cartucho NX (*.xci) + + + + Install Files + Instalar Archivos + + + + Installing file "%1"... + Instalando el archivo "%1"... + + + + Install Results + Instalar Resultados + + + + System Application + Aplicación del sistema + + + + System Archive + Archivo del Sistema + + + + System Application Update + Actualización de la aplicación del sistema + + + + Firmware Package (Type A) + Paquete de Firmware (Tipo A) + + + + Firmware Package (Type B) + Paquete de Firmware (Tipo B) + + + + Game + Juego + + + + Game Update + Actualización del juego + + + + Game DLC + DLC del Juego + + + + Delta Title + Titulo Delta + + + + Select NCA Install Type... + Seleccione el tipo de instalación NCA... + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + Seleccione el tipo de título en el que desea instalar este NCA como: +(En la mayoría de los casos, el 'Juego' predeterminado está bien). + + + + Failed to Install + Fallo en la instalación + + + + The title type you selected for the NCA is invalid. + El tipo de título que seleccionó para el NCA no es válido. + + + + File not found + Archivo no encontrado + + + + File "%1" not found + Archivo "%1" no encontrado + + + + + Continue + Continuar + + + + Error Display + Mostrar Error + + + + Missing yuzu Account + Falta la cuenta de Yuzu + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + Para enviar un caso de prueba de compatibilidad de juegos, debe vincular su cuenta de yuzu.<br><br/> Para vincular su cuenta yuzu, vaya a Emulación & gt; Configuración & gt; Web. + + + + Error opening URL + Error al abrir la URL + + + + Unable to open the URL "%1". + No se puede abrir la URL "%1". + + + + Amiibo File (%1);; All Files (*.*) + Archivo Amiibo (%1);; Todos los archivos (*.*) + + + + Load Amiibo + Cargar amiibo + + + + Error opening Amiibo data file + Error al abrir el archivo de datos de Amiibo + + + + Unable to open Amiibo file "%1" for reading. + No se puede abrir el archivo de Amiibo "%1" para leer. + + + + Error reading Amiibo data file + Error al leer el archivo de datos de Amiibo + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + No se pueden leer completamente los datos de Amiibo. Se esperaban leer %1 bytes, pero solo se pudo leer %2 bytes. + + + + Error loading Amiibo data + Error al cargar los datos de Amiibo + + + + Unable to load Amiibo data. + No se pueden cargar los datos de Amiibo. + + + + Capture Screenshot + Captura de Pantalla + + + + PNG Image (*.png) + Imagen PNG (*.png) + + + + Speed: %1% / %2% + Velocidad: %1% / %2% + + + + Speed: %1% + Velocidad: %1% + + + + Game: %1 FPS + Juego: %1 FPS + + + + Frame: %1 ms + Fotogramas: %1 ms + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + El juego que estás intentando cargar requiere de archivos adicionales de su Switch antes de poder jugar. <br/><br/>Para obtener más información sobre cómo obtener estos archivos, ve a la siguiente página de la wiki: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Volcar archivos del sistema y las fuentes compartidas desde una Consola Switch. </a>.<br/><br/>¿Quieres volver a la lista de juegos? Continuar con la emulación puede provocar fallos, datos de guardado dañados u otros errores. + + + + yuzu was unable to locate a Switch system archive. %1 + yuzu no pudo localizar el archivo de sistema de la Switch. %1 + + + + yuzu was unable to locate a Switch system archive: %1. %2 + yuzu no pudo localizar un archivo de sistema de la Switch: %1. %2 + + + + System Archive Not Found + Archivo del Sistema No Encontrado + + + + System Archive Missing + Falta Archivo del Sistema + + + + yuzu was unable to locate the Switch shared fonts. %1 + yuzu no pudo encontrar las Fuentes Compartidas de la Switch. %1 + + + + Shared Fonts Not Found + Fuentes compartidas no encontradas + + + + Shared Font Missing + Faltan las Fuentes Compartidas + + + + Fatal Error + Error Fatal + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + yuzu ha encontrado un error fatal, consulte el registro para obtener más detalles. Para obtener más información sobre cómo acceder al registro, consulte la siguiente página: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>¿Cómo cargar el archivo de registro?</a>.<br/><br/> La emulación continua puede provocar fallos, datos de guardado dañados u otros errores. + + + + Fatal Error encountered + Error Fatal Encontrado + + + + Confirm Key Rederivation + Confirma la Clave de Rederivación + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + Estás a punto de forzar todas tus claves. +Si no sabes qué es esto, +es una acción potencialmente destructiva. +Por favor, asegúrese de que esto +es lo que desea hacer si es necesario. + + Esto eliminará los archivos de las claves generados automáticamente y volverá a ejecutar el módulo de derivación de claves. + + + + Missing fuses + Falta fuses + + + + - Missing BOOT0 + - Falta BOOT0 + + + + - Missing BCPKG2-1-Normal-Main + - Falta BCPKG2-1-Normal-Main + + + + - Missing PRODINFO + - Falta PRODINFO + + + + Derivation Components Missing + Faltan Componentes de Derivación + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + Faltan componentes que pueden impedir que la derivación de la clave se complete. <br>Por favor siga <a href='https://yuzu-emu.org/help/quickstart/'>la guía de inicio rápido de yuzu</a> para conseguir todas tus llaves y juegos.<br><br><small>(%1)</small> + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + Derivando claves... +Esto puede llevar unos minutos dependiendo +del rendimiento de su sistema. + + + + Deriving Keys + Obtención de claves + + + + Select RomFS Dump Target + Selecciona el destinatario para volcar el RomFS + + + + Please select which RomFS you would like to dump. + Por favor, seleccione los RomFS que desea volcar. + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + ¿Estás seguro de que quieres cerrar yuzu? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + ¿Estás seguro de que quieres detener la emulación? Cualquier progreso no guardado se perderá. + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + La aplicación que se está ejecutando actualmente ha solicitado que yuzu no sea cerrado. + +¿Desea cerrarlo de todas formas? + + + + GRenderWindow + + + OpenGL not available! + OpenGL no está disponible! + + + + yuzu has not been compiled with OpenGL support. + yuzu no ha sido compilado con soporte de OpenGL. + + + + Vulkan not available! + Vulkan no está disponible! + + + + yuzu has not been compiled with Vulkan support. + yuzu no ha sido compilado con soporte de Vulkan. + + + + Error while initializing OpenGL 4.3! + ¡Error al inicializar OpenGL 4.3! + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + Tu GPU no soporta OpenGL 4.3 o no tienes instalado el último controlador de la tarjeta gráfica. + + + + Error while initializing OpenGL! + ¡Error al inicializar OpenGL! + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + Es posible que su GPU no soporta una o más extensiones OpenGL requeridas. Por favor, asegúrese de tener el último controlador de la tarjeta gráfica<br><br>Extensiones no soportadas:<br> + + + + GameList + + + + Name + Nombre + + + + + Compatibility + Compatibilidad + + + + + Add-ons + Complementos + + + + + + + File type + Tipo de Archivo + + + + + + + Size + Tamaño + + + + Open Save Data Location + Abrir ubicación de los archivos de guardado + + + + Open Mod Data Location + Abrir ubicación de Mods + + + + Open Transferable Shader Cache + Abrir Caché Transferible de Shaders + + + + Remove + Eliminar + + + + Remove Installed Update + Eliminar la Actualización Instalada + + + + Remove All Installed DLC + Eliminar todos los DLC instalados + + + + Remove Shader Cache + Eliminar el Caché de Shaders + + + + Remove Custom Configuration + Eliminar Configuración Personalizada + + + + Remove All Installed Contents + Eliminar Todos los Contenidos Instalados + + + + Dump RomFS + Volcar RomFS + + + + Copy Title ID to Clipboard + Copiar ID de título al portapapeles + + + + Navigate to GameDB entry + Navegar a la entrada de BD del juego + + + + Properties + Propiedades + + + + Scan Subfolders + Escanear subdirectorios + + + + Remove Game Directory + Eliminar Directorio de Juegos + + + + ▲ Move Up + ▲ Mover Hacia Arriba + + + + ▼ Move Down + ▼ Mover Hacia Abajo + + + + Open Directory Location + Abrir Ubicación del Directorio + + + + GameListItemCompat + + + Perfect + Perfecto + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + El juego funciona a la perfección sin fallos de audio o gráficos, todas las funciones probadas funcionan según lo previsto +sin ninguna solución necesaria. + + + + Great + Excelente + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + El juego funciona con fallos gráficos o de audio menores y se puede jugar de principio a fin. Puede requerir de +soluciones temporales. + + + + Okay + Bien + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + El juego funciona con importantes fallos gráficos o de audio, pero el juego se puede jugar de principio a fin con +soluciones temporales. + + + + Bad + Mal + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + El juego funciona, pero con importantes fallos gráficos o de audio. Es imposible avanzar en zonas específicas +incluso con soluciones temporales. + + + + Intro/Menu + Intro/Menú + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + No es posible jugar a este juego debido a importantes errores gráficos o de audio. Es imposible avanzar mas allá de la pantalla +de inicio. + + + + Won't Boot + No inicia + + + + The game crashes when attempting to startup. + El juego se bloquea al intentar iniciar. + + + + Not Tested + Sin probar + + + + The game has not yet been tested. + El juego todavía no ha sido probado. + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + Haga doble clic para agregar un nuevo directorio a la lista de juegos. + + + + GameListSearchField + + + Filter: + Filtrar: + + + + Enter pattern to filter + Introduce patrón para filtrar + + + + InstallDialog + + + Please confirm these are the files you wish to install. + Por favor, confirme que estos son los archivos que desea instalar. + + + + Installing an Update or DLC will overwrite the previously installed one. + Instalando una Actualización o DLC reemplazará la que está instalada anteriormente. + + + + Install + Instalar + + + + Install Files to NAND + Instalar archivos al NAND... + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + Cargando Shaders 387 / 1628 + + + + Loading Shaders %v out of %m + Cargando Shaders %v de %m + + + + Estimated Time 5m 4s + Tiempo Estimado 5m 4s + + + + Loading... + Cargando... + + + + Loading Shaders %1 / %2 + Cargando Shaders %1 / %2 + + + + Launching... + Iniciando... + + + + Estimated Time %1 + Tiempo estimado %1 + + + + MainWindow + + + yuzu + yuzu + + + + &File + &Archivo + + + + Recent Files + Archivos recientes + + + + &Emulation + &Emulación + + + + &View + &Ver + + + + Debugging + Depuración + + + + Tools + Herramientas + + + + &Help + &Ayuda + + + + Install Files to NAND... + Instalar archivos al NAND... + + + + Load File... + Cargar archivo... + + + + Load Folder... + Cargar carpeta... + + + + E&xit + S&alir + + + + &Start + &Iniciar + + + + &Pause + &Pausar + + + + &Stop + &Detener + + + + Reinitialize keys... + Reiniciar claves... + + + + About yuzu + Acerca de yuzu + + + + Single Window Mode + Modo Ventana Única + + + + Configure... + Configurar... + + + + Display Dock Widget Headers + Mostrar los Encabezados del Widget + + + + Show Filter Bar + Mostrar Barra de Filtro + + + + Show Status Bar + Mostrar Barra de Estado + + + + Reset Window Size + Reiniciar el Tamaño de la Ventana + + + + Fullscreen + Pantalla completa + + + + Restart + Reiniciar + + + + Load Amiibo... + Cargar Amiibo... + + + + Report Compatibility + Informar de compatibilidad + + + + Open Mods Page + Abrir la Página de Mods + + + + Open Quickstart Guide + Abrir la Guía de Inicio Rápido + + + + FAQ + Preguntas Más Frecuentes + + + + Open yuzu Folder + Abrir la carpeta yuzu + + + + Capture Screenshot + Captura de Pantalla + + + + Configure Current Game.. + Configurar el Juego Actual... + + + + MicroProfileDialog + + + MicroProfile + MicroPerfil + + + + QObject + + + Installed SD Titles + Títulos instalados en la SD + + + + Installed NAND Titles + Títulos instalados en la NAND + + + + System Titles + Títulos del Sistema + + + + Add New Game Directory + Agregar un Nuevo Directorio de Juegos + + + + + + Shift + Shift + + + + + + Ctrl + Ctrl + + + + + + Alt + Alt + + + + + + + [not set] + [no establecido] + + + + + + Hat %1 %2 + Rotación %1 %2 + + + + + + Axis %1%2 + Eje %1%2 + + + + + + Button %1 + Botón %1 + + + + + + + [unknown] + [desconocido] + + + + + Click 0 + Clic 0 + + + + + Click 1 + Clic 1 + + + + + Click 2 + Clic 2 + + + + + Click 3 + Clic 3 + + + + + Click 4 + Clic 4 + + + + GC Axis %1%2 + Eje GC %1%2 + + + + GC Button %1 + Botón GC %1 + + + + + [unused] + [no usado] + + + + + Axis %1 + Eje %1 + + + + + GC Axis %1 + Eje GC %1 + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + Ha ocurrido un error. +Inténtelo nuevamente o contacte con el desarrollador del software. + +Código del error: %1-%2 (0x%3) + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + Ha ocurrido un error en el %1 a las %2. +Inténtelo nuevamente o contacte con el desarrollador del software. + +Código del error: %3-%4 (0x%5) + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + Ha ocurrido un error. +Códio del error: %1-%2 (0x%3) + +%4 + +%5 + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + Seleccione un usuario: + + + + Users + Usuarios + + + + Profile Selector + Selector de perfil + + + + QtSoftwareKeyboardDialog + + + Enter text: + Introducir texto: + + + + Software Keyboard + Software del Teclado + + + + SequenceDialog + + + Enter a hotkey + Ingrese combinación de teclas de acceso rápido + + + + WaitTreeCallstack + + + Call stack + Pila de Llamadas + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + esperando por mutex 0x%1 + + + + has waiters: %1 + tiene receptores: %1 + + + + owner handle: 0x%1 + manejo del propietario: 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + esperando todos los objetos + + + + waiting for one of the following objects + esperando uno de los siguientes objetos + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + [%1]%2 %3 + + + + waited by no thread + esperado por ningún hilo + + + + WaitTreeThread + + + + running + corriendo + + + + ready + listo + + + + + paused + en pausa + + + + waiting for HLE return + esperando para el retorno HLE + + + + sleeping + dormido + + + + waiting for IPC reply + esperando para respuesta IPC + + + + waiting for objects + esperando objetos + + + + waiting for mutex + esperando por mutex + + + + waiting for condition variable + esperando variable condicional + + + + waiting for address arbiter + esperando al árbitro de dirección + + + + dormant + inactivo + + + + dead + muerto + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + ideal + + + + core %1 + núcleo %1 + + + + Unknown processor %1 + Procesador desconocido %1 + + + + processor = %1 + procesador = %1 + + + + ideal core = %1 + núcleo ideal = %1 + + + + affinity mask = %1 + máscara de afinidad = %1 + + + + thread id = %1 + id de hilo = %1 + + + + priority = %1(current) / %2(normal) + prioridad = %1(presente) / %2(normal) + + + + last running ticks = %1 + Últimos ticks consecutivos = %1 + + + + not waiting for mutex + no esperando por mutex + + + + WaitTreeThreadList + + + waited by thread + esperado por hilo + + + + WaitTreeWidget + + + Wait Tree + Árbol de Espera + + + \ No newline at end of file diff --git a/dist/languages/fr.ts b/dist/languages/fr.ts new file mode 100644 index 000000000..83e678f93 --- /dev/null +++ b/dist/languages/fr.ts @@ -0,0 +1,4732 @@ + + + AboutDialog + + + About yuzu + À propos de yuzu + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><span style=" font-size:28pt;">yuzu</span><p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu est un émulateur expérimental open-source pour la Nintendo Switch licencié sous GPLv2.0. </span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">Ce logiciel ne doit pas être utilisé pour jouer à des jeux que vous n'avez pas obtenu légalement.</span></p></body> +</html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Site Web</span></a>|<a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Code Source</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributeurs</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Licence</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; est une marque déposée de Nintendo. yuzu n'est en aucun cas affilié à Nintendo.</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + Communications avec le serveur... + + + + Cancel + Annuler + + + + Touch the top left corner <br>of your touchpad. + Touchez le coin supérieur<br>gauche de votre pavé tactile. + + + + Now touch the bottom right corner <br>of your touchpad. + Touchez le coin supérieur gauche<br> de votre pavé tactile. + + + + Configuration completed! + Configuration terminée! + + + + OK + OK + + + + CompatDB + + + Report Compatibility + Signaler la compatibilité + + + + + Report Game Compatibility + Signaler la compatibilité d'un jeu + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">Si vous choisissez à soumettre un test d'essai à la liste de compatibilité yuzu<span style=" font-size:10pt; text-decoration: underline; color:#0000ff;"><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt;">, Les informations suivantes seront collectées et publiées sur le site : +</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informations Système (Processeur / Carte Graphique / Système d'exploitation)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">La version de yuzu que vous employez</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Le compte yuzu sous lequel vous êtes connecté</li></ul></body></html> + + + + Perfect + Parfait + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>Le jeu fonctionne parfaitement sans problèmes audio-visuels.</p></body></html> + + + + Great + Super + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>Le jeu fonctionne avec des problèmes audio-visuels mineurs et est jouable du début jusqu'à la fin. Peut nécessiter des patchs temporaires. </p></body></html> + + + + Okay + Correct + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>Le jeu fonctionne avec des problèmes audio ou graphiques majeurs, mais est jouable du début à la fin avec des modifications.</p></body></html> + + + + Bad + Mauvais + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>Le jeu fonctionne, mais avec des problèmes graphiques ou audio majeurs. Impossible de progresser à certains endroits spécifiques à cause de ces problèmes même en utilisant des modifications. </p></body></html> + + + + Intro/Menu + Intro/Menu + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>Le jeu est complètement injouable à cause de problèmes graphique ou audio majeur. Impossible de progresser plus loin que le menu de départ.</p></body></html> + + + + Won't Boot + Ne se lance pas + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>Le jeu crash au lancement. .</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <html><head/><body><p>Sans prendre en compte la vitesse ou les performances, À quel point ce jeu est-il bien émulée du début à la fin sur cette version de yuzu ?</p></body></html> + + + + Thank you for your submission! + Merci de votre Suggestion ! + + + + Submitting + Soumission en cours + + + + Communication error + Erreur de communication + + + + An error occured while sending the Testcase + Une erreur est survenue en envoyant l'erreur + + + + Next + Suivant + + + + ConfigureAudio + + + Audio + Audio + + + + Output Engine: + Moteur de Sortie : + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + Il s'agit d'un effet de post-traitement qui ajuste la vitesse de l'audio sur celle de l'émulation afin de prévenir les lags du son. Ceci augmente toutefois la latence du son. + + + + Enable audio stretching + Activer l'étirement du son + + + + Audio Device: + Appareil audio : + + + + Use global volume + Utiliser le volume global + + + + Set volume: + Régler le volume: + + + + Volume: + Volume : + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + Forme + + + + General + Général + + + + Accuracy: + Précision: + + + + Accurate + Précis + + + + Unsafe + Peu sûr + + + + Enable Debug Mode + Activer le mode de débogage + + + + We recommend setting accuracy to "Accurate". + Nous recommandons de régler la précision sur "Précis". + + + + Unsafe CPU Optimization Settings + Paramètres d'optimisation du CPU non sûrs + + + + These settings reduce accuracy for speed. + Ces réglages réduisent la précision pour la vitesse. + + + + Unfuse FMA (improve performance on CPUs without FMA) + Non-utilisation du FMA (améliorer les performances des CPU sans FMA) + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + +Cette option améliore la vitesse en réduisant la précision des instructions fusionnées-multiple-ajoutées sur les CPU sans support FMA natif. + + + + Faster FRSQRTE and FRECPE + FRSQRTE et FRECPE plus rapides + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + +Cette option améliore la vitesse de certaines fonctions approximatives en virgule flottante en utilisant des approximations natives moins précises. + + + + CPU settings are available only when game is not running. + Les paramètres du CPU ne sont disponibles que lorsque le jeu n'est pas en marche. + + + + Setting CPU to Debug Mode + Mise en mode de débogage du CPU + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + Le mode de débogage du CPU est uniquement destiné à l'usage des développeurs. Êtes-vous sûr de vouloir l'activer? + + + + ConfigureCpuDebug + + + Form + Forme + + + + Toggle CPU Optimizations + Activer les optimisations du CPU + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + +<div> +<b>Pour le débogage uniquement.</b> +<br> +Si vous n'êtes pas sûr de ce qu'elles font, laissez-les toutes activées. +<br> +Ces réglages ne prennent effet que lorsque la précision du CPU est en "mode débogage". +</div> + + + + Enable inline page tables + + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + + + + Enable block linking + + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + + + + Enable return stack buffer + + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + + + + Enable fast dispatcher + + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + + + + Enable context elimination + + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + + + + Enable constant propagation + + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + + + + Enable miscellaneous optimizations + + + + + + <div>Enables miscellaneous IR optimizations.</div> + + + + + + Enable misalignment check reduction + + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + + + + CPU settings are available only when game is not running. + + + + + ConfigureDebug + + + Form + Forme + + + + GDB + GDB + + + + Enable GDB Stub + Activer le "stub" de GDB + + + + Port: + Port : + + + + Logging + S'enregistrer + + + + Global Log Filter + Filtre de log global + + + + Show Log Console (Windows Only) + Montrer le journal de logs (Uniquement sur Windows) + + + + Open Log Location + Ouvrir l'emplacement du journal de logs + + + + Homebrew + Homebrew + + + + Arguments String + Chaîne d'arguments + + + + Graphics + + + + + When checked, the graphics API enters in a slower debugging mode + + + + + Enable Graphics Debugging + + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + + + + + Disable Macro JIT + + + + + Dump + + + + + Enable Verbose Reporting Services + Activer les services de rapport verbeux + + + + This will be reset automatically when yuzu closes. + Ceci sera automatiquement mis à zéro quand yuzu se fermera + + + + Advanced + Avancé + + + + Kiosk (Quest) Mode + Mode Kiosk (Quest) + + + + ConfigureDebugController + + + Configure Debug Controller + + + + + Clear + + + + + Defaults + + + + + ConfigureDialog + + + yuzu Configuration + Configuration de yuzu + + + + + + + General + Général + + + + + UI + UI + + + + Game List + Liste des jeux + + + + + + + System + Système + + + + + + Profiles + Profils + + + + + + Filesystem + Système de fichier + + + + + + + Controls + Contrôles + + + + + + Hotkeys + Raccourcis clavier + + + + + + + CPU + + + + + + + + + + Debug + Débogage + + + + + + + Graphics + Vidéo + + + + + Advanced + + + + + GraphicsAdvanced + + + + + + + + Audio + Son + + + + + + Web + Web + + + + + + Services + Services + + + + ConfigureFilesystem + + + Form + Forme + + + + Storage Directories + Répertoire de stockage + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + Carte SD + + + + Gamecard + Cartouche de jeu + + + + Path + Chemin + + + + Inserted + Inséré + + + + Current Game + Jeu en cours + + + + Patch Manager + Gestionnaire de correctif + + + + Dump Decompressed NSOs + Extraire les fichiers NSOs décompressés + + + + Dump ExeFS + Extraire l'ExeFS + + + + Mod Load Root + Racine de chargement de mod + + + + Dump Root + Extraire la racine + + + + Caching + Mise en cache + + + + Cache Directory + Répertoire du cache + + + + Cache Game List Metadata + Mettre en cache la métadonnée de la liste des jeux + + + + + + + Reset Metadata Cache + Mettre à zéro le cache des métadonnées + + + + Select Emulated NAND Directory... + Sélectionner le répertoire NAND émulé... + + + + Select Emulated SD Directory... + Sélectionner le répertoire SD émulé... + + + + Select Gamecard Path... + Sélectionner le chemin de la cartouche de jeu... + + + + Select Dump Directory... + Sélectionner le répertoire d'extraction... + + + + Select Mod Load Directory... + Sélectionner le répertoire de chargement de mod... + + + + Select Cache Directory... + Sélectionner le répertoire du cache... + + + + The metadata cache is already empty. + Le cache des métadonnées est déjà vide. + + + + The operation completed successfully. + L'opération s'est terminée avec succès. + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + Le cache des métadonnées n'a pas pu être supprimé. Il pourrait être utilisé ou non-existant. + + + + ConfigureGeneral + + + Form + Forme + + + + General + Général + + + + Limit Speed Percent + Limiter la vitesse en pourcentages + + + + % + % + + + + Multicore CPU Emulation + + + + + Confirm exit while emulation is running + Confirmer la sortie pendent l'émulation en cours + + + + Prompt for user on game boot + Demander l'utilisateur au lancement d'un jeu + + + + Pause emulation when in background + Mettre en pause l’émulation lorsque mis en arrière plan + + + + Hide mouse on inactivity + + + + + ConfigureGraphics + + + Form + Forme + + + + API Settings + + + + + API: + + + + + Device: + + + + + Graphics Settings + + + + + Use disk shader cache + Utiliser les shader cache de disque + + + + Use asynchronous GPU emulation + Utiliser l'émulation GPU asynchrone + + + + Aspect Ratio: + + + + + Default (16:9) + + + + + Force 4:3 + + + + + Force 21:9 + + + + + Stretch to Window + + + + + + Use global background color + + + + + Set background color: + + + + + Background Color: + Couleur de L’arrière plan : + + + + OpenGL Graphics Device + + + + + ConfigureGraphicsAdvanced + + + Form + + + + + Advanced Graphics Settings + + + + + Accuracy Level: + + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + + + + + Use VSync (OpenGL only) + + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + + + + + Use asynchronous shader building (experimental) + + + + + Use Fast GPU Time + + + + + Anisotropic Filtering: + + + + + Default + + + + + 2x + + + + + 4x + + + + + 8x + + + + + 16x + + + + + ConfigureHotkeys + + + Hotkey Settings + Paramètres de raccourcis + + + + Double-click on a binding to change it. + Double-cliquez sur une liaison pour la changer. + + + + Clear All + + + + + Restore Defaults + + + + + Action + Action + + + + Hotkey + Raccourci clavier + + + + Context + Contexte + + + + + Conflicting Key Sequence + Séquence de touches conflictuelle + + + + The entered key sequence is already assigned to: %1 + + + + + Restore Default + + + + + Clear + + + + + The default key sequence is already assigned to: %1 + + + + + ConfigureInput + + + ConfigureInput + + + + + + Player 1 + Joueur 1 + + + + + Player 2 + Joueur 2 + + + + + Player 3 + Joueur 3 + + + + + Player 4 + Joueur 4 + + + + + Player 5 + Joueur 5 + + + + + Player 6 + Joueur 6 + + + + + Player 7 + Joueur 7 + + + + + Player 8 + Joueur 8 + + + + + Advanced + Avancé + + + + Console Mode + + + + + Docked + + + + + Undocked + + + + + Vibration + + + + + % + + + + + Motion + + + + + Configure + Configurer + + + + Controllers + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + Connected + + + + + Defaults + + + + + Clear + + + + + ConfigureInputAdvanced + + + Configure Input + + + + + Joycon Colors + + + + + Player 1 + + + + + + + + + + + + L Body + + + + + + + + + + + + L Button + + + + + + + + + + + + R Body + + + + + + + + + + + + R Button + + + + + Player 2 + + + + + Player 3 + + + + + Player 4 + + + + + Player 5 + + + + + Player 6 + + + + + Player 7 + + + + + Player 8 + + + + + Other + + + + + Keyboard + + + + + + Advanced + + + + + Touchscreen + + + + + Mouse + + + + + Motion / Touch + + + + + + Configure + + + + + Debug Controller + + + + + ConfigureInputPlayer + + + Configure Input + Configurer les touches + + + + Connect Controller + + + + + + + Pro Controller + + + + + + Dual Joycons + + + + + + Left Joycon + + + + + + Right Joycon + + + + + + Handheld + + + + + Input Device + + + + + Any + + + + + Keyboard/Mouse + + + + + Profile + + + + + Save + + + + + New + + + + + Delete + + + + + Left Stick + Stick Gauche + + + + + + + + + Up + + + + + + + + + + Left + + + + + + + + + + Right + + + + + + + + + + Down + + + + + + + + Pressed + + + + + + + + Modifier + + + + + + Range + + + + + + % + + + + + + Deadzone: 0% + + + + + + Modifier Range: 0% + + + + + D-Pad + + + + + + L + + + + + + ZL + + + + + + Minus + + + + + + Capture + + + + + + Plus + + + + + + Home + + + + + + R + + + + + + ZR + + + + + + SL + + + + + + SR + + + + + Face Buttons + Boutons + + + + + X + + + + + + Y + + + + + + A + + + + + + B + + + + + Right Stick + Stick Droit + + + + + Deadzone: %1% + + + + + + Modifier Range: %1% + + + + + [waiting] + + + + + ConfigureMotionTouch + + + Configure Motion / Touch + + + + + Motion + + + + + Motion Provider: + + + + + Sensitivity: + + + + + Touch + + + + + Touch Provider: + + + + + Calibration: + + + + + (100, 50) - (1800, 850) + + + + + + + Configure + + + + + Use button mapping: + + + + + CemuhookUDP Config + + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + + + + + Server: + + + + + Port: + + + + + Pad: + + + + + Pad 1 + + + + + Pad 2 + + + + + Pad 3 + + + + + Pad 4 + + + + + Learn More + + + + + + Test + + + + + Mouse (Right Click) + + + + + + CemuhookUDP + + + + + Emulator Window + + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + + + + + Testing + + + + + Configuring + + + + + Test Successful + + + + + Successfully received data from the server. + + + + + Test Failed + + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + + + + + Citra + + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + + + + + ConfigureMouseAdvanced + + + Configure Mouse + Configuration de la souris + + + + Mouse Buttons + Boutons de la souris + + + + Forward: + Avant : + + + + Back: + Arrière : + + + + Left: + Gauche : + + + + Middle: + Milieu : + + + + Right: + Droite : + + + + + Clear + Effacer + + + + Defaults + + + + + [not set] + [pas défini] + + + + Restore Default + Réinitialiser + + + + [press key] + [appuyez sur une touche] + + + + ConfigurePerGame + + + Dialog + + + + + Info + + + + + Name + + + + + Title ID + + + + + Filename + + + + + Format + + + + + Version + + + + + Size + + + + + Developer + + + + + Add-Ons + + + + + General + + + + + System + + + + + Graphics + + + + + Adv. Graphics + + + + + Audio + + + + + Properties + + + + + Use global configuration (%1) + + + + + ConfigurePerGameAddons + + + Form + + + + + Patch Name + + + + + Version + + + + + ConfigureProfileManager + + + Form + Forme + + + + Profile Manager + Gestionnaire de profil + + + + Current User + Utilisateur actuel + + + + Username + Nom d'utilisateur + + + + Set Image + Mettre une image + + + + Add + Ajouter + + + + Rename + Renommer + + + + Remove + Supprimer + + + + Profile management is available only when game is not running. + La gestion de profil est accessible uniquement lorsque aucun jeu n'est en cours. + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Enter Username + Entrez un nom d'utilisateur + + + + Users + Utilisateurs + + + + Enter a username for the new user: + Entrez un nom d'utilisateur pour le nouvel utilisateur : + + + + Enter a new username: + Entrez un nouveau nom d'utilisateur : + + + + Confirm Delete + Confirmez la suppression + + + + You are about to delete user with name "%1". Are you sure? + Vous êtes sur le point de supprimer l'utilisateur avec le nom "%1". Êtes vous sûr? + + + + Select User Image + Sélectionner l'image de l'utilisateur + + + + JPEG Images (*.jpg *.jpeg) + Images JPEG (*.jpg *.jpeg) + + + + Error deleting image + Erreur dans la suppression de l'image + + + + Error occurred attempting to overwrite previous image at: %1. + Une erreur est survenue en essayant de changer l'image précédente à : %1. + + + + Error deleting file + Erreur dans la suppression du fichier + + + + Unable to delete existing file: %1. + Impossible de supprimer le fichier existant : %1. + + + + Error creating user image directory + Erreur dans la création du répertoire d'image de l'utilisateur + + + + Unable to create directory %1 for storing user images. + Impossible de créer le répertoire %1 pour stocker les images de l'utilisateur. + + + + Error copying user image + Erreur dans la copie de l'image de l'utilisateur + + + + Unable to copy image from %1 to %2 + Impossible de copier l'image de %1 à %2 + + + + ConfigureService + + + Form + Forme + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + Le BCAT et le chemin que Nintendo utilise pour envoyer des informations au jeux pour encourager sa communauté à débloquer du contenu additionel. + + + + BCAT Backend + BCAT Back-end + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Apprenez en plus sur le BCAT, le Boxcat, et les événements courants</span></a></p></body></html> + + + + The boxcat service is offline or you are not connected to the internet. + Le service boxcat est hors-ligne ou vous n'êtes pas connectés à internet. + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + Une erreur est survenu lors du traitement des données boxcat. Contactez les développeurs de yuzu. + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + La version de yuzu que vous utilisez est trop vieille ou trop nouvelle pour le serveur. Essayez la dernière mise à jour officiel de yuzu. + + + + + There are currently no events on boxcat. + Il n'y a pour le moment aucun événements sur boxcat. + + + + + Current Boxcat Events + + + + + Yuzu is retrieving the latest boxcat status... + Yuzu récupere le statut de boxcat le plus récent... + + + + ConfigureSystem + + + Form + Forme + + + + System Settings + Paramètres Système + + + + Region: + + + + + Auto + + + + + Default + + + + + CET + + + + + CST6CDT + + + + + Cuba + + + + + EET + + + + + Egypt + + + + + Eire + + + + + EST + + + + + EST5EDT + + + + + GB + + + + + GB-Eire + + + + + GMT + + + + + GMT+0 + + + + + GMT-0 + + + + + GMT0 + + + + + Greenwich + + + + + Hongkong + + + + + HST + + + + + Iceland + + + + + Iran + + + + + Israel + + + + + Jamaica + + + + + + Japan + + + + + Kwajalein + + + + + Libya + + + + + MET + + + + + MST + + + + + MST7MDT + + + + + Navajo + + + + + NZ + + + + + NZ-CHAT + + + + + Poland + + + + + Portugal + + + + + PRC + + + + + PST8PDT + + + + + ROC + + + + + ROK + + + + + Singapore + + + + + Turkey + + + + + UCT + + + + + Universal + + + + + UTC + + + + + W-SU + + + + + WET + + + + + Zulu + + + + + USA + + + + + Europe + + + + + Australia + + + + + China + + + + + Korea + + + + + Taiwan + + + + + Time Zone: + + + + + Note: this can be overridden when region setting is auto-select + Note : ceci peut être remplacé quand le paramètre de région est réglé sur automatique + + + + Japanese (日本語) + Japonais (日本語) + + + + English + Anglais + + + + French (français) + Français (français) + + + + German (Deutsch) + Allemand (Deutsch) + + + + Italian (italiano) + Italien (italiano) + + + + Spanish (español) + Espagnol (español) + + + + Chinese + Chinois + + + + Korean (한국어) + Coréen (한국어) + + + + Dutch (Nederlands) + Néerlandais (Nederlands) + + + + Portuguese (português) + Portugais (português) + + + + Russian (Русский) + Russe (Русский) + + + + Taiwanese + Taïwanais + + + + British English + Anglais Britannique + + + + Canadian French + Français Canadien + + + + Latin American Spanish + Espagnol d'Amérique Latine + + + + Simplified Chinese + Chinois Simplifié + + + + Traditional Chinese (正體中文) + Chinois Traditionnel (正體中文) + + + + Custom RTC + RTC Customisé + + + + Language + Langue + + + + RNG Seed + Seed RNG + + + + Mono + Mono + + + + Stereo + Stéréo + + + + Surround + Surround + + + + Console ID: + ID de la Console : + + + + Sound output mode + Mode de sortie Audio + + + + d MMM yyyy h:mm:ss AP + d MMM yyyy h:mm:ss AP + + + + Regenerate + Regénérer + + + + System settings are available only when game is not running. + Les paramètres systèmes ne sont accessibles que lorsque le jeu n'est pas en cours. + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + Ceci remplacera la Switch virtuelle actuelle par une nouvelle. La Switch actuelle ne sera plus récupérable. cela peut entrainer des effets non désirés pendant le jeu. Ceci peut échouer si une configuration de sauvegarde périmée est utilisée. Continuer ? + + + + Warning + Avertissement + + + + Console ID: 0x%1 + ID de la Console : 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + + + + + Mapping: + + + + + New + + + + + Delete + + + + + Rename + + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + + + + + Delete Point + + + + + Button + + + + + X + X axis + + + + + Y + Y axis + + + + + New Profile + + + + + Enter the name for the new profile. + + + + + Delete Profile + + + + + Delete profile %1? + + + + + Rename Profile + + + + + New name: + + + + + [press key] + + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + Configurer l'Écran Tactile + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + Avertissement : les paramètres de cette page affecte la fonctionnalité intrinsèque de l'écran tactile émulée de yuzu. Toute modification pourrait aboutir à un comportement non désiré, comme par exemple : l'écran tactile qui ne fonctionne plus, de manières partielle ou totale. N'utilisez cette page que si ne vous ne savez ce que vos faites. + + + + Touch Parameters + Paramètres Tactiles + + + + Touch Diameter Y + Diamètres Tactiles Y + + + + Finger + Doigt + + + + Touch Diameter X + Diamètres Tactiles X + + + + Rotational Angle + Angle de Rotation + + + + Restore Defaults + Restaurer + + + + ConfigureUi + + + Form + Forme + + + + General + Général + + + + Note: Changing language will apply your configuration. + Note : Changer la langue appliquera votre configuration. + + + + Interface language: + Language de l'interface : + + + + Theme: + Thème : + + + + Game List + Liste de jeux + + + + Show Add-Ons Column + Afficher la colonne Des Add-Ons + + + + Icon Size: + Grosseur de l'icône + + + + Row 1 Text: + Texte rangée 1 : + + + + Row 2 Text: + Texte rangée 2 : + + + + Screenshots + + + + + Ask Where To Save Screenshots (Windows Only) + + + + + Screenshots Path: + + + + + ... + + + + + Select Screenshots Path... + + + + + <System> + <System> + + + + English + Anglais + + + + ConfigureWeb + + + Form + Forme + + + + yuzu Web Service + Service Web yuzu + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + En fournissant votre surnom et token, vous acceptez de permettre à yuzu de collecter des données d'utilisation supplémentaires, qui peuvent contenir des informations d'identification de l'utilisateur. + + + + + Verify + Vérifier + + + + Sign up + Se connecter + + + + Token: + Token : + + + + Username: + Pseudonyme : + + + + What is my token? + Qu'est ce que mon token ? + + + + Telemetry + Télémétrie + + + + Share anonymous usage data with the yuzu team + Partager les données d'utilisation anonymes avec l'équipe yuzu + + + + Learn more + En savoir plus + + + + Telemetry ID: + ID Télémétrie : + + + + Regenerate + Regénérer + + + + Discord Presence + Statut Discord + + + + Show Current Game in your Discord Status + Afficher le jeu en cours dans le Statut Discord + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">En savoir plus</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Se connecter</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">Quel est mon token ?</span></a> + + + + + Telemetry ID: 0x%1 + ID Télémétrie : 0x%1 + + + + + Unspecified + Non-spécifié + + + + Token not verified + Token non vérifié + + + + Token was not verified. The change to your token has not been saved. + Le token n'a pas été vérifié. Le changement à votre token n'a pas été enregistré. + + + + Verifying... + Vérification... + + + + Verification failed + Échec de la vérification + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + Échec de la vérification. Vérifiez si vous avez correctement entrez votre token, et que votre connection internet fonctionne. + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Des données anonymes sont collectées</a> pour aider à améliorer yuzu. <br/><br/>Voulez-vous partager vos données d'utilisations avec nous ? + + + + Telemetry + Télémétrie + + + + Text Check Failed + Échec de la vérification du texte + + + + Loading Web Applet... + Chargement du Web Applet... + + + + Exit Web Applet + Quitter le Web Applet + + + + Exit + Quitter + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + Pour quitter l'application web, utilisez les contrôles réserver par le jeu pour sélectionner exit, sélectionner l'option 'Quitter le Web Applet' dans la barre menu, ou appuyez sur la touche 'Entrer'. + + + + Web Applet + Web Applet + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + Cette version de yuzu à été construit sans le support de QtWebEngine, ce qui veut dire que yuzu ne peut pas correctement afficher le manuel du jeu ou la page web demandée. + + + + The amount of shaders currently being built + + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + Valeur actuelle de la vitesse de l'émulation. Des valeurs plus hautes ou plus basses que 100% indique que l'émulation fonctionne plus vite ou plus lentement qu'une véritable Switch. + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + Combien d'image par seconde le jeu est en train d'afficher. Ceci vas varier de jeu en jeu et de scènes en scènes. + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + Temps pris pour émuler une image par seconde de la switch, sans compter le limiteur d'image par seconde ou la synchronisation verticale. Pour une émulation à pleine vitesse, ceci devrait être au maximum à 16.67 ms. + + + + DOCK + + + + + ASYNC + + + + + MULTICORE + + + + + VULKAN + + + + + OPENGL + + + + + Clear Recent Files + Effacer les Fichiers Récents + + + + Warning Outdated Game Format + Avertissement : Le Format de jeu est dépassé + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + Vous utilisez un format de ROM déconstruite pour ce jeu, qui est donc un format dépassé qui à été remplacer par d'autre. Par exemple les formats NCA, NAX, XCI, ou NSP. Les destinations de ROM déconstruites manque des icônes, des métadonnée et du support de mise à jour.<br><br>Pour une explication des divers formats Switch que yuzu supporte, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>Regardez dans le wiki</a>. Ce message ne sera pas montré une autre fois. + + + + + Error while loading ROM! + Erreur lors du chargement de la ROM ! + + + + The ROM format is not supported. + Le format de la ROM n'est pas supporté. + + + + An error occurred initializing the video core. + Une erreur s'est produite lors de l'initialisation du noyau dédié à la vidéo. + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + yuzu a rencontré une erreur fatale, veuillez consulter les logs pour plus de détails. Pour plus d'informations sur l'accès aux logs, veuillez consulter la page suivante : <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'> Comment télécharger le fichier des logs </a>.<br/><br/>Voulez-vous quitter la liste des jeux ? Une émulation continue peut entraîner des crashs, la corruption de données de sauvegarde ou d’autres bugs. + + + + Error while loading ROM! + + + + + An unknown error occurred. Please see the log for more details. + Une erreur inconnue est survenue. Veuillez consulter le journal des logs pour plus de détails. + + + + Start + Démarrer + + + + Save Data + Enregistrer les données + + + + Mod Data + Donnés du Mod + + + + Error Opening %1 Folder + Erreur dans l'ouverture du dossier %1. + + + + + Folder does not exist! + Le dossier n'existe pas ! + + + + Error Opening Transferable Shader Cache + Erreur lors de l'ouverture des Shader Cache Transferable + + + + + A shader cache for this title does not exist. + Un shader cache pour ce titre n'existe pas. + + + + Contents + + + + + Update + + + + + DLC + + + + + Remove Entry + + + + + Remove Installed Game %1? + + + + + + + + + Successfully Removed + + + + + Successfully removed the installed base game. + + + + + + + Error Removing %1 + + + + + The base game is not installed in the NAND and cannot be removed. + + + + + Successfully removed the installed update. + + + + + There is no update installed for this title. + + + + + There are no DLC installed for this title. + + + + + Successfully removed %1 installed DLC. + + + + + Delete Transferable Shader Cache? + + + + + Remove Custom Game Configuration? + + + + + Remove File + + + + + + Error Removing Transferable Shader Cache + + + + + Successfully removed the transferable shader cache. + + + + + Failed to remove the transferable shader cache. + + + + + + Error Removing Custom Configuration + + + + + A custom configuration for this title does not exist. + + + + + Successfully removed the custom game configuration. + + + + + Failed to remove the custom game configuration. + + + + + RomFS Extraction Failed! + L'extraction de la RomFS a échoué ! + + + + There was an error copying the RomFS files or the user cancelled the operation. + Une erreur s'est produite lors de la copie des fichiers RomFS ou l'utilisateur a annulé l'opération. + + + + Full + Plein + + + + Skeleton + Squelette + + + + Select RomFS Dump Mode + Sélectionnez le mode d'extraction de la RomFS + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + Veuillez sélectionner la manière dont vous souhaitez que le fichier RomFS soit extrait.<br>Full copiera tous les fichiers dans le nouveau répertoire, tandis que<br>skeleton créera uniquement la structure de répertoires. + + + + Extracting RomFS... + Extraction de la RomFS ... + + + + + Cancel + Annuler + + + + RomFS Extraction Succeeded! + Extraction de la RomFS réussi ! + + + + The operation completed successfully. + L'opération s'est déroulée avec succès. + + + + Error Opening %1 + Erreur lors de l'ouverture %1 + + + + Select Directory + Sélectionner un répertoire + + + + Properties + Propriétés + + + + The game properties could not be loaded. + Les propriétés du jeu n'ont pas pu être chargées. + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Exécutable Switch (%1);;Tous les fichiers (*.*) + + + + Load File + Charger un fichier + + + + Open Extracted ROM Directory + Ouvrir le dossier des ROM extraites + + + + Invalid Directory Selected + Destination sélectionnée invalide + + + + The directory you have selected does not contain a 'main' file. + Le répertoire que vous avez sélectionné ne contient pas de fichier "main". + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + + + + + Install Files + + + + + Installing file "%1"... + Installation du fichier "%1" ... + + + + Install Results + + + + + System Application + Application Système + + + + System Archive + Archive Système + + + + System Application Update + Mise à jour de l'application système + + + + Firmware Package (Type A) + Paquet micrologiciel (Type A) + + + + Firmware Package (Type B) + Paquet micrologiciel (Type B) + + + + Game + Jeu + + + + Game Update + Mise à jour de jeu + + + + Game DLC + DLC de jeu + + + + Delta Title + Titre Delta + + + + Select NCA Install Type... + Sélectionner le type d'installation du NCA... + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + Veuillez sélectionner le type de titre auquel vous voulez installer ce NCA : +(Dans la plupart des cas, le titre par défaut : 'Jeu' est correct.) + + + + Failed to Install + Échec de l'installation + + + + The title type you selected for the NCA is invalid. + Le type de titre que vous avez sélectionné pour le NCA n'est pas valide. + + + + File not found + Fichier non trouvé + + + + File "%1" not found + Fichier "%1" non trouvé + + + + + Continue + Continuer + + + + Error Display + Erreur d'affichage + + + + Missing yuzu Account + Compte yuzu manquant + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + Pour soumettre un test de compatibilité pour un jeu, vous devez lier votre compte yuzu.<br><br/>Pour lier votre compte yuzu, aller à Emulation &gt; Configuration&gt; Web. + + + + Error opening URL + + + + + Unable to open the URL "%1". + + + + + Amiibo File (%1);; All Files (*.*) + Fichier Amiibo (%1);; Tous les fichiers (*.*) + + + + Load Amiibo + Charger un Amiibo + + + + Error opening Amiibo data file + Erreur lors de l'ouverture du fichier de données Amiibo + + + + Unable to open Amiibo file "%1" for reading. + Impossible d'ouvrir le fichier Amiibo "%1" à lire. + + + + Error reading Amiibo data file + Erreur lors de la lecture du fichier de données Amiibo + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + Impossible de lire entièrement les données Amiibo. On s'attend à lire %1 octets, mais il n'a pu lire que %2 octets + + + + Error loading Amiibo data + Erreur lors du chargement des données Amiibo + + + + Unable to load Amiibo data. + Impossible de charger les données Amiibo. + + + + Capture Screenshot + Capture d'écran + + + + PNG Image (*.png) + Image PNG (*.png) + + + + Speed: %1% / %2% + Vitesse : %1% / %2% + + + + Speed: %1% + Vitesse : %1% + + + + Game: %1 FPS + Jeu : %1 FPS + + + + Frame: %1 ms + Frame : %1 ms + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + Le jeu que vous essayez de charger a besoin de fichiers additionnels que vous devez extraire depuis votre Switch avant de jouer.<br/><br/>Pour plus d'information sur l'extraction de ces fichiers, veuillez consulter la page du wiki suivante : <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Extraction des archives système et des Shared Fonts depuis la Switch</a>.<br/><br/>Voulez-vous quitter la liste des jeux ? Une émulation continue peut entraîner des crashs, la corruption de données de sauvegarde ou d’autres bugs. + + + + yuzu was unable to locate a Switch system archive. %1 + yuzu n'a pas été capable de localiser un système d'archive Switch. %1 + + + + yuzu was unable to locate a Switch system archive: %1. %2 + yuzu n'a pas été capable de localiser un système d'archive Switch. %1. %2 + + + + System Archive Not Found + Archive système introuvable + + + + System Archive Missing + Archive Système Manquante + + + + yuzu was unable to locate the Switch shared fonts. %1 + Yuzu n'a pas été capable de localiser les polices partagées de la Switch. %1 + + + + Shared Fonts Not Found + Les polices partagées non pas été trouvées + + + + Shared Font Missing + Polices Partagée Manquante + + + + Fatal Error + Erreur fatale + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + yuzu a rencontré une erreur fatale, veuillez consulter les logs pour plus de détails. Pour plus d'informations sur l'accès aux logs, veuillez consulter la page suivante : <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'> Comment télécharger le fichier des logs </a>.<br/><br/>Voulez-vous quitter la liste des jeux ? Une émulation continue peut entraîner des crashs, la corruption de données de sauvegarde ou d’autres bugs. + + + + Fatal Error encountered + Erreur Fatale rencontrée + + + + Confirm Key Rederivation + Confirmer la réinstallation de la clé + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + Vous êtes sur le point de réinstaller toutes vos clés. +Si vous ne savez pas ce que cela veut dire et ce que vous faites, +cela peut être une action potentiellement destructrice. +S'il vous plaît assurez-vous que c'est bien ce que vous voulez +et éventuellement faites des sauvegardes. + +Cela supprimera vos fichiers de clé générés automatiquement et ré exécutera le module d'installation de clé. + + + + Missing fuses + + + + + - Missing BOOT0 + + + + + - Missing BCPKG2-1-Normal-Main + + + + + - Missing PRODINFO + + + + + Derivation Components Missing + + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + Installation des clés... +Cela peut prendre jusqu'à une minute en fonction +des performances de votre système. + + + + Deriving Keys + Installation des clés + + + + Select RomFS Dump Target + Sélectionner la cible d'extraction du RomFS + + + + Please select which RomFS you would like to dump. + Veuillez sélectionner quel RomFS vous voulez extraire. + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + Êtes vous sûr de vouloir fermer yuzu ? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + Êtes-vous sûr d'arrêter l'émulation ? Tout progrès non enregistré sera perdu. + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + L'application en cours a demandé à yuzu de ne pas quitter. + +Voulez-vous ignorer ceci and quitter quand même ? + + + + GRenderWindow + + + OpenGL not available! + + + + + yuzu has not been compiled with OpenGL support. + + + + + Vulkan not available! + + + + + yuzu has not been compiled with Vulkan support. + + + + + Error while initializing OpenGL 4.3! + + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + + + + + Error while initializing OpenGL! + + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + + + + + GameList + + + + Name + Nom + + + + + Compatibility + Compatibilité + + + + + Add-ons + Extensions + + + + + + + File type + Type de fichier + + + + + + + Size + Taille + + + + Open Save Data Location + Ouvrir l'emplacement des données de sauvegarde + + + + Open Mod Data Location + Ouvrir l'emplacement des données des mods + + + + Open Transferable Shader Cache + Ouvrir le cache de shaders transférable + + + + Remove + + + + + Remove Installed Update + + + + + Remove All Installed DLC + + + + + Remove Shader Cache + + + + + Remove Custom Configuration + + + + + Remove All Installed Contents + + + + + Dump RomFS + Extraire la RomFS + + + + Copy Title ID to Clipboard + Copier l'ID du titre dans le Presse-papiers + + + + Navigate to GameDB entry + Accédez à l'entrée GameDB + + + + Properties + Propriétés + + + + Scan Subfolders + Scanner les sous-dossiers + + + + Remove Game Directory + Supprimer le répertoire du jeu + + + + ▲ Move Up + + + + + ▼ Move Down + + + + + Open Directory Location + Ouvrir l'emplacement du répertoire + + + + GameListItemCompat + + + Perfect + Parfait + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + Le jeu fonctionne parfaitement, de manière fluide sans aucun bug audio ou graphique, toutes les fonctionnalités testées fonctionnent comme prévu sans +aucune modification nécessaire. + + + + Great + Bon + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + Le jeu fonctionne correctement avec des bugs audio ou graphiques mineurs et est jouable du début à la fin. Nécessite peut être des +modifications + + + + Okay + Ok + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + Le jeu fonctionne avec des bugs audio ou graphiques majeurs, mais il est jouable du début à la fin avec des modifications. + + + + Bad + Mauvais + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + Le jeu fonctionne mais avec des bugs audio et graphiques majeurs. Impossible de progresser dans certaines zones à causes des bugs +même avec des modifications. + + + + Intro/Menu + Intro/Menu + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + Le jeu est complètement injouable à cause de bugs audio et graphiques. Impossible de progresser plus loin que l'écran de démarrage. + + + + Won't Boot + Ne démarre pas + + + + The game crashes when attempting to startup. + Le jeu crash au lancement. + + + + Not Tested + Non testé + + + + The game has not yet been tested. + Le jeu n'a pas encore été testé. + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + Double-cliquez pour ajouter un nouveau dossier à la liste de jeux + + + + GameListSearchField + + + Filter: + Filtre : + + + + Enter pattern to filter + Entrez un motif à filtrer + + + + InstallDialog + + + Please confirm these are the files you wish to install. + + + + + Installing an Update or DLC will overwrite the previously installed one. + + + + + Install + + + + + Install Files to NAND + + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + Chargement des shaders 387 / 1628 + + + + Loading Shaders %v out of %m + Chargement des shaders %v sur %m + + + + Estimated Time 5m 4s + Temps Estimé 5m 4s + + + + Loading... + Chargement... + + + + Loading Shaders %1 / %2 + Chargement des shaders %1 / %2 + + + + Launching... + Lancement... + + + + Estimated Time %1 + Temps Estimé %1 + + + + MainWindow + + + yuzu + yuzu + + + + &File + &Fichier + + + + Recent Files + Fichiers récents + + + + &Emulation + &Émulation + + + + &View + &Vue + + + + Debugging + Débogage + + + + Tools + Outils + + + + &Help + &Aide + + + + Install Files to NAND... + + + + + Load File... + Charger un fichier ... + + + + Load Folder... + Charger un dossier ... + + + + E&xit + Q&uitter + + + + &Start + &Démarrer + + + + &Pause + &Pause + + + + &Stop + &Arrêter + + + + Reinitialize keys... + Réinitialiser les clés ... + + + + About yuzu + À propos de yuzu + + + + Single Window Mode + Mode fenêtre unique + + + + Configure... + Configurer ... + + + + Display Dock Widget Headers + Afficher les "Dock Widget Headers" + + + + Show Filter Bar + Afficher la barre de filtre + + + + Show Status Bar + Afficher la barre d'état + + + + Reset Window Size + + + + + Fullscreen + Plein écran + + + + Restart + Redémarrer + + + + Load Amiibo... + Charger un Amiibo + + + + Report Compatibility + Signaler la compatibilité + + + + Open Mods Page + + + + + Open Quickstart Guide + + + + + FAQ + + + + + Open yuzu Folder + Ouvrir le dossier de yuzu + + + + Capture Screenshot + Prendre une capture d'ecran + + + + Configure Current Game.. + + + + + MicroProfileDialog + + + MicroProfile + MicroProfil + + + + QObject + + + Installed SD Titles + Titres installés sur la SD + + + + Installed NAND Titles + Titres installés sur la NAND + + + + System Titles + Titres Système + + + + Add New Game Directory + Ajouter un nouveau répertoire de jeu + + + + + + Shift + Maj + + + + + + Ctrl + Ctrl + + + + + + Alt + Alt + + + + + + + [not set] + [non défini] + + + + + + Hat %1 %2 + Chapeau %1 %2 + + + + + + Axis %1%2 + Axe %1%2 + + + + + + Button %1 + Bouton %1 + + + + + + + [unknown] + [inconnu] + + + + + Click 0 + + + + + + Click 1 + + + + + + Click 2 + + + + + + Click 3 + + + + + + Click 4 + + + + + GC Axis %1%2 + + + + + GC Button %1 + + + + + + [unused] + [inutilisé] + + + + + Axis %1 + Axe %1 + + + + + GC Axis %1 + + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + Une erreur s'est produite. +Veuillez essayer à nouveau ou contactez le développeur du logiciel. + +Code d'Erreur: %1-%2 (0x%3) + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + Une erreur s'est produite le %1 à %2. +Veuillez essayer à nouveau ou contactez le développeur du logiciel. + +Code d'Erreur: %3-%4 (0x%5) + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + Une erreur s'est produite. +Code d'Erreur: %1-%2 (0x%3) + +%4 + +%5 + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + Choisir un utilisateur : + + + + Users + Utilisateurs + + + + Profile Selector + Sélecteur de profil + + + + QtSoftwareKeyboardDialog + + + Enter text: + Entrer le texte : + + + + Software Keyboard + Clavier virtuel + + + + SequenceDialog + + + Enter a hotkey + Entrez une hotkey + + + + WaitTreeCallstack + + + Call stack + Pile d'exécution + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + en attente du "mutex" 0x%1 + + + + has waiters: %1 + En attente : %1 + + + + owner handle: 0x%1 + propriétaire de la manche : 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + en attente de tous les objets + + + + waiting for one of the following objects + en attente d'un des objets suivants + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + + + + + waited by no thread + + + + + WaitTreeThread + + + + running + en cours + + + + ready + prêt + + + + + paused + en pause + + + + waiting for HLE return + en attente du retour de HLE + + + + sleeping + en veille + + + + waiting for IPC reply + en attente de réponse IPC + + + + waiting for objects + En attente d'objets + + + + waiting for mutex + En attente du "mutex" + + + + waiting for condition variable + en attente de la variable conditionnelle + + + + waiting for address arbiter + En attente de l'adresse arbitre + + + + dormant + dormant + + + + dead + Mort + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + idéal + + + + core %1 + cœur %1 + + + + Unknown processor %1 + Processeur inconnu %1 + + + + processor = %1 + Processeur = %1 + + + + ideal core = %1 + Cœur idéal = %1 + + + + affinity mask = %1 + masque d'affinité = %1 + + + + thread id = %1 + id du fil = %1 + + + + priority = %1(current) / %2(normal) + priorité = %1(courant) / %2(normal) + + + + last running ticks = %1 + dernier tick en cours = %1 + + + + not waiting for mutex + en attente du "mutex" + + + + WaitTreeThreadList + + + waited by thread + attendu par un fil + + + + WaitTreeWidget + + + Wait Tree + Arbre d'attente + + + \ No newline at end of file diff --git a/dist/languages/it.ts b/dist/languages/it.ts new file mode 100644 index 000000000..09c832fd3 --- /dev/null +++ b/dist/languages/it.ts @@ -0,0 +1,4724 @@ + + + AboutDialog + + + About yuzu + Riguardo yuzu + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu è un emulatore open source sperimentale per Nintendo Switch sotto licenza GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">Questo software non dovrebbe essere utilizzato per giocare a giochi che non hai ottenuto legalmente</span></p></body></html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Sito</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Codice Sorgente</span></a> I <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributori</span></a> I <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Licenza</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; è un marchio registrato di Nintendo. yuzu non è affiliato a Nintendo in alcun modo.</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + In comunicazione con il server... + + + + Cancel + Annulla + + + + Touch the top left corner <br>of your touchpad. + + + + + Now touch the bottom right corner <br>of your touchpad. + + + + + Configuration completed! + Configurazione completata! + + + + OK + OK + + + + CompatDB + + + Report Compatibility + Segnala Compatibilità + + + + + Report Game Compatibility + Segnala la Compatibilità di un Gioco + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">Se dovessi scegliere di inviare un rapporto alla </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Lista Compatibilità di yuzu</span></a><span style=" font-size:10pt;">, Le seguenti informazioni saranno raccolte e visualizzate sul sito: </span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informazioni sull'Hardware (CPU / GPU / Sistema Operativo)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Quale versione di yuzu stai utilizzando</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">L'account di yuzu connesso</li></ul></body></html> + + + + Perfect + Perfetto + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>Il gioco funziona impeccabilmente senza errori di audio o grafici.</p></body></html> + + + + Great + Buono + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>Il gioco funziona con qualche errore grafico minore o glitch nell'audio ed è giocabile dall'inizio alla fine. Potrebbe richiedere qualche metodo alternativo.</p></body></html> + + + + Okay + Ok + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>Il gioco funziona e ha errori grafici gravi o glitch nell'audio ma è possibile giocare dall'inizio alla fine con dei metodi alternativi.</p></body></html> + + + + Bad + Scadente + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>Il gioco presenta alcuni errori audio o video. E' impossibile proseguire in alcune aree a causa della presenza di glitch persino utilizzando metodi alternativi.</p></body></html> + + + + Intro/Menu + Intro/Menu + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>Questo gioco è completamente ingiocabile a causa di gravi errori audio o video. E' impossibile proseguire oltre la schermata iniziale.</p></body></html> + + + + Won't Boot + Non si Avvia + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>Il gioco si blocca quando viene avviato.</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <html><head/><body><p>Indipendentemente da velocità o prestazioni, come ti è sembrato giocare questo gioco dall'inizio alla fine su questa versione di yuzu?</p></body></html> + + + + Thank you for your submission! + Grazie per la tua segnalazione! + + + + Submitting + Inviando + + + + Communication error + Errore di comunicazione + + + + An error occured while sending the Testcase + E' stato riscontrato un errore mandando il Testcase + + + + Next + Prossimo + + + + ConfigureAudio + + + Audio + Audio + + + + Output Engine: + Motore dell'Output: + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + L'effetto post-processing regola la velocità dell'audio per fare in modo che sia uguale alla velocità del gioco e prevenire problemi di audio. Questo tuttavia aumenta la latenza dell'audio. + + + + Enable audio stretching + Abilita allungamento dell'audio + + + + Audio Device: + Dispositivo Audio: + + + + Use global volume + Usa volume globale + + + + Set volume: + Imposta volume: + + + + Volume: + Volume: + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + + + + + General + Generale + + + + Accuracy: + + + + + Accurate + + + + + Unsafe + Non sicuro + + + + Enable Debug Mode + Abilita Modalità Debug + + + + We recommend setting accuracy to "Accurate". + + + + + Unsafe CPU Optimization Settings + Impostazioni Ottimizzazione CPU non sicura + + + + These settings reduce accuracy for speed. + + + + + Unfuse FMA (improve performance on CPUs without FMA) + + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + + + + + Faster FRSQRTE and FRECPE + + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + + + + + CPU settings are available only when game is not running. + + + + + Setting CPU to Debug Mode + + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + + + + + ConfigureCpuDebug + + + Form + + + + + Toggle CPU Optimizations + + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + + + + + Enable inline page tables + + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + + + + Enable block linking + + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + + + + Enable return stack buffer + + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + + + + Enable fast dispatcher + + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + + + + Enable context elimination + + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + + + + Enable constant propagation + + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + + + + Enable miscellaneous optimizations + + + + + + <div>Enables miscellaneous IR optimizations.</div> + + + + + + Enable misalignment check reduction + + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + + + + CPU settings are available only when game is not running. + + + + + ConfigureDebug + + + Form + Form + + + + GDB + GDB + + + + Enable GDB Stub + Abilita GDB Stub + + + + Port: + Porta: + + + + Logging + Logging + + + + Global Log Filter + Filtro Log Globale + + + + Show Log Console (Windows Only) + Mostra Console Log (Solo per Windows) + + + + Open Log Location + Apri Cartella Log + + + + Homebrew + Homebrew + + + + Arguments String + Stringa degli Argomenti + + + + Graphics + Grafica + + + + When checked, the graphics API enters in a slower debugging mode + + + + + Enable Graphics Debugging + + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + + + + + Disable Macro JIT + + + + + Dump + + + + + Enable Verbose Reporting Services + Abilita Servizi di Segnalazione Dettagliata + + + + This will be reset automatically when yuzu closes. + Verrà ripristinato automaticamente dopo la chiusura di yuzu. + + + + Advanced + Avanzate + + + + Kiosk (Quest) Mode + Modalità Kiosk (Quest) + + + + ConfigureDebugController + + + Configure Debug Controller + + + + + Clear + + + + + Defaults + + + + + ConfigureDialog + + + yuzu Configuration + Configurazione di yuzu + + + + + + + General + Generale + + + + + UI + Interfaccia + + + + Game List + Lista Giochi + + + + + + + System + Sistema + + + + + + Profiles + Profili + + + + + + Filesystem + Filesystem + + + + + + + Controls + Comandi + + + + + + Hotkeys + Hotkey + + + + + + + CPU + + + + + + + + + + Debug + Debug + + + + + + + Graphics + Grafica + + + + + Advanced + + + + + GraphicsAdvanced + + + + + + + + Audio + Audio + + + + + + Web + Web + + + + + + Services + Servizi + + + + ConfigureFilesystem + + + Form + Form + + + + Storage Directories + Cartelle di Archiviazione + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + Scheda SD + + + + Gamecard + Cartuccia di gioco + + + + Path + Percorso + + + + Inserted + Inserita + + + + Current Game + Gioco In Uso + + + + Patch Manager + Gestione Patch + + + + Dump Decompressed NSOs + Estrai NSO Decompressi + + + + Dump ExeFS + Estrai ExeFS + + + + Mod Load Root + Cartella Caricamento Mod + + + + Dump Root + Cartella di Estrazione + + + + Caching + Caching + + + + Cache Directory + Cartella Cache + + + + Cache Game List Metadata + Crea Cache di Metadati Lista Giochi + + + + + + + Reset Metadata Cache + Elimina Cache dei Metadati + + + + Select Emulated NAND Directory... + Seleziona Cartella NAND Emulata + + + + Select Emulated SD Directory... + Seleziona Cartella Scheda SD Emulata + + + + Select Gamecard Path... + Seleziona Percorso Cartuccia di Gioco + + + + Select Dump Directory... + Seleziona Cartella di Estrazione + + + + Select Mod Load Directory... + Seleziona Cartella per il Caricamento delle Mod + + + + Select Cache Directory... + Seleziona Cartella della Cache + + + + The metadata cache is already empty. + La cache dei metadati è già vuota. + + + + The operation completed successfully. + L'operazione è stata completata con successo. + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + Impossibile eliminare cache dei metadati. Potrebbe essere in uso o inesistente. + + + + ConfigureGeneral + + + Form + Form + + + + General + Generale + + + + Limit Speed Percent + Percentuale Limite Velocità + + + + % + % + + + + Multicore CPU Emulation + + + + + Confirm exit while emulation is running + Richiedi conferma di uscire mentre l'emulazione è in corso + + + + Prompt for user on game boot + Richiedi utente all'avvio di un gioco + + + + Pause emulation when in background + Pausa emulazione quando in background + + + + Hide mouse on inactivity + + + + + ConfigureGraphics + + + Form + Form + + + + API Settings + Impostazioni API + + + + API: + API: + + + + Device: + Dispositivo: + + + + Graphics Settings + Impostazioni grafiche + + + + Use disk shader cache + Usa cache shader su disco + + + + Use asynchronous GPU emulation + Usa emulazione GPU asincrona + + + + Aspect Ratio: + + + + + Default (16:9) + Default (16:9) + + + + Force 4:3 + + + + + Force 21:9 + + + + + Stretch to Window + + + + + + Use global background color + Usa il colore di sfondo globale + + + + Set background color: + Imposta colore dello sfondo: + + + + Background Color: + Colore Sfondo: + + + + OpenGL Graphics Device + + + + + ConfigureGraphicsAdvanced + + + Form + + + + + Advanced Graphics Settings + + + + + Accuracy Level: + + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + + + + + Use VSync (OpenGL only) + + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + + + + + Use asynchronous shader building (experimental) + + + + + Use Fast GPU Time + + + + + Anisotropic Filtering: + + + + + Default + + + + + 2x + 2x + + + + 4x + 4x + + + + 8x + 8x + + + + 16x + 16x + + + + ConfigureHotkeys + + + Hotkey Settings + Impostazioni Hotkey + + + + Double-click on a binding to change it. + Clicca due volte su un collegamento per cambiarlo. + + + + Clear All + + + + + Restore Defaults + + + + + Action + Azione + + + + Hotkey + Hotkey + + + + Context + Contesto + + + + + Conflicting Key Sequence + Conflitto nella Sequenza di Tasti + + + + The entered key sequence is already assigned to: %1 + + + + + Restore Default + + + + + Clear + + + + + The default key sequence is already assigned to: %1 + + + + + ConfigureInput + + + ConfigureInput + + + + + + Player 1 + Giocatore 1 + + + + + Player 2 + Giocatore 2 + + + + + Player 3 + Giocatore 3 + + + + + Player 4 + Giocatore 4 + + + + + Player 5 + Giocatore 5 + + + + + Player 6 + Giocatore 6 + + + + + Player 7 + Giocatore 7 + + + + + Player 8 + Giocatore 8 + + + + + Advanced + Avanzate + + + + Console Mode + + + + + Docked + + + + + Undocked + + + + + Vibration + Vibrazione + + + + % + % + + + + Motion + + + + + Configure + Configura + + + + Controllers + + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + 6 + 6 + + + + 7 + 7 + + + + 8 + 8 + + + + Connected + Connesso + + + + Defaults + Predefiniti + + + + Clear + + + + + ConfigureInputAdvanced + + + Configure Input + + + + + Joycon Colors + + + + + Player 1 + Giocatore 1 + + + + + + + + + + + L Body + + + + + + + + + + + + L Button + + + + + + + + + + + + R Body + + + + + + + + + + + + R Button + + + + + Player 2 + Giocatore 2 + + + + Player 3 + Giocatore 3 + + + + Player 4 + Giocatore 4 + + + + Player 5 + Giocatore 5 + + + + Player 6 + Giocatore 6 + + + + Player 7 + Giocatore 7 + + + + Player 8 + Giocatore 8 + + + + Other + Altro + + + + Keyboard + Tastiera + + + + + Advanced + Avanzate + + + + Touchscreen + Touchscreen + + + + Mouse + Mouse + + + + Motion / Touch + + + + + + Configure + Configura + + + + Debug Controller + Debug Controller + + + + ConfigureInputPlayer + + + Configure Input + Configura Input + + + + Connect Controller + + + + + + + Pro Controller + + + + + + Dual Joycons + + + + + + Left Joycon + + + + + + Right Joycon + + + + + + Handheld + + + + + Input Device + + + + + Any + + + + + Keyboard/Mouse + + + + + Profile + + + + + Save + Salva + + + + New + Nuovo + + + + Delete + Elimina + + + + Left Stick + Stick Sinistro + + + + + + + + + Up + Su + + + + + + + + + Left + Sinistra + + + + + + + + + Right + Destra + + + + + + + + + Down + Giù + + + + + + + Pressed + Premuto + + + + + + + Modifier + Modificatore + + + + + Range + + + + + + % + % + + + + + Deadzone: 0% + + + + + + Modifier Range: 0% + + + + + D-Pad + + + + + + L + L + + + + + ZL + ZL + + + + + Minus + Meno + + + + + Capture + Cattura + + + + + Plus + Più + + + + + Home + Home + + + + + R + R + + + + + ZR + ZR + + + + + SL + SL + + + + + SR + SR + + + + Face Buttons + Pulsanti Frontali + + + + + X + X + + + + + Y + Y + + + + + A + A + + + + + B + B + + + + Right Stick + Stick Destro + + + + + Deadzone: %1% + + + + + + Modifier Range: %1% + + + + + [waiting] + [in attesa] + + + + ConfigureMotionTouch + + + Configure Motion / Touch + + + + + Motion + + + + + Motion Provider: + + + + + Sensitivity: + Sensibilità: + + + + Touch + Touch + + + + Touch Provider: + + + + + Calibration: + Calibrazione: + + + + (100, 50) - (1800, 850) + (100, 50) - (1800, 850) + + + + + + Configure + Configura + + + + Use button mapping: + + + + + CemuhookUDP Config + + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + + + + + Server: + + + + + Port: + + + + + Pad: + + + + + Pad 1 + + + + + Pad 2 + + + + + Pad 3 + + + + + Pad 4 + + + + + Learn More + + + + + + Test + + + + + Mouse (Right Click) + + + + + + CemuhookUDP + + + + + Emulator Window + + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + + + + + Testing + + + + + Configuring + + + + + Test Successful + + + + + Successfully received data from the server. + + + + + Test Failed + + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + + + + + Citra + + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + + + + + ConfigureMouseAdvanced + + + Configure Mouse + Configura Mouse + + + + Mouse Buttons + Pulsanti Mouse + + + + Forward: + Avanti: + + + + Back: + Indietro: + + + + Left: + Sinistro: + + + + Middle: + Centrale: + + + + Right: + Destro: + + + + + Clear + Cancella + + + + Defaults + + + + + [not set] + [non impostato] + + + + Restore Default + Ripristina Predefinito + + + + [press key] + [premi un pulsante] + + + + ConfigurePerGame + + + Dialog + + + + + Info + + + + + Name + + + + + Title ID + + + + + Filename + + + + + Format + + + + + Version + + + + + Size + + + + + Developer + + + + + Add-Ons + + + + + General + + + + + System + + + + + Graphics + + + + + Adv. Graphics + + + + + Audio + + + + + Properties + + + + + Use global configuration (%1) + + + + + ConfigurePerGameAddons + + + Form + + + + + Patch Name + + + + + Version + + + + + ConfigureProfileManager + + + Form + Form + + + + Profile Manager + Gestione Profili + + + + Current User + Utente in Uso + + + + Username + Nome Utente + + + + Set Image + Imposta Immagine + + + + Add + Aggiungi + + + + Rename + Rinomina + + + + Remove + Rimuovi + + + + Profile management is available only when game is not running. + La gestione dei profili è disponibile solamente quando nessun gioco è in esecuzione. + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + &1 +%2 + + + + Enter Username + Inserisci Nome Utente + + + + Users + Utenti + + + + Enter a username for the new user: + Inserisci un nome utente per il nuovo utente: + + + + Enter a new username: + Inserisci un nuovo nome utente: + + + + Confirm Delete + Conferma Eliminazione + + + + You are about to delete user with name "%1". Are you sure? + Stai per cancellare l'utente chiamato "%1". Sei sicuro? + + + + Select User Image + Seleziona Immagine Utente + + + + JPEG Images (*.jpg *.jpeg) + Immagini JPEG (*.jpg *.jpeg) + + + + Error deleting image + Impossibile eliminare l'immagine + + + + Error occurred attempting to overwrite previous image at: %1. + Impossibile sovrascrivere l'immagine precedente in: %1. + + + + Error deleting file + Impossibile eliminare il file + + + + Unable to delete existing file: %1. + Impossibile eliminare il file già esistente: %1. + + + + Error creating user image directory + Errore nella creazione della cartella delle immagini dell'utente + + + + Unable to create directory %1 for storing user images. + Impossibile creare la cartella %1 per archiviare le immagini dell'utente. + + + + Error copying user image + Impossibile copiare l'immagine utente + + + + Unable to copy image from %1 to %2 + Impossibile copiare l'immagine da %1 a %2 + + + + ConfigureService + + + Form + Form + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + Nintendo usa BCAT per inviare dati ai giochi per coinvolgere la comunità e sbloccare contenuti aggiuntivi. + + + + BCAT Backend + Backend BCAT + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Scopri di più riguardo BCAT, Boxcat, ed Eventi in Corso</span></a></p></body></html> + + + + The boxcat service is offline or you are not connected to the internet. + Il servizio boxcat è offline o potresti non essere connesso a internet. + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + E' stato riscontrato un errore nell'elaborazione dei dati degli eventi di boxcat. Contatta gli sviluppatori di yuzu. + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + La versione di yuzu che stai usando è troppo vecchia o troppo nuova per questo server. Prova ad aggiornare all'ultima release ufficiale di yuzu. + + + + + There are currently no events on boxcat. + Non ci sono eventi in corso su boxcat. + + + + + Current Boxcat Events + + + + + Yuzu is retrieving the latest boxcat status... + yuzu sta recuperando lo stato attuale di boxcat... + + + + ConfigureSystem + + + Form + Form + + + + System Settings + Impostazioni di Sistema + + + + Region: + + + + + Auto + + + + + Default + + + + + CET + + + + + CST6CDT + + + + + Cuba + + + + + EET + + + + + Egypt + + + + + Eire + + + + + EST + + + + + EST5EDT + + + + + GB + + + + + GB-Eire + + + + + GMT + + + + + GMT+0 + + + + + GMT-0 + + + + + GMT0 + + + + + Greenwich + + + + + Hongkong + + + + + HST + + + + + Iceland + + + + + Iran + + + + + Israel + + + + + Jamaica + + + + + + Japan + + + + + Kwajalein + + + + + Libya + + + + + MET + + + + + MST + + + + + MST7MDT + + + + + Navajo + + + + + NZ + + + + + NZ-CHAT + + + + + Poland + + + + + Portugal + + + + + PRC + + + + + PST8PDT + + + + + ROC + + + + + ROK + + + + + Singapore + + + + + Turkey + + + + + UCT + + + + + Universal + + + + + UTC + UTC + + + + W-SU + W-SU + + + + WET + WET + + + + Zulu + Zulu + + + + USA + USA + + + + Europe + Europa + + + + Australia + Australia + + + + China + Cina + + + + Korea + Corea + + + + Taiwan + Taiwan + + + + Time Zone: + + + + + Note: this can be overridden when region setting is auto-select + Nota: questo può essere ignorato quando le impostazioni della regione sono su auto-select + + + + Japanese (日本語) + Giapponese (日本語) + + + + English + Inglese (English) + + + + French (français) + Francese (français) + + + + German (Deutsch) + Tedesco (Deutsch) + + + + Italian (italiano) + Italiano + + + + Spanish (español) + Spagnolo (español) + + + + Chinese + Cinese + + + + Korean (한국어) + Coreano (한국어) + + + + Dutch (Nederlands) + Olandese (Nederlands) + + + + Portuguese (português) + Portoghese (português) + + + + Russian (Русский) + Russo (Русский) + + + + Taiwanese + Taiwanese + + + + British English + Inglese Britannico + + + + Canadian French + Francese Canadese + + + + Latin American Spanish + Spagnolo Latino Americano + + + + Simplified Chinese + Cinese Semplificato + + + + Traditional Chinese (正體中文) + Cinese Tradizionale (正體中文) + + + + Custom RTC + RTC Personalizzato + + + + Language + Lingua + + + + RNG Seed + Seed RNG + + + + Mono + Mono + + + + Stereo + Stereo + + + + Surround + Surround + + + + Console ID: + ID Console: + + + + Sound output mode + Modalità di output del sonoro + + + + d MMM yyyy h:mm:ss AP + d MMM yyyy h:mm:ss AP + + + + Regenerate + Rigenera + + + + System settings are available only when game is not running. + Le impostazioni di sistema sono disponibili solamente quando nessun gioco è in esecuzione. + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + Questo rimpiazzerà la tua Switch virtuale con una nuova. La tua Switch virtuale non sarà recuperabile. Questo potrebbe avere effetti indesiderati nei giochi. Questo potrebbe fallire, se usi un salvataggio non aggiornato. Desideri continuare? + + + + Warning + Attenzione + + + + Console ID: 0x%1 + ID Console: 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + + + + + Mapping: + + + + + New + Nuovo + + + + Delete + Elimina + + + + Rename + Rinomina + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + + + + + Delete Point + Elimina Punto + + + + Button + Pulsante + + + + X + X axis + X + + + + Y + Y axis + Y + + + + New Profile + Nuovo Profilo + + + + Enter the name for the new profile. + Inserisci il nome per il nuovo profilo: + + + + Delete Profile + Elimina Profilo + + + + Delete profile %1? + Elimina profilo %1? + + + + Rename Profile + Rinomina Profilo + + + + New name: + Nuovo nome: + + + + [press key] + [premi pulsante] + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + Configura Touchscreen + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + Attenzione: Le impostazioni in questa pagina influenzano il funzionamento interno del touchscreen emulato di yuzu. Cambiarle potrebbe risultare in effetti indesiderati, ad esempio il touchscreen potrebbe non funzionare parzialmente o totalmente. Utilizza questa pagina solo se sei consapevole di ciò che stai facendo. + + + + Touch Parameters + Parametri Touch + + + + Touch Diameter Y + Diametro Touch Y + + + + Finger + Dito + + + + Touch Diameter X + Diametro Touch X + + + + Rotational Angle + Angolo di Rotazione + + + + Restore Defaults + Ripristina Predefiniti + + + + ConfigureUi + + + Form + Form + + + + General + Generale + + + + Note: Changing language will apply your configuration. + Nota: Cambiare lingua applicherà i cambiamenti fatti alla configurazione. + + + + Interface language: + Lingua Interfaccia: + + + + Theme: + Tema: + + + + Game List + Lista Giochi + + + + Show Add-Ons Column + Mostra Colonna Add-On + + + + Icon Size: + Dimensione Icona: + + + + Row 1 Text: + Testo Riga 1: + + + + Row 2 Text: + Testo Riga 2: + + + + Screenshots + Screenshots + + + + Ask Where To Save Screenshots (Windows Only) + + + + + Screenshots Path: + + + + + ... + + + + + Select Screenshots Path... + + + + + <System> + <System> + + + + English + Inglese + + + + ConfigureWeb + + + Form + Form + + + + yuzu Web Service + Servizio Web di yuzu + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + Fornendo i tuoi nome utente e token, permetti a yuzu di raccogliere dati di utilizzo, che potrebbero includere informazioni di identificazione utente. + + + + + Verify + Verifica + + + + Sign up + Registrati + + + + Token: + Token: + + + + Username: + Nome utente: + + + + What is my token? + Qual è il mio token? + + + + Telemetry + Telemetria + + + + Share anonymous usage data with the yuzu team + Condividi dati sull'utilizzo anonimamente con il team di yuzu + + + + Learn more + Per saperne di più + + + + Telemetry ID: + ID Telemetria: + + + + Regenerate + Rigenera + + + + Discord Presence + Discord Presence + + + + Show Current Game in your Discord Status + Mostra il Gioco Attuale nel tuo Stato di Discord + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Per saperne di più</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Registrati</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">Qual è il mio token?</span></a> + + + + + Telemetry ID: 0x%1 + ID Telemetria: 0x%1 + + + + + Unspecified + Non specificato + + + + Token not verified + Token non verificato + + + + Token was not verified. The change to your token has not been saved. + Nome utente e token non verificati. I cambiamenti al tuo nome utente e/o token non sono stati salvati. + + + + Verifying... + Verifica in corso... + + + + Verification failed + Verifica fallita + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + Verifica fallita. Controlla di aver inserito correttamente il tuo username e token, e che la tua connessione ad internet sia funzionante. + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Vengono raccolti dati anonimi</a> per aiutarci a migliorare yuzu. <br/><br/>Desideri condividere i tuoi dati di utilizzo con noi? + + + + Telemetry + Telemetria + + + + Text Check Failed + Verificazione Testo Fallita + + + + Loading Web Applet... + Caricamento Web Applet... + + + + Exit Web Applet + Esci dal Web Applet + + + + Exit + Esci + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + Per uscire dall'applicazione web, usa i pulsanti provvisti dal gioco per uscire, seleziona l'opzione 'Esci dal Web Applet' nel menu in alto, o premi il tasto 'Invio'. + + + + Web Applet + Web Applet + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + Questa versione di yuzu è stata compilata senza supporto a QtWebEngine, quindi yuzu non potrà aprire il manuale di gioco o delle pagine web. + + + + The amount of shaders currently being built + + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + Velocità corrente dell'emulazione. Valori più alti o più bassi di 100% indicano che l'emulazione sta funzionando più velocemente o lentamente rispetto a una Switch. + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + Quanti frame al secondo il gioco mostra attualmente. Questo varia da gioco a gioco e da situazione a situazione. + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + Tempo utilizzato per emulare un frame della Switch, non contando i limiti ai frame o il v-sync. +Per un'emulazione alla massima velocità, il valore dev'essere al massimo 16.67 ms. + + + + DOCK + + + + + ASYNC + + + + + MULTICORE + + + + + VULKAN + + + + + OPENGL + + + + + Clear Recent Files + Elimina File Recenti + + + + Warning Outdated Game Format + Avviso Formato di Gioco Obsoleto + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + Stai usando una cartella con dentro una ROM decostruita come formato per avviare questo gioco, è un formato obsoleto ed è stato sostituito da altri come NCA, NAX, XCI o NSP. Le ROM decostruite non hanno icone, metadata e non supportano gli aggiornamenti. <br><br>Per una spiegazione sui vari formati di Switch che yuzu supporta, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>controlla la nostra wiki</a>. Questo messaggio non verrà più mostrato. + + + + + Error while loading ROM! + Errore nel caricamento della ROM! + + + + The ROM format is not supported. + Il formato della ROM non è supportato. + + + + An error occurred initializing the video core. + E' stato riscontrato un errore nell'inizializzazione del core video. + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + yuzu ha riscontrato un errore nell'esecuzione del video core, visualizza il log per maggiori dettagli. Per maggiori informazioni su come accedere al log, visualizza la seguente pagina: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Come Caricare Il File Log</a>. Assicurati di avere gli ultimi driver della tua GPU. + + + + Error while loading ROM! + + + + + An unknown error occurred. Please see the log for more details. + E' stato riscontrato un errore sconosciuto. Visualizza il log per maggiori dettagli. + + + + Start + Avvia + + + + Save Data + Dati di Salvataggio + + + + Mod Data + Dati delle Mod + + + + Error Opening %1 Folder + Errore nell'Apertura della Cartella %1 + + + + + Folder does not exist! + La cartella non esiste! + + + + Error Opening Transferable Shader Cache + Errore nell'Apertura della Cache Shader Trasferibile + + + + + A shader cache for this title does not exist. + Una cache di shader per questo titolo non esiste. + + + + Contents + Contenuti + + + + Update + Aggiorna + + + + DLC + DLC + + + + Remove Entry + + + + + Remove Installed Game %1? + + + + + + + + + Successfully Removed + + + + + Successfully removed the installed base game. + + + + + + + Error Removing %1 + + + + + The base game is not installed in the NAND and cannot be removed. + + + + + Successfully removed the installed update. + + + + + There is no update installed for this title. + + + + + There are no DLC installed for this title. + + + + + Successfully removed %1 installed DLC. + + + + + Delete Transferable Shader Cache? + + + + + Remove Custom Game Configuration? + + + + + Remove File + + + + + + Error Removing Transferable Shader Cache + + + + + Successfully removed the transferable shader cache. + + + + + Failed to remove the transferable shader cache. + + + + + + Error Removing Custom Configuration + + + + + A custom configuration for this title does not exist. + + + + + Successfully removed the custom game configuration. + + + + + Failed to remove the custom game configuration. + + + + + RomFS Extraction Failed! + Estrazione RomFS Fallita! + + + + There was an error copying the RomFS files or the user cancelled the operation. + C'è stato un errore nella copia dei file del RomFS o l'operazione è stata annullata dall'utente. + + + + Full + Completa + + + + Skeleton + Scheletro + + + + Select RomFS Dump Mode + Seleziona Modalità Estrazione RomFS + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + Seleziona come vorresti estrarre il RomFS. <br>Completo copierà tutti i file in una nuova cartella mentre<br>scheletro creerà solamente le cartelle e le sottocartelle. + + + + Extracting RomFS... + Estrazione RomFS in corso... + + + + + Cancel + Annulla + + + + RomFS Extraction Succeeded! + Estrazione RomFS Riuscita! + + + + The operation completed successfully. + L'operazione è stata completata con successo. + + + + Error Opening %1 + Errore nell'Apertura di %1 + + + + Select Directory + Seleziona Cartella + + + + Properties + Proprietà + + + + The game properties could not be loaded. + Le proprietà del gioco non sono potute essere caricate. + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Eseguibile Switch (%1);;Tutti i File (*.*) + + + + Load File + Carica File + + + + Open Extracted ROM Directory + Apri Cartella ROM Estratta + + + + Invalid Directory Selected + Cartella Selezionata Non Valida + + + + The directory you have selected does not contain a 'main' file. + La cartella che hai selezionato non contiene un file "main". + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + + + + + Install Files + + + + + Installing file "%1"... + Installazione del file "%1"... + + + + Install Results + + + + + System Application + Applicazione di Sistema + + + + System Archive + Archivio di Sistema + + + + System Application Update + Aggiornamento Applicazione di Sistema + + + + Firmware Package (Type A) + Pacchetto Firmware (Tipo A) + + + + Firmware Package (Type B) + Pacchetto Firmware (Tipo B) + + + + Game + Gioco + + + + Game Update + Aggiornamento di Gioco + + + + Game DLC + DLC Gioco + + + + Delta Title + Titolo Delta + + + + Select NCA Install Type... + Seleziona il Tipo di Installazione NCA + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + Seleziona il tipo del file NCA da installare: +(Nella maggior parte dei casi, il predefinito 'Gioco' va bene.) + + + + Failed to Install + Installazione Fallita + + + + The title type you selected for the NCA is invalid. + Il tipo che hai selezionato per l'NCA non è valido. + + + + File not found + File non trovato + + + + File "%1" not found + File "%1" non trovato + + + + + Continue + Continua + + + + Error Display + Messaggio di Errore + + + + Missing yuzu Account + Account di yuzu non trovato + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + Per segnalare la compatibilità di un gioco, devi collegare il tuo account yuzu. <br><br/>Per collegare il tuo account yuzu, vai su Emulazione &gt; +Configurazione &gt; Web. + + + + Error opening URL + + + + + Unable to open the URL "%1". + + + + + Amiibo File (%1);; All Files (*.*) + File Amiibo (%1);; Tutti I File (*.*) + + + + Load Amiibo + Carica Amiibo + + + + Error opening Amiibo data file + Errore nell'apertura del file dati Amiibo + + + + Unable to open Amiibo file "%1" for reading. + Impossibile aprire e leggere il file Amiibo "%1". + + + + Error reading Amiibo data file + Errore nella lettura dei dati del file Amiibo + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + Impossibile leggere tutti i dati dell'Amiibo. E' stato possibile leggere solamente %2 byte di %1. + + + + Error loading Amiibo data + Errore nel caricamento dei dati dell'Amiibo. + + + + Unable to load Amiibo data. + Impossibile caricare i dati dell'Amiibo. + + + + Capture Screenshot + Cattura Screenshot + + + + PNG Image (*.png) + Immagine PNG (*.png) + + + + Speed: %1% / %2% + Velocità: %1% / %2% + + + + Speed: %1% + Velocità: %1% + + + + Game: %1 FPS + Gioco: %1 FPS + + + + Frame: %1 ms + Frame: %1 ms + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + Il gioco che stai provando a caricare richiede ulteriori file che devono essere estratti dalla tua Switch prima di poter giocare. <br/><br/>Per maggiori informazioni sull'estrazione di questi file, visualizza la seguente pagina della wiki: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Estrazione di Archivi di Sistema e Font Condivisi da una Console Switch</a>.<br/><br/>Vuoi uscire e tornare alla lista dei giochi? Continuare l'emulazione potrebbe risultare in crash, salvataggi corrotti o altri bug. + + + + yuzu was unable to locate a Switch system archive. %1 + yuzu non ha potuto individuare un archivio di sistema della Switch. %1 + + + + yuzu was unable to locate a Switch system archive: %1. %2 + yuzu non ha potuto individuare un archivio di sistema della Switch: %1. %2 + + + + System Archive Not Found + Archivio di Sistema Non Trovato + + + + System Archive Missing + Archivio di Sistema Mancante + + + + yuzu was unable to locate the Switch shared fonts. %1 + yuzu non ha potuto individuare i font condivisi della Switch. %1 + + + + Shared Fonts Not Found + Font Condivisi Non Trovati + + + + Shared Font Missing + Font Condivisi Mancanti + + + + Fatal Error + Errore Fatale + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + yuzu ha riscontrato un errore fatale, visualizza il log per maggiori dettagli. Per maggiori informazioni su come accedere al log, visualizza la seguente pagina: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Come Caricare Il File Log</a>.<br/><br/>Vuoi uscire e tornare alla lista dei giochi? Continuare l'emulazione potrebbe risultare in crash, salvataggi corrotti o altri bug. + + + + Fatal Error encountered + Errore Fatale riscontrato + + + + Confirm Key Rederivation + Conferma Riderivazione Chiave + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + Stai per forzare la ri-derivazione di tutte le tue chiavi. +Se non sai cosa significa o cosa stai per fare, +questa azione potrebbe causare gravi problemi. +Assicurati di volerlo fare +e facoltativamente fai dei backup. + +Questo eliminerà i tuoi file di chiavi autogenerati e ri-avvierà il processo di derivazione delle chiavi. + + + + Missing fuses + + + + + - Missing BOOT0 + + + + + - Missing BCPKG2-1-Normal-Main + + + + + - Missing PRODINFO + + + + + Derivation Components Missing + + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + Derivazione chiavi... +Questa operazione potrebbe durare fino a un minuto in +base alle prestazioni del tuo sistema. + + + + Deriving Keys + Derivazione Chiavi + + + + Select RomFS Dump Target + Seleziona Target dell'Estrazione del RomFS + + + + Please select which RomFS you would like to dump. + Seleziona quale RomFS vorresti estrarre. + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + Sei sicuro di voler chiudere yuzu? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + Sei sicuro di voler fermare l'emulazione? Tutti i progressi non salvati verranno perduti. + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + L'applicazione in uso ha richiesto a yuzu di non uscire. + +Desideri uscire comunque? + + + + GRenderWindow + + + OpenGL not available! + + + + + yuzu has not been compiled with OpenGL support. + + + + + Vulkan not available! + + + + + yuzu has not been compiled with Vulkan support. + + + + + Error while initializing OpenGL 4.3! + + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + + + + + Error while initializing OpenGL! + + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + + + + + GameList + + + + Name + Nome + + + + + Compatibility + Compatibilità + + + + + Add-ons + Add-on + + + + + + + File type + Tipo di file + + + + + + + Size + Dimensione + + + + Open Save Data Location + Apri Cartella Dati di Salvataggio + + + + Open Mod Data Location + Apri Cartella Mod + + + + Open Transferable Shader Cache + Apri Cache Shader Trasferibile + + + + Remove + + + + + Remove Installed Update + + + + + Remove All Installed DLC + + + + + Remove Shader Cache + + + + + Remove Custom Configuration + + + + + Remove All Installed Contents + + + + + Dump RomFS + Estrai RomFS + + + + Copy Title ID to Clipboard + Copia il Title ID negli Appunti + + + + Navigate to GameDB entry + Vai alla pagina di GameDB + + + + Properties + Proprietà + + + + Scan Subfolders + Scansiona Sottocartelle + + + + Remove Game Directory + Rimuovi Cartella Giochi + + + + ▲ Move Up + + + + + ▼ Move Down + + + + + Open Directory Location + Apri Cartella + + + + GameListItemCompat + + + Perfect + Perfetto + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + Il gioco funziona perfettamente senza alcuni glitch audio o video, tutte le funzionalità testate funzionano come dovrebbero senza alcun metodo alternativo necessario. + + + + Great + Buono + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + Il gioco presenta qualche errore grafico minore o glitch nell'audio ed è giocabile dall'inizio alla fine. Potrebbe richiedere dei metodi alternativi. + + + + Okay + Ok + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + l gioco presenta alcuni errori gravi audio o video. E' impossibile proseguire in alcune aree a causa della presenza di glitch persino utilizzando metodi alternativi. + + + + Bad + Scadente + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + Il gioco funziona, ma presenta alcuni errori gravi audio o video. È impossibile proseguire in alcune aree a causa della presenza di glitch +persino utilizzando metodi alternativi. + + + + Intro/Menu + Intro/Menu + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + Il gioco è completamente ingiocabile a causa di errori gravi audio o video. È impossibile proseguire oltre la Schermata +Iniziale. + + + + Won't Boot + Non si Avvia + + + + The game crashes when attempting to startup. + Il gioco si blocca quando viene avviato. + + + + Not Tested + Non Testato + + + + The game has not yet been tested. + Il gioco non è ancora stato testato. + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + Clicca due volte per aggiungere una nuova cartella alla lista dei giochi + + + + GameListSearchField + + + Filter: + Filtro: + + + + Enter pattern to filter + Inserisci pattern per filtrare + + + + InstallDialog + + + Please confirm these are the files you wish to install. + + + + + Installing an Update or DLC will overwrite the previously installed one. + + + + + Install + + + + + Install Files to NAND + + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + 387 / 1628 Shader Caricate + + + + Loading Shaders %v out of %m + Caricamento di %v su %m Shader + + + + Estimated Time 5m 4s + Tempo Stimato 5m 4s + + + + Loading... + Caricamento... + + + + Loading Shaders %1 / %2 + %1 / %2 Shader Caricate + + + + Launching... + Avvio in corso... + + + + Estimated Time %1 + Tempo Stimato %1 + + + + MainWindow + + + yuzu + yuzu + + + + &File + &File + + + + Recent Files + File Recenti + + + + &Emulation + &Emulazione + + + + &View + &Visualizza + + + + Debugging + Debugging + + + + Tools + Strumenti + + + + &Help + &Aiuto + + + + Install Files to NAND... + + + + + Load File... + Carica File... + + + + Load Folder... + Carica Cartella... + + + + E&xit + &Esci + + + + &Start + &Avvia + + + + &Pause + &Pausa + + + + &Stop + &Stop + + + + Reinitialize keys... + Ri-inizializzando le chiavi... + + + + About yuzu + Riguardo yuzu + + + + Single Window Mode + Modalità Finestra Singola + + + + Configure... + Configura... + + + + Display Dock Widget Headers + Visualizza le Intestazioni del Dock dei Widget + + + + Show Filter Bar + Mostra Barra Filtri + + + + Show Status Bar + Mostra Barra Stato + + + + Reset Window Size + + + + + Fullscreen + Schermo Intero + + + + Restart + Riavvia + + + + Load Amiibo... + Carica Amiibo... + + + + Report Compatibility + Segnala Compatibilità + + + + Open Mods Page + + + + + Open Quickstart Guide + + + + + FAQ + + + + + Open yuzu Folder + Apri Cartella yuzu + + + + Capture Screenshot + Cattura Screenshot + + + + Configure Current Game.. + + + + + MicroProfileDialog + + + MicroProfile + MicroProfile + + + + QObject + + + Installed SD Titles + Titoli SD Installati + + + + Installed NAND Titles + Titoli NAND Installati + + + + System Titles + Titoli di Sistema + + + + Add New Game Directory + Aggiungi Nuova Cartella Giochi + + + + + + Shift + Shift + + + + + + Ctrl + Ctrl + + + + + + Alt + Alt + + + + + + + [not set] + [non impostato] + + + + + + Hat %1 %2 + Hat %1 %2 + + + + + + Axis %1%2 + Asse %1%2 + + + + + + Button %1 + Pulsante %1 + + + + + + + [unknown] + [sconosciuto] + + + + + Click 0 + Clicca 0 + + + + + Click 1 + Clicca 1 + + + + + Click 2 + Clicca 2 + + + + + Click 3 + Clicca 3 + + + + + Click 4 + Clicca 4 + + + + GC Axis %1%2 + Assi GC %1%2 + + + + GC Button %1 + Pulsanti GC %1 + + + + + [unused] + [inutilizzato] + + + + + Axis %1 + Asse %1 + + + + + GC Axis %1 + Assi GC %1 + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + E' stato riscontrato un errore. +Riprova o contatta gli sviluppatori del software. + +Codice Errore: %1-%2 (0x%3) + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + E' stato riscontrato un errore su %1 a %2. +Riprova o contatta gli sviluppatori del software. + +Codice Errore: %3-%4 (0x%5) + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + E' stato riscontrato un errore. +Codice Errore: %1-%2 (0x%3) + +%4 + +%5 + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + Seleziona un utente: + + + + Users + Utenti + + + + Profile Selector + Selettore Profili + + + + QtSoftwareKeyboardDialog + + + Enter text: + Inserisci testo: + + + + Software Keyboard + Tastiera Software + + + + SequenceDialog + + + Enter a hotkey + Inserisci una hotkey + + + + WaitTreeCallstack + + + Call stack + Stack chiamata + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + attende il mutex 0x%1 + + + + has waiters: %1 + ha dei waiter: %1 + + + + owner handle: 0x%1 + proprietario handle: 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + attende tutti gli oggetti + + + + waiting for one of the following objects + attende uno dei seguenti oggetti + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + [%1]%2 %3 + + + + waited by no thread + atteso da nessun thread + + + + WaitTreeThread + + + + running + in funzione + + + + ready + pronto + + + + + paused + in pausa + + + + waiting for HLE return + attende ritorno dell'HLE + + + + sleeping + dormendo + + + + waiting for IPC reply + attende una risposta dell'IPC + + + + waiting for objects + attende degli oggetti + + + + waiting for mutex + attende un mutex + + + + waiting for condition variable + aspettando la condition variable + + + + waiting for address arbiter + attende un indirizzo arbitro + + + + dormant + dormiente + + + + dead + morto + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + ideale + + + + core %1 + core %1 + + + + Unknown processor %1 + Processore sconosciuto %1 + + + + processor = %1 + processore = %1 + + + + ideal core = %1 + core ideale = %1 + + + + affinity mask = %1 + affinity mask = %1 + + + + thread id = %1 + id thread = %1 + + + + priority = %1(current) / %2(normal) + priorità = %1(corrente) / %2(normale) + + + + last running ticks = %1 + last running ticks = %1 + + + + not waiting for mutex + non attende un mutex + + + + WaitTreeThreadList + + + waited by thread + atteso dal thread + + + + WaitTreeWidget + + + Wait Tree + Wait Tree + + + \ No newline at end of file diff --git a/dist/languages/ja_JP.ts b/dist/languages/ja_JP.ts new file mode 100644 index 000000000..4c3870603 --- /dev/null +++ b/dist/languages/ja_JP.ts @@ -0,0 +1,4752 @@ + + + AboutDialog + + + About yuzu + yuzuについて + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzuはGPLv2.0の下で提供されている任天堂Switchの実験的なオープンソースエミュレータです。</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">このソフトウェアは違法に入手したゲームを遊ぶために使用されるべきではありません。</span></p></body></html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">ウェブサイト</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">ソースコード</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">貢献者</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">ライセンス</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;任天堂 Switch&quot;は任天堂の登録商標です。 yuzuは任天堂と提携しているわけではありません。</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + サーバと通信中... + + + + Cancel + キャンセル + + + + Touch the top left corner <br>of your touchpad. + タッチパッドの左上を<br>タッチして下さい。 + + + + Now touch the bottom right corner <br>of your touchpad. + 次にタッチパッドの右下を<br>タッチして下さい。 + + + + Configuration completed! + 設定が完了しました。 + + + + OK + OK + + + + CompatDB + + + Report Compatibility + 互換性を報告 + + + + + Report Game Compatibility + ゲームの互換性を報告 + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">テストケースを</span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu互換性リスト</span></a><span style=" font-size:10pt;">に送信した場合、以下の情報が収集され、サイトに表示されます:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ハードウェア情報(CPU/GPU/OS)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">実行中のyuzuバージョン</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">接続中のyuzuアカウント</li></ul></body></html> + + + + Perfect + パーフェクト + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>ゲームはオーディオやグラフィックの不具合なしに完全に動作します。</p></body></html> + + + + Great + グレート + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>ゲームの動作にはグラフィック、またはオーディオの軽微な不具合がありますが、最初から最後までプレイ可能です。いくつかの回避策が必要な場合があります。</p></body></html> + + + + Okay + OK + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>ゲームの動作にはグラフィック、またはオーディオの重大な不具合がありますが、回避策を使うことで最初から最後までプレイ可能です。</p></body></html> + + + + Bad + NG + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>ゲームは動作しますが、グラフィック、またはオーディオに重大な不具合があります。回避策を使用しても不具合が原因で特定の場所から進めなくなります。</p></body></html> + + + + Intro/Menu + イントロ/メニューまで + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>グラフィック、またはオーディオの重大な不具合のため、ゲームはプレイ不可能です。スタート画面から先に進めることは出来ません。</p></body></html> + + + + Won't Boot + 起動せず + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>ゲームは起動時にクラッシュします。</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <html><head/><body><p>速度やパフォーマンスに関係なく、このゲームはこのバージョンのyuzuで最初から最後までどの程度うまく実行できていますか?</p></body></html> + + + + Thank you for your submission! + ご協力ありがとうございます! + + + + Submitting + 送信中 + + + + Communication error + 通信エラー + + + + An error occured while sending the Testcase + テストケースを送信中にエラーが発生しました + + + + Next + + + + + ConfigureAudio + + + Audio + オーディオ + + + + Output Engine: + 出力エンジン: + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + 後処理エフェクトは、エミュレーション速度と一致するようにオーディオ速度を調整し、オーディオの乱れを防ぐのに役立ちます。ただしオーディオの遅延が長くなります。 + + + + Enable audio stretching + オーディオストレッチの有効化 + + + + Audio Device: + オーディオデバイス: + + + + Use global volume + 共通の音量設定を使用 + + + + Set volume: + 音量設定: + + + + Volume: + 音量: + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + フォーム + + + + General + 全般 + + + + Accuracy: + 正確度: + + + + Accurate + 正確 + + + + Unsafe + 不安定 + + + + Enable Debug Mode + デバッグモードを使用 + + + + We recommend setting accuracy to "Accurate". + 正確度は”正確”に設定することを推奨します。 + + + + Unsafe CPU Optimization Settings + CPU最適化設定(不安定) + + + + These settings reduce accuracy for speed. + これらの設定は高速化のために正確性を犠牲にします。 + + + + Unfuse FMA (improve performance on CPUs without FMA) + FMAの統合を解除(FMAを持たないCPUにおいて速度を改善する) + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + + <div>このオプションは、ネイティブFMAのサポートを持たないCPUで融合積和命令の精度を下げることで速度を改善させます。</div> + + + + + Faster FRSQRTE and FRECPE + 高速FRSQRTEとFRECPE + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + + <div>このオプションは、精度の低いネイティブ近似を使用することにより、一部の近似浮動小数点関数の速度を改善させます。</div> + + + + + CPU settings are available only when game is not running. + CPU設定は、ゲームが実行されていない場合にのみ使用できます。 + + + + Setting CPU to Debug Mode + CPUをデバッグモードに設定 + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + CPUデバッグモードは、開発者による使用のみを目的としています。有効にしてもよろしいですか? + + + + ConfigureCpuDebug + + + Form + フォーム + + + + Toggle CPU Optimizations + CPUの最適化を切り替え + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + + <div> + <b>デバッグ用</b> + <br> + これらの機能が何を意味するのか分からない場合は、すべて有効にしておいてください。 + <br> + これらの設定は、CPU精度が”デバッグモード”の場合にのみ有効になります。 + </div> + + + + + Enable inline page tables + インラインページテーブルの有効化 + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + <div style="white-space: nowrap">この最適化により、ゲストプログラムによるメモリアクセスが高速化されます。</div> + <div style="white-space: nowrap">これを有効にすると、PageTable :: pointersへのアクセスが発行されたコードにインライン化されます。</div> + <div style="white-space: nowrap">これを無効にすると、すべてのメモリアクセスが強制的にMemory :: Read / Memory :: Write関数を経由します。</div> + + + + + Enable block linking + ブロックリンクの有効化 + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + <div>この最適化では、宛先PCが静的な場合、発行された基本ブロックが他の基本ブロックに直接ジャンプできるようにすることで、ディスパッチャーのルックアップを回避します。</div> + + + + + Enable return stack buffer + リターンスタックバッファの有効化 + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + <div>この最適化は、BL命令の潜在的な戻りアドレスを追跡することにより、ディスパッチャーの検索を回避します。これは、実際のCPUのリターンスタックバッファで何が起こるかを概算します。</div> + + + + + Enable fast dispatcher + 高速ディスパッチャの有効化 + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + <div>2層のディスパッチシステムを有効にします。アセンブリで記述されたより高速なディスパッチャには、ジャンプ先の小さなMRUキャッシュが最初に使用されます。それが失敗した場合、ディスパッチはより遅いC ++ディスパッチャーにフォールバックします。</div> + + + + + Enable context elimination + コンテキスト消去の有効化 + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + <div>CPUコンテキスト構造への不要なアクセスを削減するIR最適化を有効にします。</div> + + + + + Enable constant propagation + 定数伝播の有効化 + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + <div>一定の伝播を伴うIR最適化を有効にします。</div> + + + + + Enable miscellaneous optimizations + その他の最適化を有効化 + + + + + <div>Enables miscellaneous IR optimizations.</div> + + + <div>その他のIR最適化を有効にします。</div> + + + + + Enable misalignment check reduction + ミスアライメントチェックの削減を有効化 + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + <div style="white-space: nowrap">有効にすると、アクセスがページの境界を越えたときにのみ、ミスアライメントがトリガーされます。</div> + <div style="white-space: nowrap">無効にすると、ミスアライメントされたすべてのアクセスでミスアライメントがトリガーされます。</div> + + + + + CPU settings are available only when game is not running. + CPU設定は、ゲームが実行されていない場合にのみ使用できます。 + + + + ConfigureDebug + + + Form + フォーム + + + + GDB + GDB + + + + Enable GDB Stub + GDBスタブの有効化 + + + + Port: + ポート: + + + + Logging + ログの記録 + + + + Global Log Filter + グローバルログフィルター + + + + Show Log Console (Windows Only) + ログコンソールの表示(Windowsのみ) + + + + Open Log Location + ログ出力フォルダを開く + + + + Homebrew + 自作 + + + + Arguments String + 引数文字列 + + + + Graphics + グラフィック + + + + When checked, the graphics API enters in a slower debugging mode + オンにすると、グラフィックAPIはより遅いデバッグモードになります。 + + + + Enable Graphics Debugging + グラフィックデバッグの有効化 + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + オンにすると、マクロJust In Timeコンパイラが無効になります。有効にすると、ゲームの実行が遅くなります。 + + + + Disable Macro JIT + マクロJITの無効化 + + + + Dump + ダンプ + + + + Enable Verbose Reporting Services + 詳細なレポートサービスを有効にする + + + + This will be reset automatically when yuzu closes. + yuzuを終了したときに自動的にリセットされます。 + + + + Advanced + 拡張 + + + + Kiosk (Quest) Mode + キオスク (クエスト) モード + + + + ConfigureDebugController + + + Configure Debug Controller + デバッグコントローラ設定 + + + + Clear + 消去 + + + + Defaults + デフォルト + + + + ConfigureDialog + + + yuzu Configuration + yuzuの設定 + + + + + + + General + 全般 + + + + + UI + UI + + + + Game List + ゲームリスト + + + + + + + System + システム + + + + + + Profiles + プロファイル + + + + + + Filesystem + ファイルシステム + + + + + + + Controls + コントロール + + + + + + Hotkeys + ホットキー + + + + + + + CPU + CPU + + + + + + + + + Debug + デバッグ + + + + + + + Graphics + グラフィック + + + + + Advanced + 拡張 + + + + GraphicsAdvanced + 拡張グラフィック + + + + + + + Audio + オーディオ + + + + + + Web + Web + + + + + + Services + サービス + + + + ConfigureFilesystem + + + Form + フォーム + + + + Storage Directories + ストレージディレクトリ + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + SDカード + + + + Gamecard + ゲームカード + + + + Path + パス + + + + Inserted + 挿入する + + + + Current Game + 現在のゲーム + + + + Patch Manager + パッチマネージャ + + + + Dump Decompressed NSOs + 解凍されたNSOをダンプ + + + + Dump ExeFS + ExeFSをダンプ + + + + Mod Load Root + Modロードディレクトリ + + + + Dump Root + ダンプディレクトリ + + + + Caching + キャッシュ + + + + Cache Directory + キャッシュディレクトリ + + + + Cache Game List Metadata + ゲームリストのメタデータをキャッシュする + + + + + + + Reset Metadata Cache + メタデータのキャッシュをクリアする + + + + Select Emulated NAND Directory... + NANDディレクトリを選択... + + + + Select Emulated SD Directory... + SDディレクトリを選択... + + + + Select Gamecard Path... + ゲームカードのパスを選択... + + + + Select Dump Directory... + ダンプディレクトリを選択... + + + + Select Mod Load Directory... + Modロードディレクトリを選択... + + + + Select Cache Directory... + キャッシュディレクトリを選択... + + + + The metadata cache is already empty. + メタデータのキャッシュはすでに空です。 + + + + The operation completed successfully. + 操作は成功しました。 + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + メタデータのキャッシュを削除できませんでした。使用中、または存在していない可能性があります。 + + + + ConfigureGeneral + + + Form + フォーム + + + + General + 全般 + + + + Limit Speed Percent + 速度パーセントの制限 + + + + % + % + + + + Multicore CPU Emulation + マルチコアCPUエミュレーション + + + + Confirm exit while emulation is running + エミュレーション実行中の終了確認 + + + + Prompt for user on game boot + ゲーム起動時に確認を表示 + + + + Pause emulation when in background + バックグラウンド時にエミュレーションを停止 + + + + Hide mouse on inactivity + 未使用時にマウスを非表示 + + + + ConfigureGraphics + + + Form + フォーム + + + + API Settings + API設定 + + + + API: + API: + + + + Device: + デバイス: + + + + Graphics Settings + グラフィック設定 + + + + Use disk shader cache + ディスクシェーダキャッシュを使用する + + + + Use asynchronous GPU emulation + 非同期GPUエミュレーションを使用する + + + + Aspect Ratio: + アスペクト比: + + + + Default (16:9) + デフォルト (16:9) + + + + Force 4:3 + 4:3を強制 + + + + Force 21:9 + 21:9を強制 + + + + Stretch to Window + ウィンドウに合わせる + + + + + Use global background color + 共通の背景色を使用 + + + + Set background color: + 背景色の設定: + + + + Background Color: + 背景色: + + + + OpenGL Graphics Device + OpenGLグラフィックデバイス + + + + ConfigureGraphicsAdvanced + + + Form + フォーム + + + + Advanced Graphics Settings + 拡張グラフィック設定 + + + + Accuracy Level: + 正確性レベル: + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + VSyncは画面のティアリングを防ぎますが、一部のグラフィックカードはVSyncが有効になっているとパフォーマンスが低下します。パフォーマンスの違いに気づかない場合は、有効にしてください。 + + + + Use VSync (OpenGL only) + VSyncを使用(OpenGLのみ) + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + これを有効にすると、シェーダースタッターが減少します。サポートされているNvidiaデバイスでOpenGLアセンブリシェーダーを有効にします(NV_gpu_program5が必要です)。この機能は実験的なものです。 + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + アセンブリシェーダーを使用します(実験的、Nvidia OpenGLのみ)。 + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + 非同期シェーダーコンパイルを有効にします。これにより、シェーダースタッターが減少する場合があります。この機能は実験的なものです。 + + + + Use asynchronous shader building (experimental) + 非同期シェーダー構築を使用します(実験的)。 + + + + Use Fast GPU Time + 高速CPU時間を使用 + + + + Anisotropic Filtering: + 異方性フィルタリング: + + + + Default + デフォルト + + + + 2x + 2x + + + + 4x + 4x + + + + 8x + 8x + + + + 16x + 16x + + + + ConfigureHotkeys + + + Hotkey Settings + ホットキー設定 + + + + Double-click on a binding to change it. + 変更するには項目をダブルクリックしてください。 + + + + Clear All + すべて消去 + + + + Restore Defaults + デフォルトに戻す + + + + Action + アクション + + + + Hotkey + ホットキー + + + + Context + コンテキスト + + + + + Conflicting Key Sequence + キー設定の衝突 + + + + The entered key sequence is already assigned to: %1 + 入力されたキーシーケンスは既に割り当てられています:%1 + + + + Restore Default + デフォルトに戻す + + + + Clear + 消去 + + + + The default key sequence is already assigned to: %1 + デフォルトのキーシーケンスは既に割り当てられています:%1 + + + + ConfigureInput + + + ConfigureInput + 入力設定 + + + + + Player 1 + プレイヤー1 + + + + + Player 2 + プレイヤー2 + + + + + Player 3 + プレイヤー3 + + + + + Player 4 + プレイヤー4 + + + + + Player 5 + プレイヤー5 + + + + + Player 6 + プレイヤー6 + + + + + Player 7 + プレイヤー7 + + + + + Player 8 + プレイヤー8 + + + + + Advanced + 拡張 + + + + Console Mode + コンソールモード + + + + Docked + 接続 + + + + Undocked + 接続解除 + + + + Vibration + バイブレーション + + + + % + % + + + + Motion + モーション + + + + Configure + 設定 + + + + Controllers + コントローラ + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + 6 + 6 + + + + 7 + 7 + + + + 8 + 8 + + + + Connected + 接続 + + + + Defaults + デフォルト + + + + Clear + 消去 + + + + ConfigureInputAdvanced + + + Configure Input + 入力設定 + + + + Joycon Colors + Joyconカラー + + + + Player 1 + プレイヤー1 + + + + + + + + + + + L Body + L本体 + + + + + + + + + + + L Button + Lボタン + + + + + + + + + + + R Body + R本体 + + + + + + + + + + + R Button + Rボタン + + + + Player 2 + プレイヤー2 + + + + Player 3 + プレイヤー3 + + + + Player 4 + プレイヤー4 + + + + Player 5 + プレイヤー5 + + + + Player 6 + プレイヤー6 + + + + Player 7 + プレイヤー7 + + + + Player 8 + プレイヤー8 + + + + Other + その他 + + + + Keyboard + キーボード + + + + + Advanced + 拡張 + + + + Touchscreen + タッチスクリーン + + + + Mouse + マウス + + + + Motion / Touch + モーション / タッチ + + + + + Configure + 設定 + + + + Debug Controller + コントローラのデバッグ + + + + ConfigureInputPlayer + + + Configure Input + 入力設定 + + + + Connect Controller + コントローラの接続 + + + + + + Pro Controller + プロコントローラ + + + + + Dual Joycons + デュアルジョイコン + + + + + Left Joycon + ジョイコン左 + + + + + Right Joycon + ジョイコン右 + + + + + Handheld + 携帯 + + + + Input Device + 入力デバイス + + + + Any + すべて + + + + Keyboard/Mouse + キーボード / マウス + + + + Profile + プロファイル + + + + Save + セーブ + + + + New + 新規 + + + + Delete + 削除 + + + + Left Stick + 左スティック + + + + + + + + + Up + + + + + + + + + + Left + + + + + + + + + + Right + + + + + + + + + + Down + + + + + + + + Pressed + 押下 + + + + + + + Modifier + 変更 + + + + + Range + 範囲 + + + + + % + % + + + + + Deadzone: 0% + デッドゾーン:0% + + + + + Modifier Range: 0% + 変更範囲:0% + + + + D-Pad + Dパッド + + + + + L + L + + + + + ZL + ZL + + + + + Minus + マイナス + + + + + Capture + キャプチャ + + + + + Plus + プラス + + + + + Home + ホーム + + + + + R + R + + + + + ZR + ZR + + + + + SL + SL + + + + + SR + SR + + + + Face Buttons + ボタン + + + + + X + X + + + + + Y + Y + + + + + A + A + + + + + B + B + + + + Right Stick + 右スティック + + + + + Deadzone: %1% + デッドゾーン:%1% + + + + + Modifier Range: %1% + 変更範囲:%1% + + + + [waiting] + [待機中] + + + + ConfigureMotionTouch + + + Configure Motion / Touch + モーション / タッチ設定 + + + + Motion + モーション + + + + Motion Provider: + モーションプロバイダ: + + + + Sensitivity: + 感度: + + + + Touch + タッチ + + + + Touch Provider: + タッチプロバイダ: + + + + Calibration: + キャリブレーション: + + + + (100, 50) - (1800, 850) + (100, 50) - (1800, 850) + + + + + + Configure + 設定 + + + + Use button mapping: + ボタンマッピングの使用: + + + + CemuhookUDP Config + CemuhookUDP設定 + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + モーションとタッチ入力を提供するために、Cemuhook互換のUDP入力ソースを使用します。 + + + + Server: + サーバー: + + + + Port: + ポート: + + + + Pad: + パッド: + + + + Pad 1 + パッド1 + + + + Pad 2 + パッド2 + + + + Pad 3 + パッド3 + + + + Pad 4 + パッド4 + + + + Learn More + 詳細情報 + + + + + Test + テスト + + + + Mouse (Right Click) + マウス(右クリック) + + + + + CemuhookUDP + CemuhookUDP + + + + Emulator Window + エミュレータウィンドウ + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">詳細情報</span></a> + + + + Testing + テスト中 + + + + Configuring + 設定中 + + + + Test Successful + テスト成功 + + + + Successfully received data from the server. + サーバーからデータ受信成功 + + + + Test Failed + テスト失敗 + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + サーバーから有効なデータを受信できませんでした。<br>サーバーが正しくセットアップされ、アドレスとポートが正しいことを確認してください。 + + + + Citra + Citra + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + UDPテスト、またはキャリブレーション設定が実行中です。<br>完了するまでお待ちください。 + + + + ConfigureMouseAdvanced + + + Configure Mouse + マウス設定 + + + + Mouse Buttons + マウスボタン + + + + Forward: + 進む: + + + + Back: + 戻る: + + + + Left: + 左: + + + + Middle: + 中央: + + + + Right: + 右: + + + + + Clear + 消去 + + + + Defaults + デフォルト + + + + [not set] + [未設定] + + + + Restore Default + デフォルトに戻す + + + + [press key] + [キーを押す] + + + + ConfigurePerGame + + + Dialog + ダイアログ + + + + Info + 情報 + + + + Name + 名称 + + + + Title ID + タイトルID + + + + Filename + ファイル名 + + + + Format + フォーマット + + + + Version + バージョン + + + + Size + サイズ + + + + Developer + 開発者 + + + + Add-Ons + アドオン + + + + General + 全般 + + + + System + システム + + + + Graphics + グラフィック + + + + Adv. Graphics + 拡張グラフィック + + + + Audio + オーディオ + + + + Properties + プロパティ + + + + Use global configuration (%1) + 共通設定を使用(%1) + + + + ConfigurePerGameAddons + + + Form + フォーム + + + + Patch Name + パッチ名称 + + + + Version + バージョン + + + + ConfigureProfileManager + + + Form + フォーム + + + + Profile Manager + プロファイルマネージャ + + + + Current User + 現在のユーザー + + + + Username + ユーザー名 + + + + Set Image + 画像を設定 + + + + Add + 追加 + + + + Rename + リネーム + + + + Remove + 削除 + + + + Profile management is available only when game is not running. + プロファイル管理はゲームが実行されていない場合のみ可能です。 + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Enter Username + ユーザー名を入力 + + + + Users + ユーザー + + + + Enter a username for the new user: + 新しいユーザーのユーザー名を入力: + + + + Enter a new username: + 新しいユーザー名を入力: + + + + Confirm Delete + 削除確認 + + + + You are about to delete user with name "%1". Are you sure? + ユーザー名”%1”を削除しようとしています。間違いありませんか? + + + + Select User Image + ユーザー画像を選択 + + + + JPEG Images (*.jpg *.jpeg) + JPEG画像 (*.jpg *.jpeg) + + + + Error deleting image + 画像削除エラー + + + + Error occurred attempting to overwrite previous image at: %1. + 既存画像の上書き時にエラーが発生しました: %1 + + + + Error deleting file + ファイル削除エラー + + + + Unable to delete existing file: %1. + ファイルを削除できませんでした: %1 + + + + Error creating user image directory + ユーザー画像ディレクトリ作成失敗 + + + + Unable to create directory %1 for storing user images. + ユーザー画像保存ディレクトリ”%1”を作成できませんでした。 + + + + Error copying user image + ユーザー画像コピーエラー + + + + Unable to copy image from %1 to %2 + 画像を”%1”から”%2”へコピー出来ませんでした。 + + + + ConfigureService + + + Form + フォーム + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + BCATは任天堂のゲームへのデータ送信方法であり、コミュニティに参加して追加コンテンツのロックを解除します。 + + + + BCAT Backend + BCATバックエンド + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">BCAT, Boxcat, 現在のイベントについての詳細情報</span></a></p></body></html> + + + + The boxcat service is offline or you are not connected to the internet. + Boxcatサービスはオフラインまたはインターネットに接続されていません。 + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + Boxcatイベントデータを処理中にエラー発生しました。yuzu開発者に連絡してください。 + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + 使用中のyuzuのバージョンは、サーバと比較して新しすぎまたは古すぎます。最新の公式リリースに更新してください。 + + + + + There are currently no events on boxcat. + Boxcatには現在イベントがありません。 + + + + + Current Boxcat Events + 現在のBoxcatイベント + + + + Yuzu is retrieving the latest boxcat status... + yuzuが最新のBoxcat状況を取得中です... + + + + ConfigureSystem + + + Form + フォーム + + + + System Settings + システム設定 + + + + Region: + リージョン: + + + + Auto + 自動 + + + + Default + デフォルト + + + + CET + CET + + + + CST6CDT + CST6CDT + + + + Cuba + キューバ + + + + EET + EET + + + + Egypt + エジプト + + + + Eire + アイルランド + + + + EST + EST + + + + EST5EDT + EST5EDT + + + + GB + GB + + + + GB-Eire + GB-Eire + + + + GMT + GMT + + + + GMT+0 + GMT+0 + + + + GMT-0 + GMT-0 + + + + GMT0 + GMT0 + + + + Greenwich + グリニッジ + + + + Hongkong + 香港 + + + + HST + HST + + + + Iceland + アイスランド + + + + Iran + イラン + + + + Israel + イスラエル + + + + Jamaica + ジャマイカ + + + + + Japan + 日本 + + + + Kwajalein + クェゼリン + + + + Libya + リビア + + + + MET + MET + + + + MST + MST + + + + MST7MDT + MST7MDT + + + + Navajo + ナバホ + + + + NZ + NZ + + + + NZ-CHAT + NZ-CHAT + + + + Poland + ポーランド + + + + Portugal + ポルトガル + + + + PRC + PRC + + + + PST8PDT + PST8PDT + + + + ROC + ROC + + + + ROK + ROK + + + + Singapore + シンガポール + + + + Turkey + トルコ + + + + UCT + UCT + + + + Universal + ユニバーサル + + + + UTC + UTC + + + + W-SU + W-SU + + + + WET + WET + + + + Zulu + ズールー + + + + USA + USA + + + + Europe + ヨーロッパ + + + + Australia + オーストラリア + + + + China + 中国 + + + + Korea + 韓国 + + + + Taiwan + 台湾 + + + + Time Zone: + タイムゾーン: + + + + Note: this can be overridden when region setting is auto-select + 注意:地域設定が自動選択の場合、設定が上書きされる可能性があります。 + + + + Japanese (日本語) + 日本(日本語) + + + + English + 英語 + + + + French (français) + フランス(フランス語) + + + + German (Deutsch) + ドイツ(ドイツ語) + + + + Italian (italiano) + イタリア(イタリア語) + + + + Spanish (español) + スペイン(スペイン語) + + + + Chinese + 中国 + + + + Korean (한국어) + 韓国(韓国語) + + + + Dutch (Nederlands) + オランダ(オランダ語) + + + + Portuguese (português) + ポルトガル(ポルトガル語) + + + + Russian (Русский) + ロシア(ロシア語) + + + + Taiwanese + 台湾 + + + + British English + イギリス + + + + Canadian French + カナダ・フランス語 + + + + Latin American Spanish + ラテンアメリカ・スペイン語 + + + + Simplified Chinese + 簡体字中国語 + + + + Traditional Chinese (正體中文) + 繁体字中国語(正體中文) + + + + Custom RTC + カスタムRTC + + + + Language + 言語 + + + + RNG Seed + RNG速度 + + + + Mono + モノラル + + + + Stereo + ステレオ + + + + Surround + サラウンド + + + + Console ID: + コンソールID: + + + + Sound output mode + サウンド出力モード + + + + d MMM yyyy h:mm:ss AP + d MMM yyyy h:mm:ss AP + + + + Regenerate + 再作成 + + + + System settings are available only when game is not running. + システム設定はゲームが実行されていない場合のみ可能です。 + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + 現在の仮想スイッチが新しいものに置換されます。現在の仮想スイッチは復旧できません。ゲームに予期せぬ影響を与える可能性があります。古い設定などを使うと失敗するかもしれません。続行しますか? + + + + Warning + 警告 + + + + Console ID: 0x%1 + コンソールID: 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + タッチスクリーンマッピング設定 + + + + Mapping: + マッピング: + + + + New + 新規 + + + + Delete + 削除 + + + + Rename + リネーム + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + 下の領域をクリックしてポイントを追加し、ボタンを押してバインドします。 +ポイントをドラッグして位置を変更するか、テーブルのセルをダブルクリックして値を編集します。 + + + + Delete Point + ポイント削除 + + + + Button + ボタン + + + + X + X axis + X + + + + Y + Y axis + Y + + + + New Profile + 新規プロファイル + + + + Enter the name for the new profile. + 新規プロファイルの名称を入力 + + + + Delete Profile + プロファイル削除 + + + + Delete profile %1? + プロファイル%1を削除しますか? + + + + Rename Profile + プロファイルリネーム + + + + New name: + 新規名称: + + + + [press key] + [キーを押す] + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + タッチスクリーン設定 + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + 警告:このページの設定は、yuzuのタッチスクリーンエミュレートの内部動作に影響します。これらを変更すると、タッチスクリーンが部分的に機能しなくなったりするなど、望ましくない動作が生じる可能性があります。それらを理解した上で、このページを使用してください。 + + + + Touch Parameters + タッチパラメータ + + + + Touch Diameter Y + タッチ直径Y + + + + Finger + + + + + Touch Diameter X + タッチ直径X + + + + Rotational Angle + 回転角 + + + + Restore Defaults + デフォルトに戻す + + + + ConfigureUi + + + Form + フォーム + + + + General + 全般 + + + + Note: Changing language will apply your configuration. + 注意:言語を変更した時点で、設定が適用されます。 + + + + Interface language: + UI言語: + + + + Theme: + テーマ: + + + + Game List + ゲームリスト + + + + Show Add-Ons Column + アドオン列を表示 + + + + Icon Size: + アイコンサイズ: + + + + Row 1 Text: + 1行目: + + + + Row 2 Text: + 2行目: + + + + Screenshots + スクリーンショット + + + + Ask Where To Save Screenshots (Windows Only) + スクリーンショットの保存場所を確認する(Windowsのみ) + + + + Screenshots Path: + スクリーンショットパス: + + + + ... + ... + + + + Select Screenshots Path... + スクリーンショットパスを選択... + + + + <System> + <System> + + + + English + 英語 + + + + ConfigureWeb + + + Form + フォーム + + + + yuzu Web Service + yuzu Webサービス + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + ユーザー名とトークンを入力すると、yuzuがユーザー識別情報を含む可能性がある追加の統計情報データを収集することを許可することに同意したと見なされます。 + + + + + Verify + 検証 + + + + Sign up + サインアップ + + + + Token: + トークン: + + + + Username: + ユーザー名: + + + + What is my token? + 私のトークンはなんですか? + + + + Telemetry + テレメトリ + + + + Share anonymous usage data with the yuzu team + 匿名統計情報データをyuzuチームと共有 + + + + Learn more + 詳細情報 + + + + Telemetry ID: + テレメトリID: + + + + Regenerate + 再作成 + + + + Discord Presence + Discordプレゼンス + + + + Show Current Game in your Discord Status + Discordステータスに実行中のゲームを表示 + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">詳細情報</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">サインアップ</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">私のトークンはなんですか?</span></a> + + + + + Telemetry ID: 0x%1 + テレメトリID:0x%1 + + + + + Unspecified + 未設定 + + + + Token not verified + トークンは検証されていません + + + + Token was not verified. The change to your token has not been saved. + トークンは検証されていません。トークンの変更はまだ保存されていません。 + + + + Verifying... + 検証中... + + + + Verification failed + 検証失敗 + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + 検証に失敗しました。トークンを正しく入力したこと、およびインターネット接続が機能していることを確認してください。 + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + yuzuを改善するための<a href='https://yuzu-emu.org/help/feature/telemetry/'>匿名データが収集されました</a>。<br/><br/>統計情報データを共有しますか? + + + + Telemetry + テレメトリ + + + + Text Check Failed + テキストチェック失敗 + + + + Loading Web Applet... + Webアプレットをロード中... + + + + Exit Web Applet + Webアプレットを終了する + + + + Exit + 終了 + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + Webアプリケーションを終了するには、ゲームが提供する"終了"を選択するか、メニューの"Webアプレットを終了する"を選択するか、"Enter"キーを押してください。 + + + + Web Applet + Webアプレット + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + 使用中のyuzuはQtWebEngineをサポートしていないため、ゲームの説明書やWebページを正しく表示できません。 + + + + The amount of shaders currently being built + ビルド中のシェーダー数 + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + 現在のエミュレーション速度。値が100%より高いか低い場合、エミュレーション速度がSwitchより速いか遅いことを示します。 + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + ゲームが現在表示している1秒あたりのフレーム数。これはゲームごと、シーンごとに異なります。 + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + Switchフレームをエミュレートするのにかかる時間で、フレームリミットやV-Syncは含まれません。フルスピードエミュレーションの場合、最大で16.67ミリ秒になります。 + + + + DOCK + DOCK + + + + ASYNC + ASYNC + + + + MULTICORE + MULTICORE + + + + VULKAN + VULKAN + + + + OPENGL + OPENGL + + + + Clear Recent Files + 最近使用したファイルを消去 + + + + Warning Outdated Game Format + 古いゲームフォーマットの警告 + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + このゲームでは、分解されたROMディレクトリフォーマットを使用しています。これは、NCA、NAX、XCI、またはNSPなどに取って代わられた古いフォーマットです。分解されたROMディレクトリには、アイコン、メタデータ、およびアップデートサポートがありません。<br><br>yuzuがサポートするSwitchフォーマットの説明については、<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>wikiをチェックしてください</a>。このメッセージは二度と表示されません。 + + + + + Error while loading ROM! + ROMロード中にエラーが発生しました! + + + + The ROM format is not supported. + このROMフォーマットはサポートされていません。 + + + + An error occurred initializing the video core. + ビデオコア初期化中にエラーが発生しました。 + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + ビデオコアの実行中にyuzuでエラーが発生しました。詳細については、ログを参照してください。ログへのアクセスの詳細については、次のページを参照してください:<a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>ログファイルをアップロードする方法</a>。最新のグラフィックドライバを使用していることを確認して下さい。 + + + + Error while loading ROM! + ROMロードエラー! + + + + An unknown error occurred. Please see the log for more details. + 不明なエラーが発生しました。詳細はログを確認して下さい。 + + + + Start + 開始 + + + + Save Data + データのセーブ + + + + Mod Data + Modデータ + + + + Error Opening %1 Folder + ”%1”フォルダを開けませんでした + + + + + Folder does not exist! + フォルダが存在しません! + + + + Error Opening Transferable Shader Cache + シェーダキャッシュを開けませんでした + + + + + A shader cache for this title does not exist. + このタイトル用のシェーダキャッシュは存在しません。 + + + + Contents + コンテンツ + + + + Update + アップデート + + + + DLC + DLC + + + + Remove Entry + エントリ削除 + + + + Remove Installed Game %1? + インストールされているゲーム%1を削除しますか? + + + + + + + + Successfully Removed + 削除成功 + + + + Successfully removed the installed base game. + インストールされたゲームを正常に削除しました。 + + + + + + Error Removing %1 + %1削除エラー + + + + The base game is not installed in the NAND and cannot be removed. + ゲームはNANDにインストールされておらず、削除できません。 + + + + Successfully removed the installed update. + インストールされたアップデートを正常に削除しました。 + + + + There is no update installed for this title. + このタイトルのアップデートはインストールされていません。 + + + + There are no DLC installed for this title. + このタイトルにはDLCがインストールされていません。 + + + + Successfully removed %1 installed DLC. + %1にインストールされたDLCを正常に削除しました。 + + + + Delete Transferable Shader Cache? + 転送可能なシェーダーキャッシュを削除しますか? + + + + Remove Custom Game Configuration? + カスタムゲーム設定を削除しますか? + + + + Remove File + ファイル削除 + + + + + Error Removing Transferable Shader Cache + 転送可能なシェーダーキャッシュの削除エラー + + + + Successfully removed the transferable shader cache. + 転送可能なシェーダーキャッシュが正常に削除されました。 + + + + Failed to remove the transferable shader cache. + 転送可能なシェーダーキャッシュを削除できませんでした。 + + + + + Error Removing Custom Configuration + カスタム設定の削除エラー + + + + A custom configuration for this title does not exist. + このタイトルのカスタム設定は存在しません。 + + + + Successfully removed the custom game configuration. + カスタムゲーム設定を正常に削除しました。 + + + + Failed to remove the custom game configuration. + カスタムゲーム設定の削除に失敗しました。 + + + + RomFS Extraction Failed! + RomFSの解析に失敗しました! + + + + There was an error copying the RomFS files or the user cancelled the operation. + RomFSファイルをコピー中にエラーが発生したか、ユーザー操作によりキャンセルされました。 + + + + Full + フル + + + + Skeleton + スケルトン + + + + Select RomFS Dump Mode + RomFSダンプモードの選択 + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + RomFSのダンプ方法を選択してください。<br>”完全”はすべてのファイルが新しいディレクトリにコピーされます。<br>”スケルトン”はディレクトリ構造を作成するだけです。 + + + + Extracting RomFS... + RomFSを解析中・・・ + + + + + Cancel + キャンセル + + + + RomFS Extraction Succeeded! + RomFS解析成功! + + + + The operation completed successfully. + 操作は成功しました。 + + + + Error Opening %1 + ”%1”を開けませんでした + + + + Select Directory + ディレクトリの選択 + + + + Properties + プロパティ + + + + The game properties could not be loaded. + ゲームプロパティをロード出来ませんでした。 + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Switch実行ファイル (%1);;すべてのファイル (*.*) + + + + Load File + ファイルのロード + + + + Open Extracted ROM Directory + 展開されているROMディレクトリを開く + + + + Invalid Directory Selected + 無効なディレクトリが選択されました + + + + The directory you have selected does not contain a 'main' file. + 選択されたディレクトリに”main”ファイルが見つかりませんでした。 + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + インストール可能なスイッチファイル (*.nca *.nsp *.xci);;任天堂コンテンツアーカイブ (*.nca);;任天堂サブミッションパッケージ (*.nsp);;NXカートリッジイメージ (*.xci) + + + + Install Files + ファイルのインストール + + + + Installing file "%1"... + "%1"ファイルをインストールしています・・・ + + + + Install Results + インストール結果 + + + + System Application + システムアプリケーション + + + + System Archive + システムアーカイブ + + + + System Application Update + システムアプリケーションアップデート + + + + Firmware Package (Type A) + ファームウェアパッケージ(Type A) + + + + Firmware Package (Type B) + ファームウェアパッケージ(Type B) + + + + Game + ゲーム + + + + Game Update + ゲームアップデート + + + + Game DLC + ゲームDLC + + + + Delta Title + 差分タイトル + + + + Select NCA Install Type... + NCAインストール種別を選択・・・ + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + インストールするNCAタイトル種別を選択して下さい: +(ほとんどの場合、デフォルトの”ゲーム”で問題ありません。) + + + + Failed to Install + インストール失敗 + + + + The title type you selected for the NCA is invalid. + 選択されたNCAのタイトル種別が無効です。 + + + + File not found + ファイルが存在しません + + + + File "%1" not found + ファイル”%1”が存在しません + + + + + Continue + 続行 + + + + Error Display + 表示エラー + + + + Missing yuzu Account + yuzuアカウントが存在しません + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + ゲームの互換性テストケースを送信するには、yuzuアカウントをリンクする必要があります。<br><br/>yuzuアカウントをリンクするには、エミュレーション > 設定 > Web から行います。 + + + + Error opening URL + URLオープンエラー + + + + Unable to open the URL "%1". + URL"%1"を開けません。 + + + + Amiibo File (%1);; All Files (*.*) + amiiboファイル (%1);;すべてのファイル (*.*) + + + + Load Amiibo + amiiboのロード + + + + Error opening Amiibo data file + amiiboデータファイルを開けませんでした + + + + Unable to open Amiibo file "%1" for reading. + amiiboデータファイル”%1”を読み込めませんでした。 + + + + Error reading Amiibo data file + amiiboデータファイルを読み込み中にエラーが発生した + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + amiiboデータを完全には読み取ることができませんでした。%1バイトを読み込もうとしましたが、%2バイトしか読み取れませんでした。 + + + + Error loading Amiibo data + amiiboデータ読み込み中にエラーが発生しました + + + + Unable to load Amiibo data. + amiiboデータをロードできませんでした。 + + + + Capture Screenshot + スクリーンショットのキャプチャ + + + + PNG Image (*.png) + PNG画像 (*.png) + + + + Speed: %1% / %2% + 速度:%1% / %2% + + + + Speed: %1% + 速度:%1% + + + + Game: %1 FPS + ゲーム:%1 FPS + + + + Frame: %1 ms + フレーム:%1 ms + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + ロードしようとしているゲームはプレイする前にスイッチからダンプされた追加のファイルを必要とします。<br/><br/>これらのファイルのダンプの詳細については、次のWikiページを参照してください:<a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>スイッチコンソールからのシステムアーカイブと共有フォントをダンプする</a>。<br/><br/>ゲームリストに戻りますか?エミュレーションを続けると、クラッシュ、保存データの破損、またはその他のバグが発生する可能性があります。 + + + + yuzu was unable to locate a Switch system archive. %1 + yuzuはSwitchのシステムアーカイブ "%1" を見つけられませんでした。 + + + + yuzu was unable to locate a Switch system archive: %1. %2 + yuzuはSwitchのシステムアーカイブ "%1" "%2" を見つけられませんでした。 + + + + System Archive Not Found + システムアーカイブが見つかりません + + + + System Archive Missing + システムアーカイブが見つかりません + + + + yuzu was unable to locate the Switch shared fonts. %1 + yuzuはSwitchの共有フォント "%1" を見つけられませんでした。 + + + + Shared Fonts Not Found + 共有フォントが存在しません + + + + Shared Font Missing + 共有フォントが存在しません + + + + Fatal Error + 致命的なエラー + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + yuzuが致命的なエラーを検出しました。詳細については、ログを参照してください。ログへのアクセスの詳細については、次のページを参照してください。<a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>ログファイルをアップロードする方法</a>。<br/><br/>ゲームリストに戻りますか?エミュレーションを続けると、クラッシュ、保存データの破損、またはその他のバグが発生する可能性があります。 + + + + Fatal Error encountered + 致命的なエラー発生 + + + + Confirm Key Rederivation + キーの再取得確認 + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + すべてのキーを再作成しようとしています。 +これが何を意味するのか分からない場合、または何をしようとしているのか分からない場合、 +これは破壊的な可能性がある実行です。 +これがあなたが望むものであることを確認し、 +そしてオプションでバックアップを作成します。 + +これにより、自動生成されたキーファイルが削除され、キー導出モジュールが再実行されます。 + + + + Missing fuses + ヒューズがありません + + + + - Missing BOOT0 + - BOOT0がありません + + + + - Missing BCPKG2-1-Normal-Main + - BCPKG2-1-Normal-Mainがありません + + + + - Missing PRODINFO + - PRODINFOがありません + + + + Derivation Components Missing + 派生コンポーネントがありません + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + コンポーネントが見つからず、キーの導出が完了しない可能性があります。<br>ゲームとキーを取得するために、<a href='https://yuzu-emu.org/help/quickstart/'>yuzuクイックスタートガイド</a>の手順に従って下さい。<br><br><small>(%1)</small> + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + キーを作成中... +システムのパフォーマンスによっては +1分以上かかります。 + + + + Deriving Keys + 派生キー + + + + Select RomFS Dump Target + RomFSダンプターゲットの選択 + + + + Please select which RomFS you would like to dump. + ダンプしたいRomFSを選択して下さい。 + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + yuzuを終了してもよろしいですか? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + エミュレーションを停止してもよろしいですか?セーブされていない進行状況は失われます。 + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + 現在動作中のアプリケーションはyuzuに終了しないよう要求しています。 + +無視してとにかく終了しますか? + + + + GRenderWindow + + + OpenGL not available! + OpenGLは使用できません! + + + + yuzu has not been compiled with OpenGL support. + yuzuはOpenGLサポート付きでコンパイルされていません。 + + + + Vulkan not available! + Vulkanは使用できません! + + + + yuzu has not been compiled with Vulkan support. + yuzuはVulkanサポート付きでコンパイルされていません。 + + + + Error while initializing OpenGL 4.3! + OpenGL4.3初期化エラー + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + GPUがOpenGL 4.3をサポートしていないか、最新のグラフィックスドライバーではありません。 + + + + Error while initializing OpenGL! + OpenGL初期化エラー + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + GPUが1つ以上の必要なOpenGL拡張機能をサポートしていない可能性があります。最新のグラフィックドライバを使用していることを確認してください。<br><br>サポートされていない拡張機能:<br> + + + + GameList + + + + Name + 名称 + + + + + Compatibility + 互換性 + + + + + Add-ons + アドオン + + + + + + + File type + ファイル種別 + + + + + + + Size + サイズ + + + + Open Save Data Location + セーブデータディレクトリを開く + + + + Open Mod Data Location + Modデータディレクトリを開く + + + + Open Transferable Shader Cache + シェーダキャッシュを開く + + + + Remove + 削除 + + + + Remove Installed Update + インストールされているアップデートを削除 + + + + Remove All Installed DLC + 全てのインストールされているDLCを削除 + + + + Remove Shader Cache + シェーダーキャッシュを削除 + + + + Remove Custom Configuration + カスタム設定を削除 + + + + Remove All Installed Contents + 全てのインストールされているコンテンツを削除 + + + + Dump RomFS + RomFSをダンプ + + + + Copy Title ID to Clipboard + タイトルIDをクリップボードへコピー + + + + Navigate to GameDB entry + GameDBエントリを表示 + + + + Properties + プロパティ + + + + Scan Subfolders + サブフォルダをスキャンする + + + + Remove Game Directory + ゲームディレクトリを削除する + + + + ▲ Move Up + ▲ 上へ移動 + + + + ▼ Move Down + ▼ 下へ移動 + + + + Open Directory Location + ディレクトリの場所を開く + + + + GameListItemCompat + + + Perfect + パーフェクト + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + ゲームはオーディオ、またはグラフィックの不具合なしで完璧に動作し、回避策なしで期待通りに動作します。 + + + + Great + グレート + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + ゲームの動作にはグラフィック、またはオーディオの軽微な不具合がありますが、最初から最後までプレイ可能です。いくつかの回避策が必要な場合があります。 + + + + Okay + OK + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + ゲームの動作にはグラフィック、またはオーディオの重大な不具合がありますが、回避策を使うことで最初から最後までプレイ可能です。 + + + + Bad + NG + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + ゲームは動作しますが、グラフィック、またはオーディオに重大な不具合があります。回避策を使用しても不具合が原因で特定の場所から進めなくなります。 + + + + Intro/Menu + イントロ/メニュー + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + グラフィック、またはオーディオの重大な不具合のため、ゲームはプレイ不可能です。スタート画面から先に進めることは出来ません。 + + + + Won't Boot + 起動せず + + + + The game crashes when attempting to startup. + ゲームは起動時にクラッシュしました。 + + + + Not Tested + 未テスト + + + + The game has not yet been tested. + ゲームはまだテストされていません。 + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + 新しいゲームリストフォルダを追加するにはダブルクリックしてください。 + + + + GameListSearchField + + + Filter: + フィルター: + + + + Enter pattern to filter + フィルターパターンを入力 + + + + InstallDialog + + + Please confirm these are the files you wish to install. + これらがインストールするファイルであることを確認してください。 + + + + Installing an Update or DLC will overwrite the previously installed one. + アップデート、またはDLCをインストールすると、以前にインストールしたものが上書きされます。 + + + + Install + インストール + + + + Install Files to NAND + ファイルをNANDへインストール + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + シェーダをロード中 387 / 1628 + + + + Loading Shaders %v out of %m + シェーダをロード中 %v / %m + + + + Estimated Time 5m 4s + 予想時間 5分4秒 + + + + Loading... + ロード中... + + + + Loading Shaders %1 / %2 + シェーダをロード中 %1 / %2 + + + + Launching... + 起動中... + + + + Estimated Time %1 + 予想時間 %1 + + + + MainWindow + + + yuzu + yuzu + + + + &File + ファイル(&F) + + + + Recent Files + 最近使用したファイル + + + + &Emulation + エミュレーション(&E) + + + + &View + 表示(&V) + + + + Debugging + デバッグ + + + + Tools + ツール + + + + &Help + ヘルプ(&H) + + + + Install Files to NAND... + ファイルをNANDへインストール... + + + + Load File... + ファイルをロード... + + + + Load Folder... + フォルダをロード... + + + + E&xit + 終了(&E) + + + + &Start + 実行(&S) + + + + &Pause + 中断(&P) + + + + &Stop + 停止(&S) + + + + Reinitialize keys... + キーの再初期化... + + + + About yuzu + yuzuについて + + + + Single Window Mode + 単一ウィンドウモード + + + + Configure... + 設定... + + + + Display Dock Widget Headers + ドックウィジェットヘッダーの表示 + + + + Show Filter Bar + フィルターバーの表示 + + + + Show Status Bar + ステータスバーの表示 + + + + Reset Window Size + ウィンドウサイズをリセット + + + + Fullscreen + フルスクリーン + + + + Restart + 再起動 + + + + Load Amiibo... + amiiboをロード... + + + + Report Compatibility + 互換性を報告 + + + + Open Mods Page + Modページを開く + + + + Open Quickstart Guide + クイックスタートガイドを開く + + + + FAQ + FAQ + + + + Open yuzu Folder + yuzuディレクトリを開く + + + + Capture Screenshot + スクリーンショットをキャプチャ + + + + Configure Current Game.. + 現在のゲームの設定... + + + + MicroProfileDialog + + + MicroProfile + マイクロプロファイル + + + + QObject + + + Installed SD Titles + インストール済みSDタイトル + + + + Installed NAND Titles + インストール済みNANDタイトル + + + + System Titles + システムタイトル + + + + Add New Game Directory + 新しいゲームディレクトリを追加する + + + + + + Shift + Shift + + + + + + Ctrl + Ctrl + + + + + + Alt + Alt + + + + + + + [not set] + [未設定] + + + + + + Hat %1 %2 + 十字キー %1 %2 + + + + + + Axis %1%2 + 軸 %1%2 + + + + + + Button %1 + ボタン %1 + + + + + + + [unknown] + [不明] + + + + + Click 0 + クリック0 + + + + + Click 1 + クリック1 + + + + + Click 2 + クリック2 + + + + + Click 3 + クリック3 + + + + + Click 4 + クリック4 + + + + GC Axis %1%2 + GC Axis %1%2 + + + + GC Button %1 + GC Button %1 + + + + + [unused] + [未使用] + + + + + Axis %1 + 軸 %1 + + + + + GC Axis %1 + GC Axis %1 + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + エラーが発生しました。 +もう一度試す、またはソフト開発者に連絡してください。 + +エラーコード: %1-%2 (0x%3) + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + %2 の %1 でエラーが発生しました。 +もう一度試す、またはソフト開発者に連絡してください。 + +エラーコード: %3-%4 (0x%5) + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + エラーが発生しました。 +エラーコード: %1-%2 (0x%3) + +%4 + +%5 + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + ユーザー選択: + + + + Users + ユーザー + + + + Profile Selector + プロファイル選択 + + + + QtSoftwareKeyboardDialog + + + Enter text: + テキストを入力: + + + + Software Keyboard + ソフトウェアキーボード + + + + SequenceDialog + + + Enter a hotkey + ホットキーを入力 + + + + WaitTreeCallstack + + + Call stack + コールスタック + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + ミューテックス 0x%1 待ち + + + + has waiters: %1 + 待機:%1 + + + + owner handle: 0x%1 + オーナーハンドル: 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + 全オブジェクト待ち + + + + waiting for one of the following objects + 以下のオブジェクトのうちの一つを待機中 + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + [%1]%2 %3 + + + + waited by no thread + スレッドなしで待機 + + + + WaitTreeThread + + + + running + 実行中 + + + + ready + 準備完了 + + + + + paused + 中断 + + + + waiting for HLE return + HLEリターン待ち + + + + sleeping + 休止中 + + + + waiting for IPC reply + IPC返答待ち + + + + waiting for objects + オブジェクト待ち + + + + waiting for mutex + ミューテックス待ち + + + + waiting for condition variable + 条件変数待ち + + + + waiting for address arbiter + アドレス決定待ち + + + + dormant + 休止 + + + + dead + 死亡 + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + 理想的 + + + + core %1 + コア %1 + + + + Unknown processor %1 + 不明なプロセッサ %1 + + + + processor = %1 + プロセッサ = %1 + + + + ideal core = %1 + イデアルコア = %1 + + + + affinity mask = %1 + アフィニティマスク = %1 + + + + thread id = %1 + スレッドID = %1 + + + + priority = %1(current) / %2(normal) + 優先度 = %1(現在) / %2(通常) + + + + last running ticks = %1 + 最終実行刻み = %1 + + + + not waiting for mutex + ミューテックス待ちではない + + + + WaitTreeThreadList + + + waited by thread + スレッドによる待機 + + + + WaitTreeWidget + + + Wait Tree + 待ちツリー + + + \ No newline at end of file diff --git a/dist/languages/nl.ts b/dist/languages/nl.ts new file mode 100644 index 000000000..0f5178458 --- /dev/null +++ b/dist/languages/nl.ts @@ -0,0 +1,4719 @@ + + + AboutDialog + + + About yuzu + Over yuzu + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is een experimentele open-bron emulator voor de Nintendo Switch, in licentie gegeven onder GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">De software zou niet gebruikt moeten worden om games te spelen die je niet legaal verkregen hebt.</span></p></body></html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Broncode</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Bijdragers</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Licentie</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is een handelsmerk van Nintendo. yuzu is op geen enkele manier met Nintendo verbonden.</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + Communiceren met de server... + + + + Cancel + Annuleren + + + + Touch the top left corner <br>of your touchpad. + + + + + Now touch the bottom right corner <br>of your touchpad. + + + + + Configuration completed! + + + + + OK + + + + + CompatDB + + + Report Compatibility + Rapporteer Compatibiliteit + + + + + Report Game Compatibility + Rapporteer Game Compatibiliteit + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">Als je kiest een test case op te sturen naar de </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu compatibiliteitslijst</span></a><span style=" font-size:10pt;">, zal de volgende informatie worden verzameld en getoond op de site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Informatie (CPU / GPU / Besturingssysteem)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Welke versie van yuzu je draait</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Het verbonden yuzu account</li></ul></body></html> + + + + Perfect + Perfect + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>De game werkt foutloos, zonder geluid of grafische problemen.</p></body></html> + + + + Great + Goed + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>Game werkt met kleine grafische of geluid problemen en is speelbaar van start tot eind. Kan enkele tijdelijke oplossingen nodig hebben.</p></body></html> + + + + Okay + OK + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>Game werkt met grote grafische of geluid problemen, maar is speelbaar van start tot eind met tijdelijke oplossingen.</p></body></html> + + + + Bad + Slecht + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>Game werkt, maar met grote grafische of geluid problemen. Specifieke gebieden kunnen niet worden uitgespeeld vanwege problemen, zelfs met tijdelijke oplossingen. </p></body></html> + + + + Intro/Menu + Intro/Menu + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>Game is compleet onspeelbaar dankzij grote grafische of geluid problemen. Onmogelijk voorbij het startscherm te komen.</p></body></html> + + + + Won't Boot + Start Niet + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>De game crasht wanneer je het probeert op te starten.</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <html><head/><body><p>Onafhankelijk van snelheid of prestaties, Hoe goed speelt de game van start tot eind op deze versie van yuzu?</p></body></html> + + + + Thank you for your submission! + Bedankt voor je inzending! + + + + Submitting + Inzenden + + + + Communication error + Communicatiefout + + + + An error occured while sending the Testcase + Er was een fout tijdens het insturen van de Testcase. + + + + Next + Volgende + + + + ConfigureAudio + + + Audio + Geluid + + + + Output Engine: + Output Engine: + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + Dit nabewerkings effect past de snelheid van het geluid zodanig aan dat de snelheid van de emulatie en van het geluid op elkaar afgestemd zijn. Dit zorgt er wel voor dat de latency van het geluid hoger word. + + + + Enable audio stretching + Geluid Rekking Aanzetten + + + + Audio Device: + Geluid Apparaat: + + + + Use global volume + + + + + Set volume: + + + + + Volume: + Volume: + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + + + + + General + + + + + Accuracy: + + + + + Accurate + + + + + Unsafe + + + + + Enable Debug Mode + + + + + We recommend setting accuracy to "Accurate". + + + + + Unsafe CPU Optimization Settings + + + + + These settings reduce accuracy for speed. + + + + + Unfuse FMA (improve performance on CPUs without FMA) + + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + + + + + Faster FRSQRTE and FRECPE + + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + + + + + CPU settings are available only when game is not running. + + + + + Setting CPU to Debug Mode + + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + + + + + ConfigureCpuDebug + + + Form + + + + + Toggle CPU Optimizations + + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + + + + + Enable inline page tables + + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + + + + Enable block linking + + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + + + + Enable return stack buffer + + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + + + + Enable fast dispatcher + + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + + + + Enable context elimination + + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + + + + Enable constant propagation + + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + + + + Enable miscellaneous optimizations + + + + + + <div>Enables miscellaneous IR optimizations.</div> + + + + + + Enable misalignment check reduction + + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + + + + CPU settings are available only when game is not running. + + + + + ConfigureDebug + + + Form + Vorm + + + + GDB + GDB + + + + Enable GDB Stub + GDB Stub Aanzetten + + + + Port: + Poort: + + + + Logging + Loggen + + + + Global Log Filter + Globale Log Filter + + + + Show Log Console (Windows Only) + Laat Log Venster Zien (Alleen voor Windows) + + + + Open Log Location + Open Log Locatie + + + + Homebrew + Homebrew + + + + Arguments String + Argumenten Rij + + + + Graphics + + + + + When checked, the graphics API enters in a slower debugging mode + + + + + Enable Graphics Debugging + + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + + + + + Disable Macro JIT + + + + + Dump + + + + + Enable Verbose Reporting Services + Gebruik Uitgebreide Rapporteer Services + + + + This will be reset automatically when yuzu closes. + Deze optie hersteld wanneer je yuzu afsluit. + + + + Advanced + Geavanceerd + + + + Kiosk (Quest) Mode + Kiosk (Quest) Modus + + + + ConfigureDebugController + + + Configure Debug Controller + + + + + Clear + + + + + Defaults + + + + + ConfigureDialog + + + yuzu Configuration + yuzu Configuratie + + + + + + + General + Algemeen + + + + + UI + UI + + + + Game List + Game Lijst + + + + + + + System + Systeem + + + + + + Profiles + Profielen + + + + + + Filesystem + Bestandssysteem + + + + + + + Controls + Bediening + + + + + + Hotkeys + Sneltoetsen + + + + + + + CPU + + + + + + + + + + Debug + Debug + + + + + + + Graphics + Grafisch + + + + + Advanced + + + + + GraphicsAdvanced + + + + + + + + Audio + Geluid + + + + + + Web + Web + + + + + + Services + Services + + + + ConfigureFilesystem + + + Form + Vorm + + + + Storage Directories + Opslag Folders + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + SD Kaart + + + + Gamecard + Gamekaart + + + + Path + Pad + + + + Inserted + Ingevoerd + + + + Current Game + Huidig Spel + + + + Patch Manager + Patch Beheer + + + + Dump Decompressed NSOs + Dump Uitgepakte NSO's + + + + Dump ExeFS + Dump ExeFS + + + + Mod Load Root + Mod Laad Root + + + + Dump Root + Dump Root + + + + Caching + Caching + + + + Cache Directory + Cache Folder + + + + Cache Game List Metadata + Cache Spel Lijst Metadata + + + + + + + Reset Metadata Cache + Herstel Metadata Cache + + + + Select Emulated NAND Directory... + Selecteer Geëmuleerde NAND Folder + + + + Select Emulated SD Directory... + Selecteer Geëmuleerde SD Folder + + + + Select Gamecard Path... + Selecteer Gamekaart Pad + + + + Select Dump Directory... + Selecteer Dump Folder + + + + Select Mod Load Directory... + Selecteer Mod Laad Folder + + + + Select Cache Directory... + Selecteer Cache Folder + + + + The metadata cache is already empty. + De metadata cache is al leeg. + + + + The operation completed successfully. + De operatie is succesvol voltooid. + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + De metadata cache kon niet worden verwijderd. Het wordt mogelijk gebruikt of bestaat niet. + + + + ConfigureGeneral + + + Form + Vorm + + + + General + Algemeen + + + + Limit Speed Percent + Limiteer Snelheid Percentage + + + + % + % + + + + Multicore CPU Emulation + + + + + Confirm exit while emulation is running + Bevestig sluiten terwijl emulatie nog bezig is + + + + Prompt for user on game boot + Vraag voor gebruiker bij het opstartten van het spel. + + + + Pause emulation when in background + Pauzeer Emulatie wanneer yuzu op de achtergrond openstaat + + + + Hide mouse on inactivity + + + + + ConfigureGraphics + + + Form + Vorm + + + + API Settings + + + + + API: + + + + + Device: + + + + + Graphics Settings + + + + + Use disk shader cache + Gebruik schijf shader cache + + + + Use asynchronous GPU emulation + Gebruik asynchroon GPU emulatie + + + + Aspect Ratio: + + + + + Default (16:9) + + + + + Force 4:3 + + + + + Force 21:9 + + + + + Stretch to Window + + + + + + Use global background color + + + + + Set background color: + + + + + Background Color: + Achtergrondkleur: + + + + OpenGL Graphics Device + + + + + ConfigureGraphicsAdvanced + + + Form + + + + + Advanced Graphics Settings + + + + + Accuracy Level: + + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + + + + + Use VSync (OpenGL only) + + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + + + + + Use asynchronous shader building (experimental) + + + + + Use Fast GPU Time + + + + + Anisotropic Filtering: + + + + + Default + + + + + 2x + + + + + 4x + + + + + 8x + + + + + 16x + + + + + ConfigureHotkeys + + + Hotkey Settings + Sneltoets Instellingen + + + + Double-click on a binding to change it. + Dubbel-klik op een binding om het te veranderen. + + + + Clear All + + + + + Restore Defaults + + + + + Action + Actie + + + + Hotkey + Sneltoets + + + + Context + Context + + + + + Conflicting Key Sequence + Ongeldige Toets Volgorde + + + + The entered key sequence is already assigned to: %1 + + + + + Restore Default + + + + + Clear + + + + + The default key sequence is already assigned to: %1 + + + + + ConfigureInput + + + ConfigureInput + + + + + + Player 1 + Speler 1 + + + + + Player 2 + Speler 2 + + + + + Player 3 + Speler 3 + + + + + Player 4 + Speler 4 + + + + + Player 5 + Speler 5 + + + + + Player 6 + Speler 6 + + + + + Player 7 + Speler 7 + + + + + Player 8 + Speler 8 + + + + + Advanced + Geavanceerd + + + + Console Mode + + + + + Docked + + + + + Undocked + + + + + Vibration + + + + + % + + + + + Motion + + + + + Configure + Configureer + + + + Controllers + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + Connected + + + + + Defaults + + + + + Clear + + + + + ConfigureInputAdvanced + + + Configure Input + + + + + Joycon Colors + + + + + Player 1 + + + + + + + + + + + + L Body + + + + + + + + + + + + L Button + + + + + + + + + + + + R Body + + + + + + + + + + + + R Button + + + + + Player 2 + + + + + Player 3 + + + + + Player 4 + + + + + Player 5 + + + + + Player 6 + + + + + Player 7 + + + + + Player 8 + + + + + Other + + + + + Keyboard + + + + + + Advanced + + + + + Touchscreen + + + + + Mouse + + + + + Motion / Touch + + + + + + Configure + + + + + Debug Controller + + + + + ConfigureInputPlayer + + + Configure Input + Configureer Invoer + + + + Connect Controller + + + + + + + Pro Controller + + + + + + Dual Joycons + + + + + + Left Joycon + + + + + + Right Joycon + + + + + + Handheld + + + + + Input Device + + + + + Any + + + + + Keyboard/Mouse + + + + + Profile + + + + + Save + + + + + New + + + + + Delete + + + + + Left Stick + Linker Stick + + + + + + + + + Up + + + + + + + + + + Left + + + + + + + + + + Right + + + + + + + + + + Down + + + + + + + + Pressed + + + + + + + + Modifier + + + + + + Range + + + + + + % + + + + + + Deadzone: 0% + + + + + + Modifier Range: 0% + + + + + D-Pad + + + + + + L + + + + + + ZL + + + + + + Minus + + + + + + Capture + + + + + + Plus + + + + + + Home + + + + + + R + + + + + + ZR + + + + + + SL + + + + + + SR + + + + + Face Buttons + Gezicht Knoppen + + + + + X + + + + + + Y + + + + + + A + + + + + + B + + + + + Right Stick + Rechter Stick + + + + + Deadzone: %1% + + + + + + Modifier Range: %1% + + + + + [waiting] + + + + + ConfigureMotionTouch + + + Configure Motion / Touch + + + + + Motion + + + + + Motion Provider: + + + + + Sensitivity: + + + + + Touch + + + + + Touch Provider: + + + + + Calibration: + + + + + (100, 50) - (1800, 850) + + + + + + + Configure + + + + + Use button mapping: + + + + + CemuhookUDP Config + + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + + + + + Server: + + + + + Port: + + + + + Pad: + + + + + Pad 1 + + + + + Pad 2 + + + + + Pad 3 + + + + + Pad 4 + + + + + Learn More + + + + + + Test + + + + + Mouse (Right Click) + + + + + + CemuhookUDP + + + + + Emulator Window + + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + + + + + Testing + + + + + Configuring + + + + + Test Successful + + + + + Successfully received data from the server. + + + + + Test Failed + + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + + + + + Citra + + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + + + + + ConfigureMouseAdvanced + + + Configure Mouse + Configureer Muis + + + + Mouse Buttons + Muisknoppen + + + + Forward: + Voorwaarts: + + + + Back: + Terug: + + + + Left: + Links: + + + + Middle: + Middel: + + + + Right: + Rechts: + + + + + Clear + Herstellen + + + + Defaults + + + + + [not set] + [niet ingesteld] + + + + Restore Default + Herstel Standaardwaarde + + + + [press key] + [druk op knop] + + + + ConfigurePerGame + + + Dialog + + + + + Info + + + + + Name + + + + + Title ID + + + + + Filename + + + + + Format + + + + + Version + + + + + Size + + + + + Developer + + + + + Add-Ons + + + + + General + + + + + System + + + + + Graphics + + + + + Adv. Graphics + + + + + Audio + + + + + Properties + + + + + Use global configuration (%1) + + + + + ConfigurePerGameAddons + + + Form + + + + + Patch Name + + + + + Version + + + + + ConfigureProfileManager + + + Form + Vorm + + + + Profile Manager + Profiel Beheer + + + + Current User + Huidige Gebruiker + + + + Username + Gebruikersnaam + + + + Set Image + Selecteer Afbeelding + + + + Add + Voeg Toe + + + + Rename + Hernoem + + + + Remove + Verwijder + + + + Profile management is available only when game is not running. + Profiel beheer is alleen beschikbaar wanneer het spel niet bezig is. + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Enter Username + Voer een Gebruikersnaam in + + + + Users + Gebruikers + + + + Enter a username for the new user: + Voer een gebruikersnaam in voor de nieuwe gebruiker: + + + + Enter a new username: + Voer nieuwe gebruikersnaam in: + + + + Confirm Delete + Bevestig Verwijdering + + + + You are about to delete user with name "%1". Are you sure? + Je staat op het punt een gebruiker met de naam "%1" te verwijderen. Weet je het zeker? + + + + Select User Image + Selecteer gebruiker's foto + + + + JPEG Images (*.jpg *.jpeg) + JPEG foto's (*.jpg *.jpeg) + + + + Error deleting image + Fout tijdens verwijderen afbeelding + + + + Error occurred attempting to overwrite previous image at: %1. + Er is een fout opgetreden bij het overschrijven van de vorige afbeelding in: %1. + + + + Error deleting file + Fout tijdens verwijderen bestand + + + + Unable to delete existing file: %1. + Kan bestaand bestand niet verwijderen: %1. + + + + Error creating user image directory + Fout tijdens het maken van de map met afbeeldingen van de gebruiker + + + + Unable to create directory %1 for storing user images. + Fout tijdens het maken van map %1 om gebruikersafbeeldingen in te bewaren. + + + + Error copying user image + Fout tijdens het kopiëren van de gebruiker afbeelding + + + + Unable to copy image from %1 to %2 + Kan afbeelding niet kopiëren van %1 naar %2 + + + + ConfigureService + + + Form + Vorm + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + BCAT is Nintendo's manier om informatie naar games te versturen om de gemeenschap te stimuleren of om nieuwe inhoud te ontgrendelen + + + + BCAT Backend + BCAT Backend + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Leer meer over BCAT, Boxcat, en actuele Evenementen</span></a></p></body></html> + + + + The boxcat service is offline or you are not connected to the internet. + De boxcat service is offline of je bent niet verbonden met het internet. + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + Er was een fout tijdens het processen van de boxcat evenement data. Contacteer de yuzu ontwikkelaars. + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + De versie van yuzu die je gebruikt is te nieuw of te oud voor de server. Probeer te updaten naar de nieuwste officiële release van yuzu. + + + + + There are currently no events on boxcat. + Er zijn momenteel geen evenementen op boxcat. + + + + + Current Boxcat Events + + + + + Yuzu is retrieving the latest boxcat status... + Yuzu haalt de laatste boxcat-status op... + + + + ConfigureSystem + + + Form + Vorm + + + + System Settings + Systeeminstellingen + + + + Region: + + + + + Auto + + + + + Default + + + + + CET + + + + + CST6CDT + + + + + Cuba + + + + + EET + + + + + Egypt + + + + + Eire + + + + + EST + + + + + EST5EDT + + + + + GB + + + + + GB-Eire + + + + + GMT + + + + + GMT+0 + + + + + GMT-0 + + + + + GMT0 + + + + + Greenwich + + + + + Hongkong + + + + + HST + + + + + Iceland + + + + + Iran + + + + + Israel + + + + + Jamaica + + + + + + Japan + + + + + Kwajalein + + + + + Libya + + + + + MET + + + + + MST + + + + + MST7MDT + + + + + Navajo + + + + + NZ + + + + + NZ-CHAT + + + + + Poland + + + + + Portugal + + + + + PRC + + + + + PST8PDT + + + + + ROC + + + + + ROK + + + + + Singapore + + + + + Turkey + + + + + UCT + + + + + Universal + + + + + UTC + + + + + W-SU + + + + + WET + + + + + Zulu + + + + + USA + + + + + Europe + + + + + Australia + + + + + China + + + + + Korea + + + + + Taiwan + + + + + Time Zone: + + + + + Note: this can be overridden when region setting is auto-select + Noot: dit kan worden overschreven wanneer de regio instelling op automatisch selecteren staat. + + + + Japanese (日本語) + Japans (日本語) + + + + English + Engels (English) + + + + French (français) + Frans (Français) + + + + German (Deutsch) + Duits (Deutsch) + + + + Italian (italiano) + Italiaans (italiano) + + + + Spanish (español) + Spaans (Español) + + + + Chinese + Chinees (正體中文 / 简体中文) + + + + Korean (한국어) + Koreaans (한국어) + + + + Dutch (Nederlands) + Nederlands (Nederlands) + + + + Portuguese (português) + Portugees (português) + + + + Russian (Русский) + Russisch (Русский) + + + + Taiwanese + Taiwanese + + + + British English + Brits Engels + + + + Canadian French + Canadees Frans + + + + Latin American Spanish + Latijns Amerikaans Spaans + + + + Simplified Chinese + Vereenvoudigd Chinees + + + + Traditional Chinese (正體中文) + Traditioneel Chinees (正體中文) + + + + Custom RTC + Handmatige RTC + + + + Language + Taal + + + + RNG Seed + RNG Seed + + + + Mono + Mono + + + + Stereo + Stereo + + + + Surround + Surround + + + + Console ID: + Console ID: + + + + Sound output mode + Geluid uitvoer mode + + + + d MMM yyyy h:mm:ss AP + d MMM jjjj u:mm:ss AP + + + + Regenerate + Herstel + + + + System settings are available only when game is not running. + Systeeminstellingen zijn enkel toegankelijk wanneer er geen game draait. + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + Dit vervangt je huidige virtuele Switch met een nieuwe. Je huidige virtuele Switch kan dan niet meer worden hersteld. Dit kan onverwachte effecten hebben in spellen. Dit werkt niet als je een oude config savegame gebruikt. Doorgaan? + + + + Warning + Waarschuwing + + + + Console ID: 0x%1 + Console ID: 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + + + + + Mapping: + + + + + New + + + + + Delete + + + + + Rename + + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + + + + + Delete Point + + + + + Button + + + + + X + X axis + + + + + Y + Y axis + + + + + New Profile + + + + + Enter the name for the new profile. + + + + + Delete Profile + + + + + Delete profile %1? + + + + + Rename Profile + + + + + New name: + + + + + [press key] + + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + Configureer Touchscreen + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + Waarschuwing: Instellingen in deze pagina hebben invloed op de interne werking van yuzu's geemuleerde touchscreen. Veranderingen kunnen ongewenste resultaten hebben, zoals ervoor zorgen dat het touchscreen half of niet werkt. Gebruik deze pagina enkel als je weet wat je doet. + + + + Touch Parameters + Touch Parameters + + + + Touch Diameter Y + Touch Diameter Y + + + + Finger + Vinger + + + + Touch Diameter X + Touch Diameter X + + + + Rotational Angle + Rotatiehoek + + + + Restore Defaults + Herstel Standaardwaardes + + + + ConfigureUi + + + Form + Vorm + + + + General + Algemeen + + + + Note: Changing language will apply your configuration. + Notitie: De taal veranderen past uw configuratie toe. + + + + Interface language: + Interface taal: + + + + Theme: + Thema: + + + + Game List + Game Lijst + + + + Show Add-Ons Column + Toon Add-Ons Kolom + + + + Icon Size: + Icoon Grootte: + + + + Row 1 Text: + Rij 1 Text: + + + + Row 2 Text: + Rij 2 Text: + + + + Screenshots + + + + + Ask Where To Save Screenshots (Windows Only) + + + + + Screenshots Path: + + + + + ... + + + + + Select Screenshots Path... + + + + + <System> + <System> + + + + English + Engels + + + + ConfigureWeb + + + Form + Vorm + + + + yuzu Web Service + yuzu Web Service + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + Door je gebruikersnaam en token te geven, ga je akkoord dat yuzu extra gebruiksdata verzameld, waaronder mogelijk gebruikersidentificatie-informatie. + + + + + Verify + Verifieer + + + + Sign up + Registreer + + + + Token: + Token: + + + + Username: + Gebruikersnaam: + + + + What is my token? + Wat is mijn token? + + + + Telemetry + Telemetrie + + + + Share anonymous usage data with the yuzu team + Deel anonieme gebruiksdata met het yuzu team + + + + Learn more + Leer meer + + + + Telemetry ID: + Telemetrie ID: + + + + Regenerate + Regenereer + + + + Discord Presence + Discord Presence + + + + Show Current Game in your Discord Status + Toon huidige game in je Discord status + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Leer meer</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Registreer</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">Wat is mijn token?</span></a> + + + + + Telemetry ID: 0x%1 + Telemetrie ID: 0x%1 + + + + + Unspecified + Niet gespecificeerd + + + + Token not verified + Token niet geverifieerd + + + + Token was not verified. The change to your token has not been saved. + Token is niet geverifieerd. De verandering aan uw token zijn niet opgeslagen. + + + + Verifying... + Verifiëren... + + + + Verification failed + Verificatie mislukt + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + Verificatie mislukt. Check dat uw token correct is en dat uw internet werkt. + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Annonieme gegevens worden verzameld</a> om yuzu te helpen verbeteren. <br/><br/> Zou je jouw gebruiksgegevens met ons willen delen? + + + + Telemetry + Telemetrie + + + + Text Check Failed + Tekst Check Is Gefaald + + + + Loading Web Applet... + Web Applet Laden... + + + + Exit Web Applet + Web Applet Afsluit + + + + Exit + Afsluiten + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + Om de webtoepassing af te sluiten, gebruik de bedieningselementen van het spel om afsluiten te selecteren, selecteer de optie 'Web Applet Afsluiten' in de menubalk of druk op de 'Enter' toets. + + + + Web Applet + Web Applet + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + Deze versie van yuzu is gebouwd zonder ondersteuning van QtWebEngine, wat betekent dat yuzu de gevraagde spelhandleiding of webpagina niet correct kan weergeven. + + + + The amount of shaders currently being built + + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + Huidige emulatie snelheid. Waardes hoger of lager dan 100% betekent dat de emulatie sneller of langzamer loopt dan de Switch. + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + Hoeveel frames per seconde de game op dit moment weergeeft. Dit zal veranderen van game naar game en van scène naar scène. + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + Tijd gebruikt om een frame van de Switch te emuleren, waarbij framelimiteren of v-sync niet wordt meegerekend. Voor emulatie op volledige snelheid zou dit maximaal 16.67 ms zijn. + + + + DOCK + + + + + ASYNC + + + + + MULTICORE + + + + + VULKAN + + + + + OPENGL + + + + + Clear Recent Files + Recente Bestanden Verwijderen + + + + Warning Outdated Game Format + Waarschuwing Verouderd Spel Formaat + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + Je gebruikt gedeconstrueerd ROM map formaat voor dit Spel, dit is een verouderd formaat en is vervangen door formaten zoals NCA, NAX, XCI of NSP. Gedeconstrueerd ROM map heeft geen iconen, metadata en update understeuning.<br><br>Voor een uitleg over welke Switch formaten yuzu ondersteund, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>kijk op onze wiki</a>. Dit bericht word niet nog een keer weergegeven. + + + + + Error while loading ROM! + Fout tijdens het laden van een ROM! + + + + The ROM format is not supported. + Het formaat van de ROM is niet ondersteunt. + + + + An error occurred initializing the video core. + Er is een fout opgetreden tijdens het initialiseren van de videokern. + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + yuzu is een fout tegengekomen tijdens het uitvoeren van de video kern, kijk alstublieft naar de log for meer details. Voor meer informatie op het vinden van de log, kijk alstublieft naar de volgende pagina : <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>hoe upload je een log bestand</a>. Bevestig dat je dat laaste grafische driver hebt voor je GPU. + + + + Error while loading ROM! + + + + + An unknown error occurred. Please see the log for more details. + Een onbekende fout heeft plaatsgevonden. Kijk in de log voor meer details. + + + + Start + Start + + + + Save Data + Save Data + + + + Mod Data + Mod Data + + + + Error Opening %1 Folder + Fout tijdens het openen van %1 folder + + + + + Folder does not exist! + Folder bestaat niet! + + + + Error Opening Transferable Shader Cache + Fout Bij Het Openen Van Overdraagbare Shader Cache + + + + + A shader cache for this title does not exist. + Er bestaat geen shader cache voor deze game + + + + Contents + + + + + Update + + + + + DLC + + + + + Remove Entry + + + + + Remove Installed Game %1? + + + + + + + + + Successfully Removed + + + + + Successfully removed the installed base game. + + + + + + + Error Removing %1 + + + + + The base game is not installed in the NAND and cannot be removed. + + + + + Successfully removed the installed update. + + + + + There is no update installed for this title. + + + + + There are no DLC installed for this title. + + + + + Successfully removed %1 installed DLC. + + + + + Delete Transferable Shader Cache? + + + + + Remove Custom Game Configuration? + + + + + Remove File + + + + + + Error Removing Transferable Shader Cache + + + + + Successfully removed the transferable shader cache. + + + + + Failed to remove the transferable shader cache. + + + + + + Error Removing Custom Configuration + + + + + A custom configuration for this title does not exist. + + + + + Successfully removed the custom game configuration. + + + + + Failed to remove the custom game configuration. + + + + + RomFS Extraction Failed! + RomFS Extractie Mislukt! + + + + There was an error copying the RomFS files or the user cancelled the operation. + Er was een fout tijdens het kopiëren van de RomFS bestanden of de gebruiker heeft de operatie geannuleerd. + + + + Full + Vol + + + + Skeleton + Skelet + + + + Select RomFS Dump Mode + Selecteer RomFS Dump Mode + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + Selecteer alstublieft hoe je de RomFS wilt dumpen.<br>Volledig kopieërd alle bestanden in een map terwijl <br> skelet maakt alleen het map structuur. + + + + Extracting RomFS... + RomFS uitpakken... + + + + + Cancel + Annuleren + + + + RomFS Extraction Succeeded! + RomFS Extractie Geslaagd! + + + + The operation completed successfully. + De operatie is succesvol voltooid. + + + + Error Opening %1 + Fout bij openen %1 + + + + Select Directory + Selecteer Map + + + + Properties + Eigenschappen + + + + The game properties could not be loaded. + De eigenschappen van de game kunnen niet geladen worden. + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Switch Executable (%1);;Alle bestanden (*.*) + + + + Load File + Laad Bestand + + + + Open Extracted ROM Directory + Open Gedecomprimeerd ROM Map + + + + Invalid Directory Selected + Ongeldige Map Geselecteerd + + + + The directory you have selected does not contain a 'main' file. + De map die je hebt geselecteerd bevat geen 'main' bestand. + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + + + + + Install Files + + + + + Installing file "%1"... + Bestand "%1" Installeren... + + + + Install Results + + + + + System Application + Systeem Applicatie + + + + System Archive + Systeem Archief + + + + System Application Update + Systeem Applicatie Update + + + + Firmware Package (Type A) + Filmware Pakket (Type A) + + + + Firmware Package (Type B) + Filmware Pakket (Type B) + + + + Game + Game + + + + Game Update + Game Update + + + + Game DLC + Game DLC + + + + Delta Title + Delta Titel + + + + Select NCA Install Type... + Selecteer NCA Installatie Type... + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + Selecteer het type titel hoe je wilt dat deze NCA installeerd: +(In de meeste gevallen is de standaard 'Game' juist.) + + + + Failed to Install + Installatie Mislukt + + + + The title type you selected for the NCA is invalid. + Het type title dat je hebt geselecteerd voor de NCA is ongeldig. + + + + File not found + Bestand niet gevonden + + + + File "%1" not found + Bestand "%1" niet gevonden + + + + + Continue + Doorgaan + + + + Error Display + Fout Weergave + + + + Missing yuzu Account + Je yuzu account mist + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + Om game campatibiliteit te raporteren, moet je je yuzu account koppelen.<br><br/> Om je yuzu account te koppelen, ga naar Emulatie &gt; Configuratie &gt; Web. + + + + Error opening URL + + + + + Unable to open the URL "%1". + + + + + Amiibo File (%1);; All Files (*.*) + Amiibo Bestand (%1);; Alle Bestanden (*.*) + + + + Load Amiibo + Laad Amiibo + + + + Error opening Amiibo data file + Fout tijdens het openen van het Amiibo gegevens bestand + + + + Unable to open Amiibo file "%1" for reading. + Kan Amiibo bestand "%1" niet lezen. + + + + Error reading Amiibo data file + Fout tijdens het lezen van het Amiibo gegevens bestand + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + Kan de volledige Amiibo gegevens niet lezen. Verwacht om %1 bytes te lezen, maar het is alleen mogelijk om %2 bytes te lezen. + + + + Error loading Amiibo data + Fout tijdens het laden van de Amiibo data + + + + Unable to load Amiibo data. + Kan de Amiibo gegevens niet laden. + + + + Capture Screenshot + Screenshot Vastleggen + + + + PNG Image (*.png) + PNG afbeelding (*.png) + + + + Speed: %1% / %2% + Snelheid: %1% / %2% + + + + Speed: %1% + Snelheid: %1% + + + + Game: %1 FPS + Game: %1 FPS + + + + Frame: %1 ms + Frame: %1 ms + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + De game die je probeert te laden heeft extra bestanden nodig van je Switch voordat je het kan spelen. <br/><br/>Voor meer informatie over het dumpen van deze bestanden, volg alsjeblieft onze wiki pagina: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Het dumpen van Systeem Archieven en de Gedeelde Lettertypen van een Switch console </a>. <br/><br/>Wil je terug gaan naar de game lijst? Verdergaan met de emulatie zal misschien gevolgen hebben als vastlopen, beschadigde opslag data, of andere problemen. + + + + yuzu was unable to locate a Switch system archive. %1 + yuzu was niet in staat om de Switch systeem archieven te vinden. %1 + + + + yuzu was unable to locate a Switch system archive: %1. %2 + yuzu was niet in staat om de Switch systeem archieven te vinden. %1. %2 + + + + System Archive Not Found + Systeem Archief Niet Gevonden + + + + System Archive Missing + Systeem Archief Mist + + + + yuzu was unable to locate the Switch shared fonts. %1 + yuzu was niet in staat om de Switch shared fonts te vinden. %1 + + + + Shared Fonts Not Found + Shared Fonts Niet Gevonden + + + + Shared Font Missing + Gedeelde Lettertypes Niet Gevonden + + + + Fatal Error + Fatale Fout + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + yuzu is een fatale fout tegengekomen, zie de log voor meer details. Voor meer informatie over toegang krijgen tot de log, zie de volgende pagina: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Hoe upload je een log bestand</a>.<br/><br/>Zou je terug willen naar de game lijst? Doorgaan met emulatie kan resulteren in vastlapen, corrupte save gegevens, of andere problemen. + + + + Fatal Error encountered + Fatale Fout opgetreden + + + + Confirm Key Rederivation + Bevestig Sleutel Herafleiding + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + Je bent op het punt al je sleutels geforceerd opnieuw te verkrijgen. +Als je niet weet wat dit doet of wat je aan het doen bent, +dit is potentieel een vernietigende actie. +Zorg ervoor dat je zeker weet dat dit is wat je wilt doen +en optioneel maak backups. + +Dit zal je automatisch gegenereerde sleutel bestanden verwijderen en de sleutel verkrijger module opnieuw starten + + + + Missing fuses + + + + + - Missing BOOT0 + + + + + - Missing BCPKG2-1-Normal-Main + + + + + - Missing PRODINFO + + + + + Derivation Components Missing + + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + Dit zal misschien een paar minuten duren gebaseerd +op je systeem's performatie. + + + + Deriving Keys + Sleutels afleiden + + + + Select RomFS Dump Target + Selecteer RomFS Dump Doel + + + + Please select which RomFS you would like to dump. + Selecteer welke RomFS je zou willen dumpen. + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + Weet je zeker dat je yuzu wilt sluiten? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + Weet je zeker dat je de emulatie wilt stoppen? Alle onopgeslagen voortgang will verloren gaan. + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + De momenteel actieve toepassing heeft yuzu gevraagd om niet af te sluiten. + +Wilt u dit omzeilen en toch afsluiten? + + + + GRenderWindow + + + OpenGL not available! + + + + + yuzu has not been compiled with OpenGL support. + + + + + Vulkan not available! + + + + + yuzu has not been compiled with Vulkan support. + + + + + Error while initializing OpenGL 4.3! + + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + + + + + Error while initializing OpenGL! + + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + + + + + GameList + + + + Name + Naam + + + + + Compatibility + Compatibiliteit + + + + + Add-ons + Toevoegingen + + + + + + + File type + Bestands type + + + + + + + Size + Grootte + + + + Open Save Data Location + Open Locatie Van Save Gegevens + + + + Open Mod Data Location + Open Mod Data Locatie + + + + Open Transferable Shader Cache + Open Overdraagbare Shader Cache + + + + Remove + + + + + Remove Installed Update + + + + + Remove All Installed DLC + + + + + Remove Shader Cache + + + + + Remove Custom Configuration + + + + + Remove All Installed Contents + + + + + Dump RomFS + Dump RomFS + + + + Copy Title ID to Clipboard + Kopieer Titel ID naar Klembord + + + + Navigate to GameDB entry + Navigeer naar GameDB inzending + + + + Properties + Eigenschappen + + + + Scan Subfolders + Scan Subfolders + + + + Remove Game Directory + Verwijder Game Directory + + + + ▲ Move Up + + + + + ▼ Move Down + + + + + Open Directory Location + Open Directory Locatie + + + + GameListItemCompat + + + Perfect + Perfect + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + Game functioneerd foutloos, zonder auditieve of grafische glitches. Alle geteste functionaliteit werkt zoals bedoeld zonder dat er tijdelijke oplossingen nodig zijn. + + + + Great + Goed + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + Game werkt met kleine grafische of auditieve glitches en is speelbaar van start tot eind. Kan enkele workarounds nodig hebben. + + + + Okay + Okay + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + Game werkt met grove grafische of auditieve glitches, maar is speelbaar van start tot eind met workarounds + + + + Bad + Slecht + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + Game werkt, maar met grove grafische of auditieve glitches. Specifieke gebieden kunnen niet worden uitgespeeld vanwege glitches, zelfs met workarounds. + + + + Intro/Menu + Intro/Menu + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + Game is compleet onspeelbaar dankzij grove grafische of auditieve glitches. Onmogelijk voorbij het startscherm te gaan. + + + + Won't Boot + Start Niet + + + + The game crashes when attempting to startup. + De Game crasht wanneer hij probeert op te starten. + + + + Not Tested + Niet Getest + + + + The game has not yet been tested. + Deze Game is nog niet getest. + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + Dubbel-klik om een ​​nieuwe map toe te voegen aan de lijst met games + + + + GameListSearchField + + + Filter: + Filter: + + + + Enter pattern to filter + Voer patroon in om te filteren: + + + + InstallDialog + + + Please confirm these are the files you wish to install. + + + + + Installing an Update or DLC will overwrite the previously installed one. + + + + + Install + + + + + Install Files to NAND + + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + Shaders Laden 387 / 1628 + + + + Loading Shaders %v out of %m + %v Shaders Laden van de %m + + + + Estimated Time 5m 4s + Geschatte Tijd 5m 4s + + + + Loading... + Laden... + + + + Loading Shaders %1 / %2 + Shaders Laden %1 / %2 + + + + Launching... + Starten... + + + + Estimated Time %1 + Geschatte Tijd %1 + + + + MainWindow + + + yuzu + yuzu + + + + &File + &Bestand + + + + Recent Files + Recente Bestanden + + + + &Emulation + &Emulatie + + + + &View + &Weergeven + + + + Debugging + Debugging + + + + Tools + Hulpmiddelen + + + + &Help + &Help + + + + Install Files to NAND... + + + + + Load File... + Laad Bestand... + + + + Load Folder... + Laad Folder... + + + + E&xit + A&fsluiten + + + + &Start + &Start + + + + &Pause + &Pauzeren + + + + &Stop + &Stop + + + + Reinitialize keys... + Sleutels opnieuw initialiseren... + + + + About yuzu + Over yuzu + + + + Single Window Mode + Enkel Venster Modus + + + + Configure... + Configureren... + + + + Display Dock Widget Headers + Dock Widget Rubriek Weergeven + + + + Show Filter Bar + Laat filter balk zien + + + + Show Status Bar + Laat status balk zien + + + + Reset Window Size + + + + + Fullscreen + Volledig Scherm + + + + Restart + Herstart + + + + Load Amiibo... + Laad Amiibo... + + + + Report Compatibility + Raporteer Compatibiliteit + + + + Open Mods Page + + + + + Open Quickstart Guide + + + + + FAQ + + + + + Open yuzu Folder + Open yuzu Folder + + + + Capture Screenshot + Screenshot Vastleggen + + + + Configure Current Game.. + + + + + MicroProfileDialog + + + MicroProfile + MicroProfiel + + + + QObject + + + Installed SD Titles + Geïnstalleerde SD Titels + + + + Installed NAND Titles + Geïnstalleerde NAND Titels + + + + System Titles + Systeem Titels + + + + Add New Game Directory + Voeg Nieuwe Game Map Toe + + + + + + Shift + Shift + + + + + + Ctrl + Ctrl + + + + + + Alt + Alt + + + + + + + [not set] + [niet aangegeven] + + + + + + Hat %1 %2 + Hat %1 %2 + + + + + + Axis %1%2 + Axis %1%2 + + + + + + Button %1 + Knop %1 + + + + + + + [unknown] + [onbekend] + + + + + Click 0 + + + + + + Click 1 + + + + + + Click 2 + + + + + + Click 3 + + + + + + Click 4 + + + + + GC Axis %1%2 + + + + + GC Button %1 + + + + + + [unused] + [ongebruikt] + + + + + Axis %1 + Axis %1 + + + + + GC Axis %1 + + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + Er is een fout opgetreden. +Probeer het opnieuw of neem contact op met de ontwikkelaar van de software. + +Fout Code: %1-%2 (0x%3) + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + Er is een fout opgetreden bij %1 en %2. +Probeer het opnieuw of neem contact op met de ontwikkelaar van de software. + +Fout Code: %3-%4 (0x%5) + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + Er is een fout opgetreden. +Fout Code: %1-%2 (0x%3) + +%4 + +%5 + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + Selecteer een gebruiker: + + + + Users + Gebruikers + + + + Profile Selector + Profiel keuzeschakelaar + + + + QtSoftwareKeyboardDialog + + + Enter text: + Voer tekst in: + + + + Software Keyboard + Software Toetsenbord + + + + SequenceDialog + + + Enter a hotkey + Voer een hotkey in + + + + WaitTreeCallstack + + + Call stack + Call stack + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + wachten op mutex 0x%1 + + + + has waiters: %1 + heeft wachtende: %1 + + + + owner handle: 0x%1 + eigenaar handvat: 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + wachten op alle objecten + + + + waiting for one of the following objects + wachten op een van de volgende objecten + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + + + + + waited by no thread + + + + + WaitTreeThread + + + + running + Bezig met uitvoeren + + + + ready + klaar + + + + + paused + gepauzeerd + + + + waiting for HLE return + wachten op HLE terugkeer + + + + sleeping + slapen + + + + waiting for IPC reply + wachten op IPC antwoord + + + + waiting for objects + wachten op objecten + + + + waiting for mutex + wachten op mutex + + + + waiting for condition variable + wachten op conditie variabele + + + + waiting for address arbiter + wachten op adres arbiter + + + + dormant + slapend + + + + dead + dood + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + ideaal + + + + core %1 + kern %1 + + + + Unknown processor %1 + Onbekende processor %1 + + + + processor = %1 + processor = %1 + + + + ideal core = %1 + ideale kern = %1 + + + + affinity mask = %1 + affiniteit masker = %1 + + + + thread id = %1 + draad id = %1 + + + + priority = %1(current) / %2(normal) + prioriteit = %1(huidige) / %2(normaal) + + + + last running ticks = %1 + laatste lopende ticks = %1 + + + + not waiting for mutex + Niet wachtend op mutex + + + + WaitTreeThreadList + + + waited by thread + Wachtend door draad + + + + WaitTreeWidget + + + Wait Tree + Wacht Boom + + + \ No newline at end of file diff --git a/dist/languages/pl.ts b/dist/languages/pl.ts new file mode 100644 index 000000000..4cd9b6fca --- /dev/null +++ b/dist/languages/pl.ts @@ -0,0 +1,4713 @@ + + + AboutDialog + + + About yuzu + O yuzu + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu jest eksperymentalnym emulatorem o otwartym kodzie źródłowym dla Nintendo Switch w ramach licencji GLPv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">To oprogramowanie nie powinno być używane do gier, których nie nabyłeś legalnie.</span></p></body></html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Strona</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Kod źródłowy</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Współautorzy</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Licencja</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; jest znakiem towarowym Nintendo. yuzu nie jest stowarzyszony w żaden sposób z Nintendo.</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + + + + + Cancel + Anuluj + + + + Touch the top left corner <br>of your touchpad. + + + + + Now touch the bottom right corner <br>of your touchpad. + + + + + Configuration completed! + Konfiguracja zakończona! + + + + OK + OK + + + + CompatDB + + + Report Compatibility + Zgłoś kompatybilność + + + + + Report Game Compatibility + Zgłoś kompatybilność gry + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">Jeśli postanowisz wysłać wyniki testu na </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">listę kompatybilności yuzu</span></a><span style=" font-size:10pt;">, następujące informacja zostaną zebrane i wyświetlone na stronie:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informacja o sprzęcie komputerowym (procesor / karta graficzna / system operacyjny)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Wersja yuzu, której używasz</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Połączone konto yuzu</li></ul></body></html> + + + + Perfect + Idealna + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>Gra działa bez zarzutu, bez błędów graficznych lub dźwiękowych.</p></body></html> + + + + Great + Świetna + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>Gra działa z pomniejszymi błędami dźwiękowymi lub graficznymi, jest grywalna od początku do końca. Może wymagać kilku obejść/poprawek.</p></body></html> + + + + Okay + W porządku + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>Gra działa z większymi błędami dźwiękowymi lub graficznymi, ale jest grywalna od początku do końca. Może wymagać kilku obejść/poprawek.</p></body></html> + + + + Bad + Zła + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>Gra działa z większymi błędami dźwiękowymi lub graficznymi. Niemożliwe jest przejście konkretnych miejsc nawet z obejściami.</p></body></html> + + + + Intro/Menu + Intro/Menu + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>Gra w żadnym stopniu nie jest grywalna ze względu na poważne błędy graficzne lub dźwiękowe. Niemożliwe jest przejście ekranu początkowego.</p></body></html> + + + + Won't Boot + Nie uruchomia się + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>Gra zawiesza się podczas próby uruchomienia się.</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <html><head/><body><p>Pomijając prędkość lub wydajność, jak dobrze ta gra zachowuje się w tej wersji yuzu?</p></body></html> + + + + Thank you for your submission! + Dziękujemy za Twoją opinię! + + + + Submitting + Wysyłanie + + + + Communication error + Błąd komunikacyjny + + + + An error occured while sending the Testcase + Wystąpił błąd podczas wysyłania wyników testu + + + + Next + Następny + + + + ConfigureAudio + + + Audio + Dźwięk + + + + Output Engine: + Silnik wyjścia + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + Ten efekt post-przetwarzania dostosowuje prędkość dźwięku tak, aby zgadzała się z dźwiękiem emulowanym pomagając przy tym zapobiec zacinaniu się dźwięku. Zwiększa jednak opóźnienie dźwięku. + + + + Enable audio stretching + Włącz rozciąganie dźwięku + + + + Audio Device: + Urządzenie dźwiękowe + + + + Use global volume + + + + + Set volume: + Ustaw głośność: + + + + Volume: + Głośność + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + + + + + General + Ogólne + + + + Accuracy: + + + + + Accurate + + + + + Unsafe + Niebezpieczne + + + + Enable Debug Mode + Włącz Debug Mode + + + + We recommend setting accuracy to "Accurate". + + + + + Unsafe CPU Optimization Settings + + + + + These settings reduce accuracy for speed. + + + + + Unfuse FMA (improve performance on CPUs without FMA) + + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + + + + + Faster FRSQRTE and FRECPE + + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + + + + + CPU settings are available only when game is not running. + Ustawienia CPU są dostępny gdy gra nie jest uruchomiona + + + + Setting CPU to Debug Mode + + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + + + + + ConfigureCpuDebug + + + Form + + + + + Toggle CPU Optimizations + + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + + + + + Enable inline page tables + + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + + + + Enable block linking + + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + + + + Enable return stack buffer + + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + + + + Enable fast dispatcher + + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + + + + Enable context elimination + + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + + + + Enable constant propagation + + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + + + + Enable miscellaneous optimizations + + + + + + <div>Enables miscellaneous IR optimizations.</div> + + + + + + Enable misalignment check reduction + + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + + + + CPU settings are available only when game is not running. + + + + + ConfigureDebug + + + Form + Forma + + + + GDB + GDB + + + + Enable GDB Stub + Włącz namiastkę GDB + + + + Port: + Port + + + + Logging + Logowanie + + + + Global Log Filter + Globalny filtr rejestrów + + + + Show Log Console (Windows Only) + Pokaż okno rejestrów (tylko Windows) + + + + Open Log Location + Otwórz miejsce rejestrów + + + + Homebrew + Homebrew + + + + Arguments String + Linijka argumentu + + + + Graphics + + + + + When checked, the graphics API enters in a slower debugging mode + + + + + Enable Graphics Debugging + + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + + + + + Disable Macro JIT + + + + + Dump + + + + + Enable Verbose Reporting Services + + + + + This will be reset automatically when yuzu closes. + + + + + Advanced + Zaawansowane + + + + Kiosk (Quest) Mode + + + + + ConfigureDebugController + + + Configure Debug Controller + + + + + Clear + Wyczyść + + + + Defaults + Domyślne + + + + ConfigureDialog + + + yuzu Configuration + Ustawienia yuzu + + + + + + + General + Ogólne + + + + + UI + UI + + + + Game List + Lista Gier + + + + + + + System + System + + + + + + Profiles + Profile + + + + + + Filesystem + System plików + + + + + + + Controls + Sterowanie + + + + + + Hotkeys + Skróty klawiszowe + + + + + + + CPU + CPU + + + + + + + + + Debug + Wyszukiwanie usterek + + + + + + + Graphics + Grafika + + + + + Advanced + Zaawansowane + + + + GraphicsAdvanced + + + + + + + + Audio + Dźwięk + + + + + + Web + Web + + + + + + Services + Usługi + + + + ConfigureFilesystem + + + Form + + + + + Storage Directories + + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + Karta SD + + + + Gamecard + Gamecard + + + + Path + Ścieżka + + + + Inserted + + + + + Current Game + Obecna Gra + + + + Patch Manager + + + + + Dump Decompressed NSOs + + + + + Dump ExeFS + + + + + Mod Load Root + + + + + Dump Root + + + + + Caching + + + + + Cache Directory + + + + + Cache Game List Metadata + + + + + + + + Reset Metadata Cache + + + + + Select Emulated NAND Directory... + + + + + Select Emulated SD Directory... + + + + + Select Gamecard Path... + + + + + Select Dump Directory... + + + + + Select Mod Load Directory... + + + + + Select Cache Directory... + + + + + The metadata cache is already empty. + + + + + The operation completed successfully. + + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + + + + + ConfigureGeneral + + + Form + Forma + + + + General + Ogólne + + + + Limit Speed Percent + + + + + % + % + + + + Multicore CPU Emulation + Emulacja CPU Wielordzeniowa + + + + Confirm exit while emulation is running + Potwierdź wyjście podczas emulacji + + + + Prompt for user on game boot + + + + + Pause emulation when in background + + + + + Hide mouse on inactivity + + + + + ConfigureGraphics + + + Form + Forma + + + + API Settings + Ustawienia API + + + + API: + API: + + + + Device: + Urządzenie: + + + + Graphics Settings + Ustawienia Graficzne + + + + Use disk shader cache + + + + + Use asynchronous GPU emulation + + + + + Aspect Ratio: + Format obrazu: + + + + Default (16:9) + Domyślne (16:9) + + + + Force 4:3 + Wymuś 4:3 + + + + Force 21:9 + Wymuś 21:9 + + + + Stretch to Window + Rozciągnij do Okna + + + + + Use global background color + + + + + Set background color: + Ustaw kolor tła: + + + + Background Color: + Kolor tła + + + + OpenGL Graphics Device + Urządzenie graficzne OpenGL + + + + ConfigureGraphicsAdvanced + + + Form + + + + + Advanced Graphics Settings + + + + + Accuracy Level: + + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + + + + + Use VSync (OpenGL only) + + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + + + + + Use asynchronous shader building (experimental) + + + + + Use Fast GPU Time + + + + + Anisotropic Filtering: + + + + + Default + Domyślne + + + + 2x + 2x + + + + 4x + 4x + + + + 8x + 8x + + + + 16x + 16x + + + + ConfigureHotkeys + + + Hotkey Settings + Ustawienia Skrótów Klawiszowych + + + + Double-click on a binding to change it. + + + + + Clear All + Wyczyść wszystko + + + + Restore Defaults + Przywróć domyślne + + + + Action + Akcja + + + + Hotkey + Skrót klawiszowy + + + + Context + Kontekst + + + + + Conflicting Key Sequence + + + + + The entered key sequence is already assigned to: %1 + + + + + Restore Default + Przywróć ustawienia domyślne + + + + Clear + Wyczyść + + + + The default key sequence is already assigned to: %1 + + + + + ConfigureInput + + + ConfigureInput + + + + + + Player 1 + Gracz 1 + + + + + Player 2 + Gracz 2 + + + + + Player 3 + Gracz 3 + + + + + Player 4 + Gracz 4 + + + + + Player 5 + Gracz 5 + + + + + Player 6 + Gracz 6 + + + + + Player 7 + Gracz 7 + + + + + Player 8 + Gracz 8 + + + + + Advanced + Zaawansowane + + + + Console Mode + Tryb Konsoli + + + + Docked + Zadokowany + + + + Undocked + Niezadokowany + + + + Vibration + Wibracje + + + + % + % + + + + Motion + Ruch + + + + Configure + Ustaw + + + + Controllers + Kontrolery + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + 6 + 6 + + + + 7 + 7 + + + + 8 + 8 + + + + Connected + Połączone + + + + Defaults + Domyślne + + + + Clear + Wyczyść + + + + ConfigureInputAdvanced + + + Configure Input + Ustawienie wejścia + + + + Joycon Colors + Kolory Joyconów + + + + Player 1 + Gracz 1 + + + + + + + + + + + L Body + + + + + + + + + + + + L Button + + + + + + + + + + + + R Body + + + + + + + + + + + + R Button + + + + + Player 2 + Gracz 2 + + + + Player 3 + Gracz 3 + + + + Player 4 + Gracz 4 + + + + Player 5 + Gracz 5 + + + + Player 6 + Gracz 6 + + + + Player 7 + Gracz 7 + + + + Player 8 + Gracz 8 + + + + Other + Inne + + + + Keyboard + Klawiatura + + + + + Advanced + Zaawansowane + + + + Touchscreen + Ekran dotykowy + + + + Mouse + Mysz + + + + Motion / Touch + Ruch / Dotyk + + + + + Configure + Konfiguruj + + + + Debug Controller + Debuguj kontroler + + + + ConfigureInputPlayer + + + Configure Input + Ustawienie wejścia + + + + Connect Controller + Połacz Kontroler + + + + + + Pro Controller + Pro Controller + + + + + Dual Joycons + Para Joyconów + + + + + Left Joycon + Lewy Joycon + + + + + Right Joycon + Prawy Joycon + + + + + Handheld + Handheld + + + + Input Device + Urządzenie Wejściowe + + + + Any + + + + + Keyboard/Mouse + Klawiatura/Mysz + + + + Profile + Profil + + + + Save + Zapisz + + + + New + Nowy + + + + Delete + Usuń + + + + Left Stick + Lewa gałka + + + + + + + + + Up + Góra + + + + + + + + + Left + Lewo + + + + + + + + + Right + Prawo + + + + + + + + + Down + Dół + + + + + + + Pressed + Naciśnięty + + + + + + + Modifier + Modyfikator + + + + + Range + Zasięg + + + + + % + % + + + + + Deadzone: 0% + Martwa strefa: 0% + + + + + Modifier Range: 0% + Zasięg Modyfikatora: 0% + + + + D-Pad + D-Pad + + + + + L + L + + + + + ZL + ZL + + + + + Minus + Minus + + + + + Capture + Zrzut ekranu + + + + + Plus + Plus + + + + + Home + Home + + + + + R + R + + + + + ZR + ZR + + + + + SL + SL + + + + + SR + SR + + + + Face Buttons + Przednie klawisze + + + + + X + X + + + + + Y + Y + + + + + A + A + + + + + B + B + + + + Right Stick + Prawa gałka + + + + + Deadzone: %1% + Martwa strefa: %1% + + + + + Modifier Range: %1% + Zasięg Modyfikatora: %1% + + + + [waiting] + [oczekiwanie] + + + + ConfigureMotionTouch + + + Configure Motion / Touch + Konfiguruj Ruch / Dotyk + + + + Motion + Ruch + + + + Motion Provider: + + + + + Sensitivity: + Czułość: + + + + Touch + Dotyk + + + + Touch Provider: + + + + + Calibration: + Kalibracja: + + + + (100, 50) - (1800, 850) + (100, 50) - (1800, 850) + + + + + + Configure + Konfiguruj + + + + Use button mapping: + + + + + CemuhookUDP Config + + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + + + + + Server: + Serwer: + + + + Port: + Port: + + + + Pad: + Pad: + + + + Pad 1 + + + + + Pad 2 + + + + + Pad 3 + + + + + Pad 4 + + + + + Learn More + Dowiedz się więcej + + + + + Test + Test + + + + Mouse (Right Click) + Myszka (Prawy Przycisk) + + + + + CemuhookUDP + + + + + Emulator Window + + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + + + + + Testing + Testowanie + + + + Configuring + Konfigurowanie + + + + Test Successful + Test Udany + + + + Successfully received data from the server. + + + + + Test Failed + + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + + + + + Citra + Citra + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + + + + + ConfigureMouseAdvanced + + + Configure Mouse + Ustaw mysz + + + + Mouse Buttons + Przyciski myszy + + + + Forward: + Do przodu + + + + Back: + Do tyłu + + + + Left: + Lewy + + + + Middle: + Środkowy + + + + Right: + Prawy + + + + + Clear + Wyczyść + + + + Defaults + Domyślne + + + + [not set] + [nie ustawione] + + + + Restore Default + Przywróć ustawienie domyślne + + + + [press key] + [naciśnij przycisk] + + + + ConfigurePerGame + + + Dialog + + + + + Info + Informacje + + + + Name + Nazwa + + + + Title ID + Identyfikator gry + + + + Filename + Nazwa pliku + + + + Format + Format + + + + Version + Wersja + + + + Size + Rozmiar + + + + Developer + Deweloper + + + + Add-Ons + Dodatki + + + + General + Ogólne + + + + System + System + + + + Graphics + Grafika + + + + Adv. Graphics + + + + + Audio + Dźwięk + + + + Properties + Właściwości + + + + Use global configuration (%1) + + + + + ConfigurePerGameAddons + + + Form + Forma + + + + Patch Name + + + + + Version + Wersja + + + + ConfigureProfileManager + + + Form + + + + + Profile Manager + Menedżer Profili + + + + Current User + Obecny użytkownik + + + + Username + Nazwa Użytkownika + + + + Set Image + Ustaw zdjęcie + + + + Add + Dodaj + + + + Rename + Zmień nazwę + + + + Remove + Usuń + + + + Profile management is available only when game is not running. + Menedżer Profili nie jest dostępny gdy gra jest uruchomiona. + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Enter Username + Wpisz nazwę użytkownika + + + + Users + Użytkownicy + + + + Enter a username for the new user: + Wprowadź nazwę dla nowego użytkownika: + + + + Enter a new username: + Wpisz nową nazwę użytkownika: + + + + Confirm Delete + Potwierdź usunięcie + + + + You are about to delete user with name "%1". Are you sure? + Zamierzasz usunąć użytkownika "%1". Jesteś pewien? + + + + Select User Image + Ustaw zdjęcie użytkownika + + + + JPEG Images (*.jpg *.jpeg) + Obrazki JPEG (*.jpg *.jpeg) + + + + Error deleting image + Bład usunięcia zdjęcia + + + + Error occurred attempting to overwrite previous image at: %1. + Błąd podczas próby nadpisania poprzedniego zdjęcia dla: %1. + + + + Error deleting file + Błąd usunięcia pliku + + + + Unable to delete existing file: %1. + Nie można usunąć istniejącego pliku: %1 + + + + Error creating user image directory + Błąd podczas tworzenia folderu ze zdjęciem użytkownika + + + + Unable to create directory %1 for storing user images. + Nie można utworzyć ścieżki %1 do przechowywania zdjęć użytkownika. + + + + Error copying user image + Błąd kopiowania zdjęcia użytkownika + + + + Unable to copy image from %1 to %2 + Nie można skopiować zdjęcia z %1 do %2 + + + + ConfigureService + + + Form + Forma + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + + + + + BCAT Backend + + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + + + + + The boxcat service is offline or you are not connected to the internet. + + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + + + + + + There are currently no events on boxcat. + + + + + + Current Boxcat Events + + + + + Yuzu is retrieving the latest boxcat status... + + + + + ConfigureSystem + + + Form + Forma + + + + System Settings + Ustawienia systemu + + + + Region: + Region: + + + + Auto + Automatyczny + + + + Default + Domyślne + + + + CET + CET + + + + CST6CDT + CST6CDT + + + + Cuba + Cuba + + + + EET + EET + + + + Egypt + Egipt + + + + Eire + Irlandia + + + + EST + EST + + + + EST5EDT + EST5EDT + + + + GB + GB + + + + GB-Eire + + + + + GMT + GMT + + + + GMT+0 + GMT+0 + + + + GMT-0 + GMT-0 + + + + GMT0 + GMT0 + + + + Greenwich + Greenwich + + + + Hongkong + Hongkong + + + + HST + HST + + + + Iceland + Islandia + + + + Iran + Iran + + + + Israel + Izrael + + + + Jamaica + Jamajka + + + + + Japan + Japonia + + + + Kwajalein + Kwajalein + + + + Libya + Libia + + + + MET + MET + + + + MST + MST + + + + MST7MDT + MST7MDT + + + + Navajo + Navajo + + + + NZ + NZ + + + + NZ-CHAT + NZ-CHAT + + + + Poland + Polska + + + + Portugal + Portugalia + + + + PRC + PRC + + + + PST8PDT + PST8PDT + + + + ROC + ROC + + + + ROK + ROK + + + + Singapore + + + + + Turkey + + + + + UCT + + + + + Universal + + + + + UTC + + + + + W-SU + + + + + WET + + + + + Zulu + + + + + USA + + + + + Europe + + + + + Australia + + + + + China + + + + + Korea + + + + + Taiwan + + + + + Time Zone: + + + + + Note: this can be overridden when region setting is auto-select + Uwaga: można to zmienić, gdy ustawienie regionu jest wybierane automatycznie + + + + Japanese (日本語) + Japoński (日本語) + + + + English + Angielski (English) + + + + French (français) + Francuski (français) + + + + German (Deutsch) + Niemiecki (Deutsch) + + + + Italian (italiano) + Włoski (italiano) + + + + Spanish (español) + Hiszpański (español) + + + + Chinese + Chiński + + + + Korean (한국어) + Koreański (한국어) + + + + Dutch (Nederlands) + Duński (Holandia) + + + + Portuguese (português) + Portugalski (português) + + + + Russian (Русский) + Rosyjski (Русский) + + + + Taiwanese + Tajwański + + + + British English + Angielski (Brytyjski) + + + + Canadian French + Fancuski (Kanada) + + + + Latin American Spanish + Hiszpański (Latin American) + + + + Simplified Chinese + Chiński (Uproszczony) + + + + Traditional Chinese (正體中文) + Chiński tradycyjny (正體中文) + + + + Custom RTC + + + + + Language + Język + + + + RNG Seed + Ziarno RNG + + + + Mono + Mono + + + + Stereo + Stereo + + + + Surround + Surround + + + + Console ID: + Indentyfikator konsoli: + + + + Sound output mode + Tryb wyjścia dźwięku + + + + d MMM yyyy h:mm:ss AP + + + + + Regenerate + Wygeneruj ponownie + + + + System settings are available only when game is not running. + Ustawienia systemu są dostępne tylko wtedy, gdy gra nie jest uruchomiona. + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + To zamieni twojego obecnego Switch'a z nowym. Twojego obecnego Switch'a nie będzie można przywrócić. To może wywołać nieoczekiwane problemy w grach. To może nie zadziałać, jeśli używasz nieaktualnej konfiguracji zapisu gry. Kontynuować? + + + + Warning + Ostrzeżenie + + + + Console ID: 0x%1 + Identyfikator konsoli: 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + + + + + Mapping: + + + + + New + + + + + Delete + + + + + Rename + + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + + + + + Delete Point + + + + + Button + + + + + X + X axis + + + + + Y + Y axis + + + + + New Profile + + + + + Enter the name for the new profile. + + + + + Delete Profile + + + + + Delete profile %1? + + + + + Rename Profile + + + + + New name: + + + + + [press key] + + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + Skonfiguj ekran dotykowy + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + Ostrzeżenie: Ustawienia na tej stronie mają wpływ na działanie emulowanego ekranu dotykowego Yuzu. ch zmiana może spowodować niepożądane zachowanie, takie jak częściowo lub całkowicie nie działający ekran dotykowy. Powinieneś/naś używać tej strony tylko wtedy, gdy wiesz, co robisz. + + + + Touch Parameters + Parametry dotyku + + + + Touch Diameter Y + Średnica dotyku Y + + + + Finger + Palec + + + + Touch Diameter X + Średnica dotyku X + + + + Rotational Angle + Kąt rotacji + + + + Restore Defaults + Przywróć domyślne + + + + ConfigureUi + + + Form + + + + + General + + + + + Note: Changing language will apply your configuration. + + + + + Interface language: + + + + + Theme: + + + + + Game List + Lista Gier + + + + Show Add-Ons Column + + + + + Icon Size: + + + + + Row 1 Text: + + + + + Row 2 Text: + + + + + Screenshots + + + + + Ask Where To Save Screenshots (Windows Only) + + + + + Screenshots Path: + + + + + ... + + + + + Select Screenshots Path... + + + + + <System> + <System> + + + + English + Angielski + + + + ConfigureWeb + + + Form + Forma + + + + yuzu Web Service + Usługa internetowa yuzu + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + Podając swoją nazwę użytkownika i token, zgadzasz się na umożliwienie yuzu zbierania dodatkowych danych o użytkowaniu, które mogą zawierać informacje umożliwiające identyfikację użytkownika. + + + + + Verify + Zweryfikuj + + + + Sign up + Zaloguj się + + + + Token: + Token: + + + + Username: + Nazwa użytkownika: + + + + What is my token? + Czym jest mój token? + + + + Telemetry + Telemetria + + + + Share anonymous usage data with the yuzu team + Udostępniaj anonimowe dane o użytkowaniu zespołowi yuzu + + + + Learn more + Dowiedz się więcej + + + + Telemetry ID: + Identyfikator telemetrii: + + + + Regenerate + Wygeneruj ponownie + + + + Discord Presence + Obecność na discordzie + + + + Show Current Game in your Discord Status + Pokazuj obecną grę w twoim statusie Discorda + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Dowiedz się więcej</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Zaloguj się</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">Czym jest mój token?</span></a> + + + + + Telemetry ID: 0x%1 + Identyfikator telemetrii: 0x%1 + + + + + Unspecified + + + + + Token not verified + + + + + Token was not verified. The change to your token has not been saved. + + + + + Verifying... + Weryfikowanie... + + + + Verification failed + Weryfikowanie nieudane + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Dane anonimowe są gromadzone</a> aby ulepszyć yuzu. <br/><br/>Czy chcesz udostępnić nam swoje dane o użytkowaniu? + + + + Telemetry + Telemetria + + + + Text Check Failed + Sprawdzanie tekstu nie powiodło się + + + + Loading Web Applet... + + + + + Exit Web Applet + + + + + Exit + + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + + + + + Web Applet + + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + + + + + The amount of shaders currently being built + + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + Aktualna prędkość emulacji. Wartości większe lub niższe niż 100% wskazują, że emulacja działa szybciej lub wolniej niż Switch. + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + Ile klatek na sekundę gra aktualnie wyświetla. To będzie się różnić w zależności od gry, od sceny do sceny. + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + Czas potrzebny do emulacji klatki na sekundę Switcha, nie licząc ograniczania klatek ani v-sync. Dla emulacji pełnej szybkości powinno to wynosić co najwyżej 16,67 ms. + + + + DOCK + + + + + ASYNC + + + + + MULTICORE + + + + + VULKAN + + + + + OPENGL + + + + + Clear Recent Files + Usuń "Ostatnie pliki" + + + + Warning Outdated Game Format + OSTRZEŻENIE! Nieaktualny format gry + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + Używasz zdekonstruowanego formatu katalogu ROM dla tej gry, który jest przestarzałym formatem, który został zastąpiony przez inne, takie jak NCA, NAX, XCI lub NSP. W zdekonstruowanych katalogach ROM brakuje ikon, metadanych i obsługi aktualizacji.<br><br> Aby znaleźć wyjaśnienie różnych formatów Switch obsługiwanych przez yuzu,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'> sprawdź nasze wiki</a>. Ta wiadomość nie pojawi się ponownie. + + + + + Error while loading ROM! + Błąd podczas wczytywania ROMu! + + + + The ROM format is not supported. + Ten format ROMu nie jest wspierany. + + + + An error occurred initializing the video core. + Wystąpił błąd podczas inicjowania rdzenia wideo. + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + yuzu napotkał błąd podczas działania rdzenia wideo, proszę zobaczyć log po więcej szczegółów. Aby uzyskać więcej informacji na temat uzyskiwania dostępu do pliku log, zobacz następującą stronę: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Jak przesłać plik log? </a>Upewnij się, że masz najnowsze sterowniki karty graficznej. + + + + Error while loading ROM! + + + + + An unknown error occurred. Please see the log for more details. + Wystąpił nieznany błąd. Więcej informacji można znaleźć w pliku log. + + + + Start + Start + + + + Save Data + + + + + Mod Data + + + + + Error Opening %1 Folder + Błąd podczas otwarcia folderu %1 + + + + + Folder does not exist! + Folder nie istnieje! + + + + Error Opening Transferable Shader Cache + + + + + + A shader cache for this title does not exist. + + + + + Contents + + + + + Update + + + + + DLC + + + + + Remove Entry + + + + + Remove Installed Game %1? + + + + + + + + + Successfully Removed + + + + + Successfully removed the installed base game. + + + + + + + Error Removing %1 + + + + + The base game is not installed in the NAND and cannot be removed. + + + + + Successfully removed the installed update. + + + + + There is no update installed for this title. + + + + + There are no DLC installed for this title. + + + + + Successfully removed %1 installed DLC. + + + + + Delete Transferable Shader Cache? + + + + + Remove Custom Game Configuration? + + + + + Remove File + + + + + + Error Removing Transferable Shader Cache + + + + + Successfully removed the transferable shader cache. + + + + + Failed to remove the transferable shader cache. + + + + + + Error Removing Custom Configuration + + + + + A custom configuration for this title does not exist. + + + + + Successfully removed the custom game configuration. + + + + + Failed to remove the custom game configuration. + + + + + RomFS Extraction Failed! + Wypakowanie RomFS nieudane! + + + + There was an error copying the RomFS files or the user cancelled the operation. + Wystąpił błąd podczas kopiowania plików RomFS lub użytkownik anulował operację. + + + + Full + + + + + Skeleton + + + + + Select RomFS Dump Mode + Wybierz tryb zrzutu RomFS + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + Proszę wybrać w jaki sposób chcesz, aby zrzut pliku RomFS został wykonany. <br>Pełna kopia ze wszystkimi plikami do nowego folderu, gdy <br>skielet utworzy tylko strukturę folderu. + + + + Extracting RomFS... + Wypakowywanie RomFS... + + + + + Cancel + Anuluj + + + + RomFS Extraction Succeeded! + Wypakowanie RomFS zakończone pomyślnie! + + + + The operation completed successfully. + Operacja zakończona sukcesem. + + + + Error Opening %1 + + + + + Select Directory + Wybierz folder... + + + + Properties + Właściwości + + + + The game properties could not be loaded. + Właściwości tej gry nie mogły zostać załadowane. + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Plik wykonywalny Switcha (%1);;Wszystkie pliki (*.*) + + + + Load File + Załaduj plik... + + + + Open Extracted ROM Directory + Otwórz folder wypakowanego ROMu + + + + Invalid Directory Selected + Wybrano niewłaściwy folder + + + + The directory you have selected does not contain a 'main' file. + Folder wybrany przez ciebie nie zawiera 'głownego' pliku. + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + + + + + Install Files + + + + + Installing file "%1"... + Instalowanie pliku "%1"... + + + + Install Results + + + + + System Application + Aplikacja systemowa + + + + System Archive + Archiwum systemu + + + + System Application Update + Aktualizacja aplikacji systemowej + + + + Firmware Package (Type A) + Paczka systemowa (Typ A) + + + + Firmware Package (Type B) + Paczka systemowa (Typ B) + + + + Game + Gra + + + + Game Update + Aktualizacja gry + + + + Game DLC + Dodatek do gry + + + + Delta Title + Tytuł Delta + + + + Select NCA Install Type... + Wybierz typ instalacji NCA... + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + Wybierz typ tytułu, do którego chcesz zainstalować ten NCA, jako: +(W większości przypadków domyślna "gra" jest w porządku.) + + + + Failed to Install + Instalacja nieudana + + + + The title type you selected for the NCA is invalid. + Typ tytułu wybrany dla NCA jest nieprawidłowy. + + + + File not found + Nie znaleziono pliku + + + + File "%1" not found + Nie znaleziono pliku "%1" + + + + + Continue + Kontynuuj + + + + Error Display + + + + + Missing yuzu Account + Brakuje konta Yuzu + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + Aby przesłać test zgodności gry, musisz połączyć swoje konto yuzu.<br><br/> Aby połączyć swoje konto yuzu, przejdź do opcji Emulacja &gt; Konfiguracja &gt; Sieć. + + + + Error opening URL + + + + + Unable to open the URL "%1". + + + + + Amiibo File (%1);; All Files (*.*) + Plik Amiibo (%1);;Wszyskie pliki (*.*) + + + + Load Amiibo + Załaduj Amiibo + + + + Error opening Amiibo data file + Błąd otwarcia pliku danych Amiibo + + + + Unable to open Amiibo file "%1" for reading. + Nie można otworzyć pliku Amiibo "%1" do odczytu. + + + + Error reading Amiibo data file + Błąd podczas odczytu pliku danych Amiibo + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + Nie można w pełni odczytać danych Amiibo. Oczekiwano odczytu %1 bajtów, ale był on w stanie odczytać tylko %2 bajty. + + + + Error loading Amiibo data + Błąd podczas ładowania pliku danych Amiibo + + + + Unable to load Amiibo data. + Nie można załadować danych Amiibo. + + + + Capture Screenshot + Zrób zrzut ekranu + + + + PNG Image (*.png) + Obrazek PNG (*.png) + + + + Speed: %1% / %2% + Prędkość: %1% / %2% + + + + Speed: %1% + Prędkość: %1% + + + + Game: %1 FPS + Gra: %1 FPS + + + + Frame: %1 ms + Klatka: %1 ms + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + Gra, którą próbujesz wczytać, wymaga dodatkowych plików z Switch'a, które zostaną zrzucone przed graniem.<br/><br/> Aby uzyskać więcej informacji na temat wyrzucania tych plików, odwiedź następującą stronę wiki:<a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'> Zrzut archiw systemu i udostępnionych czcionek z konsoli Nintendo Switch</a>. <br/><br/>Czy chcesz wrócić do listy gier? Kontynuacja emulacji może spowodować awarie, uszkodzone dane zapisu lub inne błędy. + + + + + yuzu was unable to locate a Switch system archive. %1 + + + + + yuzu was unable to locate a Switch system archive: %1. %2 + + + + + System Archive Not Found + Archiwum systemu nie znalezione. + + + + System Archive Missing + + + + + yuzu was unable to locate the Switch shared fonts. %1 + + + + + Shared Fonts Not Found + Czcionki nie zostały znalezione + + + + Shared Font Missing + + + + + Fatal Error + Fatalny błąd + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + yuzu napotkał błąd, proszę zobaczyć log po więcej szczegółów. Aby uzyskać więcej informacji na temat uzyskiwania dostępu do pliku log, zobacz następującą stronę: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Jak przesłać plik log</a>?<br/><br/> Czy chcesz wrócić do listy gier? Kontynuacja emulacji może spowodować awarie, uszkodzone dane zapisu lub inne błędy. + + + + Fatal Error encountered + + + + + Confirm Key Rederivation + Potwierdź ponowną aktywacje klucza + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + Zamierzasz zmusić wszystkie swoje klucze do ponownej aktywacji. +Jeśli nie wiesz, co to oznacza i co robisz, +jest to potencjalnie destrukcyjne działanie. +Upewnij się, że to jest to, czego chcesz +i opcjonalnie tworzyć kopie zapasowe. + +Spowoduje to usunięcie wygenerowanych automatycznie plików kluczy i ponowne uruchomienie modułu pochodnego klucza. + + + + Missing fuses + + + + + - Missing BOOT0 + + + + + - Missing BCPKG2-1-Normal-Main + + + + + - Missing PRODINFO + + + + + Derivation Components Missing + + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + Wyprowadzanie kluczy... +Zależnie od tego może potrwać do minuty +na wydajność twojego systemu. + + + + Deriving Keys + Wyprowadzanie kluczy... + + + + Select RomFS Dump Target + Wybierz cel zrzutu RomFS + + + + Please select which RomFS you would like to dump. + Proszę wybrać RomFS, jakie chcesz zrzucić. + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + Czy na pewno chcesz zamknąć yuzu? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + Czy na pewno chcesz zatrzymać emulację? Wszystkie niezapisane postępy zostaną utracone. + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + + + + + GRenderWindow + + + OpenGL not available! + + + + + yuzu has not been compiled with OpenGL support. + + + + + Vulkan not available! + + + + + yuzu has not been compiled with Vulkan support. + + + + + Error while initializing OpenGL 4.3! + + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + + + + + Error while initializing OpenGL! + + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + + + + + GameList + + + + Name + Nazwa gry + + + + + Compatibility + Kompatybilność + + + + + Add-ons + Dodatki + + + + + + + File type + Typ pliku + + + + + + + Size + Rozmiar + + + + Open Save Data Location + Otwórz lokalizację zapisów + + + + Open Mod Data Location + Otwórz lokalizację modyfikacji + + + + Open Transferable Shader Cache + + + + + Remove + + + + + Remove Installed Update + + + + + Remove All Installed DLC + + + + + Remove Shader Cache + + + + + Remove Custom Configuration + + + + + Remove All Installed Contents + + + + + Dump RomFS + Zrzuć RomFS + + + + Copy Title ID to Clipboard + Kopiuj identyfikator gry do schowka + + + + Navigate to GameDB entry + Nawiguj do wpisu kompatybilności gry + + + + Properties + Właściwości + + + + Scan Subfolders + + + + + Remove Game Directory + + + + + ▲ Move Up + + + + + ▼ Move Down + + + + + Open Directory Location + + + + + GameListItemCompat + + + Perfect + Perfekcyjnie + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + Funkcje gry są bezbłędne, bez żadnych zakłóceń audio i graficznych, wszystkie przetestowane funkcje działają zgodnie z przeznaczeniem bez +wszelkich potrzebnych obejść. + + + + Great + Świetnie + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + Funkcje gry z drobnymi usterkami graficznymi lub dźwiękowymi i można je odtwarzać od początku do końca. Może wymagać niektórych +obejść. + + + + Okay + W porządku + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + Funkcje gry z dużymi usterkami graficznymi lub dźwiękowymi, ale gra jest odtwarzana od początku do końca z użyciem +obejść. + + + + Bad + Zła + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + Funkcje gry, ale z dużymi usterkami graficznymi lub dźwiękowymi. Nie można wykonać postępu w określonych obszarach z powodu problemów +nawet z obejściami. + + + + Intro/Menu + Intro/Menu + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + Gra jest całkowicie niemożliwa do zagrania z powodu poważnych usterków graficznych lub dźwiękowych. Nie można przejść ekran +startowy. + + + + Won't Boot + Nie uruchamia się + + + + The game crashes when attempting to startup. + Ta gra się zawiesza przy próbie startu. + + + + Not Tested + Nie testowane + + + + The game has not yet been tested. + Ta gra nie została jeszcze przetestowana. + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + Kliknij podwójnie aby dodać folder do listy gier + + + + GameListSearchField + + + Filter: + Filter: + + + + Enter pattern to filter + Wpisz typ do filtra + + + + InstallDialog + + + Please confirm these are the files you wish to install. + + + + + Installing an Update or DLC will overwrite the previously installed one. + + + + + Install + + + + + Install Files to NAND + + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + + + + + Loading Shaders %v out of %m + + + + + Estimated Time 5m 4s + + + + + Loading... + + + + + Loading Shaders %1 / %2 + + + + + Launching... + Uruchamianie... + + + + Estimated Time %1 + + + + + MainWindow + + + yuzu + yuzu + + + + &File + &Plik + + + + Recent Files + Ostatnie pliki + + + + &Emulation + &Emulacja + + + + &View + &Widok + + + + Debugging + Debugowanie + + + + Tools + Narzędzia + + + + &Help + &Pomoc + + + + Install Files to NAND... + + + + + Load File... + Załaduj plik... + + + + Load Folder... + Załaduj folder... + + + + E&xit + &Wyjście + + + + &Start + &Start + + + + &Pause + &Pauza + + + + &Stop + &Stop + + + + Reinitialize keys... + Reinicjalizuj klucze... + + + + About yuzu + O yuzu + + + + Single Window Mode + Tryb jednego okna + + + + Configure... + Konfiguruj... + + + + Display Dock Widget Headers + Wyświetlaj nagłówki Dock Widget + + + + Show Filter Bar + Pokaż pasek fitrowania + + + + Show Status Bar + Pokaż pasek statusu + + + + Reset Window Size + + + + + Fullscreen + Pełny ekran + + + + Restart + Zrestartuj + + + + Load Amiibo... + Załaduj Amiibo... + + + + Report Compatibility + Zgłoś kompatybilność + + + + Open Mods Page + + + + + Open Quickstart Guide + + + + + FAQ + + + + + Open yuzu Folder + Otwórz folder yuzu + + + + Capture Screenshot + Zrób zrzut ekranu + + + + Configure Current Game.. + + + + + MicroProfileDialog + + + MicroProfile + MicroProfile + + + + QObject + + + Installed SD Titles + + + + + Installed NAND Titles + + + + + System Titles + + + + + Add New Game Directory + + + + + + + Shift + Shift + + + + + + Ctrl + Ctrl + + + + + + Alt + Alt + + + + + + + [not set] + [nie ustawione] + + + + + + Hat %1 %2 + Krzyżak %1 %2 + + + + + + Axis %1%2 + Oś %1%2 + + + + + + Button %1 + Przycisk %1 + + + + + + + [unknown] + [nieznane] + + + + + Click 0 + + + + + + Click 1 + + + + + + Click 2 + + + + + + Click 3 + + + + + + Click 4 + + + + + GC Axis %1%2 + + + + + GC Button %1 + + + + + + [unused] + [nieużywane] + + + + + Axis %1 + Oś %1 + + + + + GC Axis %1 + + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + Wybierz użytkownika: + + + + Users + + + + + Profile Selector + Wybór profilu + + + + QtSoftwareKeyboardDialog + + + Enter text: + Wpisz tekst: + + + + Software Keyboard + Klawiatura systemowa + + + + SequenceDialog + + + Enter a hotkey + + + + + WaitTreeCallstack + + + Call stack + Stos wywołań + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + czekam na mutex 0x%1 + + + + has waiters: %1 + ma oczekujących: %1 + + + + owner handle: 0x%1 + uchwyt właściciela: 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + czekam na wszystkie objekty + + + + waiting for one of the following objects + oczekiwanie na jeden z następujących obiektów + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + + + + + waited by no thread + + + + + WaitTreeThread + + + + running + Uruchomione + + + + ready + Gotowe + + + + + paused + Spauzowana + + + + waiting for HLE return + czekam na powrót HLE + + + + sleeping + spanie + + + + waiting for IPC reply + czekam na odpowiedź IPC + + + + waiting for objects + oczekiwanie na obiekty + + + + waiting for mutex + czekam na mutex + + + + waiting for condition variable + + + + + waiting for address arbiter + czekam na arbitra adresu + + + + dormant + drzemiący + + + + dead + śmierć + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + + + + + core %1 + rdzeń %1 + + + + Unknown processor %1 + Nieznany procesor %1 + + + + processor = %1 + procesor = %1 + + + + ideal core = %1 + idealny rdzeń = %1 + + + + affinity mask = %1 + maska powinowactwa = %1 + + + + thread id = %1 + identyfikator wątku = %1 + + + + priority = %1(current) / %2(normal) + piorytet = %1(obecny) / %2(normalny) + + + + last running ticks = %1 + ostatnie działające kleszcze = %1 + + + + not waiting for mutex + nie czekam na mutex + + + + WaitTreeThreadList + + + waited by thread + czekanie na wątek + + + + WaitTreeWidget + + + Wait Tree + Drzewo czekania + + + \ No newline at end of file diff --git a/dist/languages/pt_BR.ts b/dist/languages/pt_BR.ts new file mode 100644 index 000000000..c842793f4 --- /dev/null +++ b/dist/languages/pt_BR.ts @@ -0,0 +1,4757 @@ + + + AboutDialog + + + About yuzu + Sobre o yuzu + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu é um emulador experimental de código aberto para o Nintendo Switch licenciado sob a GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">Esse programa não deve ser utilizado para jogar jogos que você não obteve legalmente.</span></p></body></html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Site</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Código fonte</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contribuidores</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Licença</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; é uma marca comercial da Nintendo. O yuzu não é afiliado com a Nintendo de nenhuma forma.</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + Comunicando com o servidor... + + + + Cancel + Cancelar + + + + Touch the top left corner <br>of your touchpad. + Toque no canto superior esquerdo <br>do seu touchpad + + + + Now touch the bottom right corner <br>of your touchpad. + Agora toque no canto inferior direito <br>do seu touchpad + + + + Configuration completed! + Configuração concluída! + + + + OK + OK + + + + CompatDB + + + Report Compatibility + Informar compatibilidade + + + + + Report Game Compatibility + Informar compatibilidade de jogo + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">Ao enviar um caso de teste à </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">lista de compatibilidade do yuzu</span></a><span style=" font-size:10pt;">, as seguintes informações serão recolhidas e exibidas no site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações de hardware (CPU / GPU / sistema operacional)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qual versão do yuzu você está usando</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">A conta do yuzu conectada</li></ul></body></html> + + + + Perfect + Perfeito + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>O jogo funciona impecavelmente, sem falhas no áudio ou nos gráficos.</p></body></html> + + + + Great + Ótimo + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>O jogo funciona com leves falhas gráficas ou de áudio e é jogável do início ao fim. Pode exigir algumas soluções alternativas.</p></body></html> + + + + Okay + Razoável + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>O jogo funciona com grandes falhas gráficas ou de áudio, mas é jogável do início ao fim com o uso de soluções alternativas.</p></body></html> + + + + Bad + Ruim + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>O jogo funciona, só que com problemas significativos nos gráficos ou no áudio. Não é possível progredir em áreas específicas por conta de tais problemas, mesmo com soluções alternativas.</p></body></html> + + + + Intro/Menu + Intro/menu + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>É impossível jogar o jogo devido a grandes problemas nos gráficos ou no áudio. Não é possível passar da tela inicial do jogo.</p></body></html> + + + + Won't Boot + Não inicia + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>O jogo trava ou se encerra abruptamente ao se tentar iniciá-lo.</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <html><head/><body><p>Sem considerar velocidade e desempenho, quão bem o jogo se comporta, do início ao fim, nesta versão do yuzu?</p></body></html> + + + + Thank you for your submission! + Agradecemos pelo seu relatório! + + + + Submitting + Enviando + + + + Communication error + Erro de comunicação + + + + An error occured while sending the Testcase + Um erro ocorreu ao enviar o caso de teste + + + + Next + Próximo + + + + ConfigureAudio + + + Audio + Áudio + + + + Output Engine: + Mecanismo de saída: + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + Este efeito de pós-processamento ajusta a velocidade do áudio para acompanhar a velocidade de emulação e ajuda a evitar cortes no áudio. No entanto, isto aumenta a latência do áudio. + + + + Enable audio stretching + Ativar alongamento de áudio + + + + Audio Device: + Dispositivo de áudio: + + + + Use global volume + Usar volume global + + + + Set volume: + Definir volume: + + + + Volume: + Volume: + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + Formulário + + + + General + Geral + + + + Accuracy: + Precisão: + + + + Accurate + Preciso + + + + Unsafe + Não seguro + + + + Enable Debug Mode + Ativar modo de depuração + + + + We recommend setting accuracy to "Accurate". + Recomendamos definir a precisão para "Preciso". + + + + Unsafe CPU Optimization Settings + Ajustes de otimização não seguros de CPU + + + + These settings reduce accuracy for speed. + Estes ajustes reduzem a precisão para aprimorar a velocidade. + + + + Unfuse FMA (improve performance on CPUs without FMA) + Não usar FMA (melhora o desempenho em CPUs sem FMA) + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + + <div>Esta opção melhora o desempenho reduzindo a precisão de instruções de multiplicação-adição unificada (FMA) em CPUs sem suporte nativo a este recurso.</div> + + + + + Faster FRSQRTE and FRECPE + FRSQRTE e FRECPE mais rápidos + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + + <div>Esta opção melhora o desempenho de algumas instruções de ponto flutuante usando aproximações nativas menos precisas.</div> + + + + + CPU settings are available only when game is not running. + Os ajustes de CPU só estão disponíveis enquanto o jogo não estiver em execução. + + + + Setting CPU to Debug Mode + Ativando o modo de depuração de CPU + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + O modo de depuração de CPU é intencionado para uso por desenvolvedores. Deseja mesmo ativá-lo? + + + + ConfigureCpuDebug + + + Form + Formulário + + + + Toggle CPU Optimizations + Ative ou desative otimizações de CPU + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + + <div> + <b>Apenas para depuração.</b> + <br> + Se você não tem certeza do que estas opções fazem, mantenha-as todas ativadas. + <br> + Estes ajustes apenas têm efeito quando a precisão da CPU for definida como "Ativar modo de depuração". + </div> + + + + + Enable inline page tables + Ativar tabelas de página em linha + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + <div style="white-space: nowrap">Esta otimização acelera acessos de memória pelo programa convidado.</div> + <div style="white-space: nowrap">Quando ativada, permite o acesso inline a PageTable::pointers no código emitido.</div> + <div style="white-space: nowrap">Quando desativada, força a passagem de todos os acessos de memória pelas funções Memory::Read/Memory::Write.</div> + + + + + Enable block linking + Ativar vinculação de blocos + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + <div>Esta otimização evita buscas do dispatcher ao permitir que blocos básicos emitidos pulem diretamente para outros blocos básicos se o PC de destino for estático.</div> + + + + + Enable return stack buffer + Ativar buffer de pilha de retorno + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + <div>Esta otimização evita buscas do dispatcher ao monitorar possíveis endereços de retorno de instruções BL. Isto se aproxima do que ocorre em um buffer de pilha de retorno em um CPU real.</div> + + + + + Enable fast dispatcher + Ativar dispatcher rápido + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + <div>Ativa um sistema de dispatch de dois níveis. Um dispatcher mais rápido, escrito em assembly e que possui um pequeno cache MRU de destinos de pulo, é usado primeiro. Caso falhe, o dispatcher mais lento escrito em C++ será usado em seu lugar.</div> + + + + + Enable context elimination + Ativar eliminação de contexto + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + <div>Ativa uma otimização da IR que reduz acessos desnecessários à estrutura de contexto da CPU.</div> + + + + + Enable constant propagation + Ativar propagação de constantes + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + <div>Ativa otimizações da IR que envolvem propagação de constantes.</div> + + + + + Enable miscellaneous optimizations + Ativar otimizações diversas + + + + + <div>Enables miscellaneous IR optimizations.</div> + + + <div>Ativa otimizações diversas para a IR.</div> + + + + + Enable misalignment check reduction + Ativar redução de checagem de desalinhamento + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + <div style="white-space: nowrap">Quando ativada, um desalinhamento só será disparado quando um acesso cruza o limite de uma página.</div> + <div style="white-space: nowrap">Quando desativada, um desalinhamento será disparado em todos os acessos desalinhados.</div> + + + + + CPU settings are available only when game is not running. + Os ajustes de CPU estão disponíveis apenas quando não houver nenhum jogo em execução. + + + + ConfigureDebug + + + Form + Formulário + + + + GDB + GDB + + + + Enable GDB Stub + Ativar GDB stub + + + + Port: + Porta: + + + + Logging + Registros de depuração + + + + Global Log Filter + Filtro global de registros + + + + Show Log Console (Windows Only) + Mostrar console de registros (apenas Windows) + + + + Open Log Location + Abrir local dos registros + + + + Homebrew + Homebrew + + + + Arguments String + Linha de argumentos + + + + Graphics + Gráficos + + + + When checked, the graphics API enters in a slower debugging mode + Quando ativado, a API gráfica entra em um modo de depuração mais lento. + + + + Enable Graphics Debugging + Ativar depuração de gráficos + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + Quando ativado, desativa o macro compilador Just in Time. Ativar isto faz os jogos rodarem mais lentamente. + + + + Disable Macro JIT + Desativar macro JIT + + + + Dump + Extrair + + + + Enable Verbose Reporting Services + Ativar serviços de relatório detalhado + + + + This will be reset automatically when yuzu closes. + Isto será restaurado automaticamente assim que o yuzu for fechado. + + + + Advanced + Avançado + + + + Kiosk (Quest) Mode + Modo quiosque (Quest) + + + + ConfigureDebugController + + + Configure Debug Controller + Configurar controle de depuração + + + + Clear + Limpar + + + + Defaults + Padrão + + + + ConfigureDialog + + + yuzu Configuration + Configurações do yuzu + + + + + + + General + Geral + + + + + UI + Interface + + + + Game List + Lista de jogos + + + + + + + System + Sistema + + + + + + Profiles + Perfis + + + + + + Filesystem + Sistema de arquivos + + + + + + + Controls + Controles + + + + + + Hotkeys + Teclas de atalho + + + + + + + CPU + CPU + + + + + + + + + Debug + Depuração + + + + + + + Graphics + Gráficos + + + + + Advanced + Avançado + + + + GraphicsAdvanced + GráficosAvançado + + + + + + + Audio + Áudio + + + + + + Web + Rede + + + + + + Services + Serviços + + + + ConfigureFilesystem + + + Form + Formulário + + + + Storage Directories + Pastas de armazenamento + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + Cartão SD + + + + Gamecard + Cartão de jogo + + + + Path + Caminho + + + + Inserted + Inserido + + + + Current Game + Jogo atual + + + + Patch Manager + Gerenciador de patches + + + + Dump Decompressed NSOs + Extrair NSOs descompactados + + + + Dump ExeFS + Extrair ExeFS + + + + Mod Load Root + Raiz de carregamento de mods + + + + Dump Root + Extrair raiz + + + + Caching + Ajustes de cache + + + + Cache Directory + Diretório do cache + + + + Cache Game List Metadata + Metadados da lista de jogos em cache + + + + + + + Reset Metadata Cache + Restaurar cache de metadados + + + + Select Emulated NAND Directory... + Selecione a pasta da NAND emulada... + + + + Select Emulated SD Directory... + Selecione a pasta do SD emulado... + + + + Select Gamecard Path... + Selecione o local do Gamecard... + + + + Select Dump Directory... + Selecione a pasta de extração... + + + + Select Mod Load Directory... + Selecione a pasta de carregamento de mods... + + + + Select Cache Directory... + Selecione a pasta de cache... + + + + The metadata cache is already empty. + O cache de metadados já está vazio. + + + + The operation completed successfully. + A operação foi concluída com sucesso. + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + O cache de metadados não pôde ser excluído. Ele pode estar em uso no momento ou não existe. + + + + ConfigureGeneral + + + Form + Formulário + + + + General + Geral + + + + Limit Speed Percent + Limitar percentual de velocidade + + + + % + % + + + + Multicore CPU Emulation + Emulação de CPU multinúcleo + + + + Confirm exit while emulation is running + Confirmar saída quando a emulação estiver em execução + + + + Prompt for user on game boot + Escolher um usuário ao iniciar um jogo + + + + Pause emulation when in background + Pausar emulação quando a janela ficar em segundo plano + + + + Hide mouse on inactivity + Esconder cursor do mouse quando em inatividade + + + + ConfigureGraphics + + + Form + Formulário + + + + API Settings + Configurações de API + + + + API: + API: + + + + Device: + Dispositivo: + + + + Graphics Settings + Configurações gráficas + + + + Use disk shader cache + Usar cache de shaders em disco + + + + Use asynchronous GPU emulation + Usar emulação assíncrona da GPU + + + + Aspect Ratio: + Proporção de tela: + + + + Default (16:9) + Padrão (16:9) + + + + Force 4:3 + Forçar 4:3 + + + + Force 21:9 + Forçar 21:9 + + + + Stretch to Window + Esticar para a janela + + + + + Use global background color + Usar cor de fundo global + + + + Set background color: + Configurar cor de fundo: + + + + Background Color: + Cor de fundo: + + + + OpenGL Graphics Device + Dispositivo gráfico do OpenGL + + + + ConfigureGraphicsAdvanced + + + Form + Formulário + + + + Advanced Graphics Settings + Configurações gráficas avançadas + + + + Accuracy Level: + Nível de precisão: + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + A sincronização vertical (VSync) evita que as imagens do jogo pareçam cortadas, porém algumas placas gráficas apresentam redução de desempenho quando estiver ativa. Deixe-a ativada se você não reparar alguma diferença de desempenho. + + + + Use VSync (OpenGL only) + Usar sincronização vertical (apenas OpenGL) + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + Ativar isto reduz engasgos de shaders. Ativa os shaders assembly do OpenGL em dispositivos compatíveis da Nvidia (é necessária a extensão NV_gpu_program5). Esta é uma opção experimental. + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + Usar shaders assembly (experimental, apenas OpenGL + Nvidia) + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + Realiza a compilação de shaders de forma assíncrona, o que pode reduzir engasgos de shaders. Esta opção é experimental. + + + + Use asynchronous shader building (experimental) + Usar compilação assíncrona de shaders (experimental) + + + + Use Fast GPU Time + Usar tempo de resposta rápido da GPU + + + + Anisotropic Filtering: + Filtragem anisotrópica: + + + + Default + Padrão + + + + 2x + 2x + + + + 4x + 4x + + + + 8x + 8x + + + + 16x + 16x + + + + ConfigureHotkeys + + + Hotkey Settings + Configurações de teclas de atalho + + + + Double-click on a binding to change it. + Clique duas vezes em um atalho para alterá-lo. + + + + Clear All + Limpar tudo + + + + Restore Defaults + Restaurar padrões + + + + Action + Ação + + + + Hotkey + Atalho + + + + Context + Contexto + + + + + Conflicting Key Sequence + Combinação de teclas já utilizada + + + + The entered key sequence is already assigned to: %1 + A sequência de teclas pressionada já esta atribuída para: %1 + + + + Restore Default + Restaurar padrão + + + + Clear + Limpar + + + + The default key sequence is already assigned to: %1 + A sequência de teclas padrão já esta atribuida para: %1 + + + + ConfigureInput + + + ConfigureInput + ConfigurarEntrada + + + + + Player 1 + Jogador 1 + + + + + Player 2 + Jogador 2 + + + + + Player 3 + Jogador 3 + + + + + Player 4 + Jogador 4 + + + + + Player 5 + Jogador 5 + + + + + Player 6 + Jogador 6 + + + + + Player 7 + Jogador 7 + + + + + Player 8 + Jogador 8 + + + + + Advanced + Avançado + + + + Console Mode + Modo do console + + + + Docked + Na base + + + + Undocked + Fora da base + + + + Vibration + Vibração + + + + % + % + + + + Motion + Movimento + + + + Configure + Configurar + + + + Controllers + Controles + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + 6 + 6 + + + + 7 + 7 + + + + 8 + 8 + + + + Connected + Conectado + + + + Defaults + Padrões + + + + Clear + Limpar + + + + ConfigureInputAdvanced + + + Configure Input + Configurar entrada + + + + Joycon Colors + Cores dos Joycon + + + + Player 1 + Jogador 1 + + + + + + + + + + + L Body + Joycon esq. + + + + + + + + + + + L Button + Botão L + + + + + + + + + + + R Body + Joycon dir. + + + + + + + + + + + R Button + Botão R + + + + Player 2 + Jogador 2 + + + + Player 3 + Jogador 3 + + + + Player 4 + Jogador 4 + + + + Player 5 + Jogador 5 + + + + Player 6 + Jogador 6 + + + + Player 7 + Jogador 7 + + + + Player 8 + Jogador 8 + + + + Other + Outro + + + + Keyboard + Teclado + + + + + Advanced + Avançado + + + + Touchscreen + Touchscreen + + + + Mouse + Mouse + + + + Motion / Touch + Movimento/toque + + + + + Configure + Configurar + + + + Debug Controller + Controle de depuração + + + + ConfigureInputPlayer + + + Configure Input + Configurar controles + + + + Connect Controller + Conectar controle + + + + + + Pro Controller + Pro Controller + + + + + Dual Joycons + Par de Joycons + + + + + Left Joycon + Joycon Esquerdo + + + + + Right Joycon + Joycon Direito + + + + + Handheld + Portátil + + + + Input Device + Dispositivo de entrada + + + + Any + Qualquer + + + + Keyboard/Mouse + Teclado/mouse + + + + Profile + Perfil + + + + Save + Salvar + + + + New + Novo + + + + Delete + Excluir + + + + Left Stick + Analógico esquerdo + + + + + + + + + Up + Cima + + + + + + + + + Left + Esquerda + + + + + + + + + Right + Direita + + + + + + + + + Down + Baixo + + + + + + + Pressed + Pressionado + + + + + + + Modifier + Modificador + + + + + Range + Alcance + + + + + % + % + + + + + Deadzone: 0% + Zona morta: 0% + + + + + Modifier Range: 0% + Alcance de modificador: 0% + + + + D-Pad + D-pad + + + + + L + L + + + + + ZL + ZL + + + + + Minus + Menos + + + + + Capture + Capturar + + + + + Plus + Mais + + + + + Home + Botão Home + + + + + R + R + + + + + ZR + ZR + + + + + SL + SL + + + + + SR + SR + + + + Face Buttons + Botões de rosto + + + + + X + X + + + + + Y + Y + + + + + A + A + + + + + B + B + + + + Right Stick + Analógico direito + + + + + Deadzone: %1% + Zona morta: %1% + + + + + Modifier Range: %1% + Alcance de modificador: %1% + + + + [waiting] + [esperando] + + + + ConfigureMotionTouch + + + Configure Motion / Touch + Configurar movimento/toque + + + + Motion + Movimento + + + + Motion Provider: + Fonte dos dados de movimento: + + + + Sensitivity: + Sensibilidade: + + + + Touch + Toque + + + + Touch Provider: + Fonte dos dados de toque: + + + + Calibration: + Calibração: + + + + (100, 50) - (1800, 850) + (100, 50) - (1800, 850) + + + + + + Configure + Configurar + + + + Use button mapping: + Usar mapeamento de botões: + + + + CemuhookUDP Config + Configuração CemuhookUDP + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + Você pode utilizar qualquer dispositivo de entrada compatível com o Cemuhook UDP para prover dados de movimento e toque. + + + + Server: + Servidor: + + + + Port: + Porta: + + + + Pad: + Direcionais: + + + + Pad 1 + Direcional 1 + + + + Pad 2 + Direcional 2 + + + + Pad 3 + Direcional 3 + + + + Pad 4 + Direcional 4 + + + + Learn More + Saiba mais + + + + + Test + Teste + + + + Mouse (Right Click) + Mouse (botão direito) + + + + + CemuhookUDP + CemuhookUDP + + + + Emulator Window + Janela do emulador + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Saiba mais</span></a> + + + + Testing + Testando + + + + Configuring + Configurando + + + + Test Successful + Teste bem-sucedido + + + + Successfully received data from the server. + Dados foram recebidos do servidor com sucesso. + + + + Test Failed + O teste falhou + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + Não foi possível receber dados válidos do servidor.<br>Verifique se o servidor foi configurado corretamente e o endereço e porta estão corretos. + + + + Citra + Citra + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + Um teste UDP ou configuração de calibração está em curso no momento.<br>Aguarde até a sua conclusão. + + + + ConfigureMouseAdvanced + + + Configure Mouse + Configurar mouse + + + + Mouse Buttons + Botões do mouse + + + + Forward: + Dianteiro: + + + + Back: + Traseiro: + + + + Left: + Esquerdo: + + + + Middle: + Meio: + + + + Right: + Direito: + + + + + Clear + Limpar + + + + Defaults + Padrões + + + + [not set] + [não definido] + + + + Restore Default + Restaurar padrão + + + + [press key] + [pressione uma tecla] + + + + ConfigurePerGame + + + Dialog + Diálogo + + + + Info + Informações + + + + Name + Nome + + + + Title ID + ID do título + + + + Filename + Nome do arquivo + + + + Format + Formato + + + + Version + Versão + + + + Size + Tamanho + + + + Developer + Desenvolvedor + + + + Add-Ons + Adicionais + + + + General + Geral + + + + System + Sistema + + + + Graphics + Gráficos + + + + Adv. Graphics + Gráficos avanç. + + + + Audio + Áudio + + + + Properties + Propriedades + + + + Use global configuration (%1) + Usar configuração global (%1) + + + + ConfigurePerGameAddons + + + Form + Formulário + + + + Patch Name + Nome do patch + + + + Version + Versão + + + + ConfigureProfileManager + + + Form + Formulário + + + + Profile Manager + Gerenciador de perfis + + + + Current User + Usuário atual + + + + Username + Nome de usuário + + + + Set Image + Definir imagem + + + + Add + Adicionar + + + + Rename + Renomear + + + + Remove + Excluir + + + + Profile management is available only when game is not running. + Esta tela só fica disponível apenas quando não houver nenhum jogo em execução. + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Enter Username + Escreva o nome de usuário + + + + Users + Usuários + + + + Enter a username for the new user: + Digite o nome do novo usuário: + + + + Enter a new username: + Digite um novo nome de usuário: + + + + Confirm Delete + Confirmar exclusão + + + + You are about to delete user with name "%1". Are you sure? + Você está prestes a excluir o usuário "%1". Tem certeza? + + + + Select User Image + Selecione a imagem do usuário + + + + JPEG Images (*.jpg *.jpeg) + Imagens JPEG (*.jpg *.jpeg) + + + + Error deleting image + Erro ao excluir a imagem + + + + Error occurred attempting to overwrite previous image at: %1. + Ocorreu um erro ao tentar substituir a imagem anterior em: %1. + + + + Error deleting file + Erro ao excluir arquivo + + + + Unable to delete existing file: %1. + Não foi possível excluir o arquivo existente: %1. + + + + Error creating user image directory + Erro ao criar a pasta de imagens do usuário + + + + Unable to create directory %1 for storing user images. + Não foi possível criar a pasta %1 para armazenar as imagens do usuário. + + + + Error copying user image + Erro ao copiar a imagem do usuário + + + + Unable to copy image from %1 to %2 + Não foi possível copiar a imagem de %1 para %2 + + + + ConfigureService + + + Form + Formulário + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + BCAT é a maneira que a Nintendo usa para enviar dados aos jogos para engajar sua comunidade e desbloquear conteúdo adicional. + + + + BCAT Backend + Backend do BCAT + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Saiba mais sobre o BCAT, Boxcat e eventos atuais</span></a></p></body></html> + + + + The boxcat service is offline or you are not connected to the internet. + O serviço Boxcat está offline ou você não está conectado à internet. + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + Ocorreu um erro ao processar os dados de eventos do Boxcat. Entre em contato com os desenvolvedores do yuzu. + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + A versão do yuzu que você está usando é ou recente demais ou antiga demais para o servidor. Tente atualizar para a versão oficial mais recente do yuzu. + + + + + There are currently no events on boxcat. + Não há eventos no Boxcat atualmente. + + + + + Current Boxcat Events + Eventos Boxcat atuais + + + + Yuzu is retrieving the latest boxcat status... + O yuzu está baixando o status mais recente do Boxcat... + + + + ConfigureSystem + + + Form + Formulário + + + + System Settings + Configurações de sistema + + + + Region: + Região: + + + + Auto + Automático + + + + Default + Padrão + + + + CET + CET + + + + CST6CDT + CST6CDT + + + + Cuba + Cuba + + + + EET + EET + + + + Egypt + Egito + + + + Eire + Eire + + + + EST + EST + + + + EST5EDT + EST5EDT + + + + GB + GB + + + + GB-Eire + GB-Eire + + + + GMT + GMT + + + + GMT+0 + GMT+0 + + + + GMT-0 + GMT-0 + + + + GMT0 + GMT0 + + + + Greenwich + Greenwich + + + + Hongkong + Hongkong + + + + HST + HST + + + + Iceland + Islândia + + + + Iran + Irã + + + + Israel + Israel + + + + Jamaica + Jamaica + + + + + Japan + Japão + + + + Kwajalein + Ilhas Marshall + + + + Libya + Líbia + + + + MET + MET + + + + MST + MST + + + + MST7MDT + MST7MDT + + + + Navajo + Navajo + + + + NZ + NZ + + + + NZ-CHAT + NZ-CHAT + + + + Poland + Polônia + + + + Portugal + Portugal + + + + PRC + PRC + + + + PST8PDT + PST8PDT + + + + ROC + ROC + + + + ROK + ROK + + + + Singapore + Singapura + + + + Turkey + Turquia + + + + UCT + UCT + + + + Universal + Universal + + + + UTC + UTC + + + + W-SU + W-SU + + + + WET + WET + + + + Zulu + Zulu + + + + USA + EUA + + + + Europe + Europa + + + + Australia + Austrália + + + + China + China + + + + Korea + Coréia + + + + Taiwan + Taiwan + + + + Time Zone: + Fuso horário: + + + + Note: this can be overridden when region setting is auto-select + Nota: isso pode ser substituído caso a configuração de região automática esteja ativada + + + + Japanese (日本語) + Japônes (日本語) + + + + English + Inglês (English) + + + + French (français) + Francês (français) + + + + German (Deutsch) + Alemão (Deutsch) + + + + Italian (italiano) + Italiano (italiano) + + + + Spanish (español) + Espanhol (español) + + + + Chinese + Chinês + + + + Korean (한국어) + Coreano (한국어) + + + + Dutch (Nederlands) + Holandês (Nederlands) + + + + Portuguese (português) + Português + + + + Russian (Русский) + Russo (Русский) + + + + Taiwanese + Taiwanês + + + + British English + Inglês britânico (British English) + + + + Canadian French + Francês canadense (Canadian French) + + + + Latin American Spanish + Espanhol latino-americano + + + + Simplified Chinese + Chinês simplificado + + + + Traditional Chinese (正體中文) + Chinês tradicional (正體中文) + + + + Custom RTC + Data e hora personalizada + + + + Language + Idioma + + + + RNG Seed + Semente RNG + + + + Mono + Mono + + + + Stereo + Estéreo + + + + Surround + Surround + + + + Console ID: + ID do console: + + + + Sound output mode + Modo de saída de som + + + + d MMM yyyy h:mm:ss AP + d MMM yyyy h:mm:ss AP + + + + Regenerate + Regerar + + + + System settings are available only when game is not running. + As configurações de sistema são acessíveis apenas quando não houver nenhum jogo em execução. + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + Isto substituirá o seu Switch virtual atual por um novo. O seu Switch virtual atual não poderá ser recuperado. Isto pode causar efeitos inesperados em jogos. Isto pode falhar caso você use um jogo salvo com configurações desatualizadas registradas nele. Continuar? + + + + Warning + Aviso + + + + Console ID: 0x%1 + ID do console: 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + Configurar mapeamento de toque + + + + Mapping: + Mapeamento: + + + + New + Novo + + + + Delete + Excluir + + + + Rename + Renomear + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + Clique na área inferior para adicionar um ponto, e então pressione um botão para mapear. +Mova os pontos para mudar a posição, ou clique duas vezes nas células da tabela para editar os valores. + + + + Delete Point + Excluir ponto + + + + Button + Botão + + + + X + X axis + X + + + + Y + Y axis + Y + + + + New Profile + Novo perfil + + + + Enter the name for the new profile. + Insira o nome do novo perfil. + + + + Delete Profile + Excluir perfil + + + + Delete profile %1? + Excluir perfil %1? + + + + Rename Profile + Renomear perfil + + + + New name: + Novo nome: + + + + [press key] + [pressione a tecla] + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + Configurar tela de toque + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + Aviso: Os ajustes nesta página afetam o funcionamento interno da tela de toque emulada do yuzu. Alterá-los pode resultar em comportamentos indesejáveis, tais como a tela de toque funcionar parcialmente ou não responder por completo. Apenas faça alterações caso você saiba o que está fazendo. + + + + Touch Parameters + Parâmetros de toque + + + + Touch Diameter Y + Diâmetro de toque Y + + + + Finger + Dedo + + + + Touch Diameter X + Diâmetro de toque X + + + + Rotational Angle + Ângulo rotacional + + + + Restore Defaults + Restaurar padrões + + + + ConfigureUi + + + Form + Formulário + + + + General + Geral + + + + Note: Changing language will apply your configuration. + Nota: alterar o idioma aplicará as suas configurações. + + + + Interface language: + Idioma da interface: + + + + Theme: + Tema: + + + + Game List + Lista de jogos + + + + Show Add-Ons Column + Mostrar coluna de adicionais + + + + Icon Size: + Tamanho do ícone: + + + + Row 1 Text: + Texto da 1ª linha: + + + + Row 2 Text: + Texto da 2ª linha: + + + + Screenshots + Capturas de tela + + + + Ask Where To Save Screenshots (Windows Only) + Perguntar onde salvar capturas de tela (apenas Windows) + + + + Screenshots Path: + Pasta para capturas de tela: + + + + ... + ... + + + + Select Screenshots Path... + Selecione a pasta de capturas de tela... + + + + <System> + <System> + + + + English + Inglês + + + + ConfigureWeb + + + Form + Formulário + + + + yuzu Web Service + yuzu Web Service + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + Ao informar seu usuário e token, você concorda em permitir ao yuzu recolher dados de uso adicionais, que podem incluir informações de identificação de usuário. + + + + + Verify + Verificar + + + + Sign up + Cadastrar-se + + + + Token: + Token: + + + + Username: + Nome de usuário: + + + + What is my token? + Qual é o meu token? + + + + Telemetry + Telemetria + + + + Share anonymous usage data with the yuzu team + Compartilhar anonimamente dados de uso com a equipe do yuzu + + + + Learn more + Saiba mais + + + + Telemetry ID: + ID de telemetria: + + + + Regenerate + Gerar um novo + + + + Discord Presence + Presença no Discord + + + + Show Current Game in your Discord Status + Mostrar o jogo atual no seu status do Discord + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Saiba mais</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Cadastrar-se</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">Qual é o meu token?</span></a> + + + + + Telemetry ID: 0x%1 + ID de telemetria: 0x%1 + + + + + Unspecified + Não especificado + + + + Token not verified + Token não verificado + + + + Token was not verified. The change to your token has not been saved. + O token não foi verificado. A alteração no seu token não foi salva. + + + + Verifying... + Verificando... + + + + Verification failed + Falha na verificação + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + Falha na verificação. Verifique se o seu token foi inserido corretamente e se a sua conexão à internet está funcionando. + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Dados anônimos são recolhidos</a> para ajudar a melhorar o yuzu. <br/><br/>Gostaria de compartilhar os seus dados de uso conosco? + + + + Telemetry + Telemetria + + + + Text Check Failed + Falha na verificação de texto + + + + Loading Web Applet... + Carregando applet web... + + + + Exit Web Applet + Sair do applet web + + + + Exit + Sair + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + Para sair do aplicativo web, use os controles fornecidos pelo jogo para sair dele, selecione a opção "Sair do applet web" na barra de menu ou pressione a tecla "Enter". + + + + Web Applet + Applet web + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + Esta versão do yuzu foi compilada sem suporte a QtWebEngine, o que significa que o yuzu não pode exibir adequadamente o manual do jogo ou a página da web solicitada. + + + + The amount of shaders currently being built + A quantidade de shaders sendo construídos + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + Velocidade atual de emulação. Valores maiores ou menores que 100% indicam que a emulação está rodando mais rápida ou lentamente que em um Switch. + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + Quantos quadros por segundo o jogo está exibindo atualmente. Isto irá variar de jogo para jogo e cena para cena. + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + Tempo que leva para emular um quadro do Switch, sem considerar o limitador de taxa de quadros ou a sincronização vertical. Um valor menor ou igual a 16.67 ms indica que a emulação está em velocidade plena. + + + + DOCK + NA BASE + + + + ASYNC + ASYNC + + + + MULTICORE + MULTINÚCLEO + + + + VULKAN + VULKAN + + + + OPENGL + OPENGL + + + + Clear Recent Files + Limpar arquivos recentes + + + + Warning Outdated Game Format + Aviso - formato de jogo desatualizado + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + Você está usando neste jogo o formato de ROM desconstruída e extraída em uma pasta, que é um formato desatualizado que foi substituído por outros, como NCA, NAX, XCI ou NSP. Pastas desconstruídas de ROMs não possuem ícones, metadados e suporte a atualizações.<br><br>Para saber mais sobre os vários formatos de ROMs de Switch compatíveis com o yuzu, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>confira a nossa wiki</a>. Esta mensagem não será exibida novamente. + + + + + Error while loading ROM! + Erro ao carregar a ROM! + + + + The ROM format is not supported. + O formato da ROM não é suportado. + + + + An error occurred initializing the video core. + Ocorreu um erro ao inicializar o núcleo de vídeo. + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + O yuzu encontrou um erro ao executar o núcleo de vídeo. Consulte o registro para mais detalhes. Para mais informações em como acessar o registro, veja a seguinte página: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Como enviar o arquivo de registro</a>. Verifique se você está usando o driver de vídeo mais atualizado. + + + + Error while loading ROM! + Erro ao carregar a ROM! + + + + An unknown error occurred. Please see the log for more details. + Ocorreu um erro desconhecido. Consulte o registro para mais detalhes. + + + + Start + Iniciar + + + + Save Data + Dados de jogos salvos + + + + Mod Data + Dados de mods + + + + Error Opening %1 Folder + Erro ao abrir a pasta %1 + + + + + Folder does not exist! + A pasta não existe! + + + + Error Opening Transferable Shader Cache + Erro ao abrir o cache de shaders transferível + + + + + A shader cache for this title does not exist. + Não existe um cache de shaders para este título. + + + + Contents + Conteúdo + + + + Update + Atualização + + + + DLC + DLC + + + + Remove Entry + Remover item + + + + Remove Installed Game %1? + Remover o jogo instalado %1? + + + + + + + + Successfully Removed + Removido com sucesso + + + + Successfully removed the installed base game. + O jogo base foi removido com sucesso. + + + + + + Error Removing %1 + Erro ao remover %1 + + + + The base game is not installed in the NAND and cannot be removed. + O jogo base não está instalado na NAND e não pode ser removido. + + + + Successfully removed the installed update. + A atualização instalada foi removida com sucesso. + + + + There is no update installed for this title. + Não há nenhuma atualização instalada para este título. + + + + There are no DLC installed for this title. + Não há nenhum DLC instalado para este título. + + + + Successfully removed %1 installed DLC. + %1 DLC(s) instalados foram removidos com sucesso. + + + + Delete Transferable Shader Cache? + Excluir o cache de shaders transferível? + + + + Remove Custom Game Configuration? + Remover configurações customizadas do jogo? + + + + Remove File + Remover arquivo + + + + + Error Removing Transferable Shader Cache + Erro ao remover cache de shaders transferível + + + + Successfully removed the transferable shader cache. + O cache de shaders transferível foi removido com sucesso. + + + + Failed to remove the transferable shader cache. + Falha ao remover o cache de shaders transferível. + + + + + Error Removing Custom Configuration + Erro ao remover as configurações customizadas do jogo. + + + + A custom configuration for this title does not exist. + Não há uma configuração customizada para este título. + + + + Successfully removed the custom game configuration. + As configurações customizadas do jogo foram removidas com sucesso. + + + + Failed to remove the custom game configuration. + Falha ao remover as configurações customizadas do jogo. + + + + RomFS Extraction Failed! + Falha ao extrair RomFS! + + + + There was an error copying the RomFS files or the user cancelled the operation. + Houve um erro ao copiar os arquivos RomFS ou o usuário cancelou a operação. + + + + Full + Extração completa + + + + Skeleton + Apenas estrutura + + + + Select RomFS Dump Mode + Selecione o modo de extração do RomFS + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + Selecione a forma como você gostaria que o RomFS seja extraído.<br>"Extração completa" copiará todos os arquivos para a nova pasta, enquanto que <br>"Apenas estrutura" criará apenas a estrutura de pastas. + + + + Extracting RomFS... + Extraindo RomFS... + + + + + Cancel + Cancelar + + + + RomFS Extraction Succeeded! + Extração do RomFS concluida! + + + + The operation completed successfully. + A operação foi concluída com sucesso. + + + + Error Opening %1 + Erro ao abrir %1 + + + + Select Directory + Selecionar pasta + + + + Properties + Propriedades + + + + The game properties could not be loaded. + As propriedades do jogo não puderam ser carregadas. + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Executável do Switch (%1);;Todos os arquivos (*.*) + + + + Load File + Carregar arquivo + + + + Open Extracted ROM Directory + Abrir pasta da ROM extraída + + + + Invalid Directory Selected + Pasta inválida selecionada + + + + The directory you have selected does not contain a 'main' file. + A pasta que você selecionou não contém um arquivo 'main'. + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + Arquivo de Switch instalável (*.nca *.nsp *.xci);; Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + + + + Install Files + Instalar arquivos + + + + Installing file "%1"... + Instalando arquivo "%1"... + + + + Install Results + Resultados da instalação + + + + System Application + Aplicativo do sistema + + + + System Archive + Arquivo do sistema + + + + System Application Update + Atualização de aplicativo do sistema + + + + Firmware Package (Type A) + Pacote de firmware (tipo A) + + + + Firmware Package (Type B) + Pacote de firmware (tipo B) + + + + Game + Jogo + + + + Game Update + Atualização de jogo + + + + Game DLC + DLC de jogo + + + + Delta Title + Título delta + + + + Select NCA Install Type... + Selecione o tipo de instalação do NCA... + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + Selecione o tipo de título como o qual você gostaria de instalar este NCA: +(Na maioria dos casos, o padrão 'Jogo' serve bem.) + + + + Failed to Install + Falha ao instalar + + + + The title type you selected for the NCA is invalid. + O tipo de título que você selecionou para o NCA é inválido. + + + + File not found + Arquivo não encontrado + + + + File "%1" not found + Arquivo "%1" não encontrado + + + + + Continue + Continuar + + + + Error Display + Tela de erro + + + + Missing yuzu Account + Conta do yuzu faltando + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + Para enviar um caso de teste de compatibilidade de jogo, você precisa entrar com a sua conta do yuzu.<br><br/>Para isso, vá para Emulação &gt; Configurar... &gt; Rede. + + + + Error opening URL + Erro ao abrir URL + + + + Unable to open the URL "%1". + Não foi possível abrir o URL "%1". + + + + Amiibo File (%1);; All Files (*.*) + Arquivo Amiibo (%1);; Todos os arquivos (*.*) + + + + Load Amiibo + Carregar Amiibo + + + + Error opening Amiibo data file + Erro ao abrir arquivo de dados do Amiibo + + + + Unable to open Amiibo file "%1" for reading. + Não foi possível abrir o arquivo de Amiibo "%1" para leitura. + + + + Error reading Amiibo data file + Erro ao ler arquivo de dados de Amiibo + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + Não foi possível ler completamente os dados do Amiibo. O yuzu esperava ler %1 bytes, mas foi capaz de ler apenas %2 bytes. + + + + Error loading Amiibo data + Erro ao carregar dados do Amiibo + + + + Unable to load Amiibo data. + Não foi possível carregar os dados do Amiibo. + + + + Capture Screenshot + Capturar tela + + + + PNG Image (*.png) + Imagem PNG (*.png) + + + + Speed: %1% / %2% + Velocidade: %1% / %2% + + + + Speed: %1% + Velocidade: %1% + + + + Game: %1 FPS + Jogo: %1 FPS + + + + Frame: %1 ms + Quadro: %1 ms + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + O jogo que você está tentando carregar precisa que arquivos adicionais do seu Switch sejam extraídos antes de jogá-lo.<br/><br/>Para saber mais sobre como extrair esses arquivos, visite a seguinte página da wiki: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Extraindo arquivos de sistema e fontes compartilhadas de um Switch</a>.<br/><br/> Gostaria de voltar para a lista de jogos? Continuar com a emulação pode resultar em travamentos, dados salvos corrompidos ou outros problemas. + + + + yuzu was unable to locate a Switch system archive. %1 + O yuzu não foi capaz de encontrar um arquivo de sistema do Switch. %1 + + + + yuzu was unable to locate a Switch system archive: %1. %2 + O yuzu não foi capaz de encontrar um arquivo de sistema do Switch. %1. %2 + + + + System Archive Not Found + Arquivo do sistema não encontrado + + + + System Archive Missing + Arquivo de sistema faltando + + + + yuzu was unable to locate the Switch shared fonts. %1 + O yuzu não foi capaz de encontrar as fontes compartilhadas do Switch. %1 + + + + Shared Fonts Not Found + Fontes compartilhadas não encontradas + + + + Shared Font Missing + Fonte compartilhada faltando + + + + Fatal Error + Erro fatal + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + O yuzu encontrou um erro fatal. Consulte o registro para mais detalhes. Para mais informações sobre como acessar o registro, consulte a seguinte página: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Como enviar o arquivo de registro</a>.<br/><br/>Gostaria de voltar para a lista de jogos? Continuar com a emulação pode resultar em travamentos, dados salvos corrompidos ou outros problemas. + + + + Fatal Error encountered + Erro fatal encontrado + + + + Confirm Key Rederivation + Confirmar rederivação de chave + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + Você está prestes a rederivar todas as suas chaves forçadamente. +Se você não sabe o que isso significa ou o que você está fazendo, +esta é uma ação potencialmente destrutiva. +Por favor, confirme que você quer mesmo fazer isto +e opcionalmente faça cópias de segurança. + +Isto excluirá o seus arquivos de chaves geradas automaticamente, e reexecutar o módulo de derivação de chaves. + + + + Missing fuses + Faltando fusíveis + + + + - Missing BOOT0 + - Faltando BOOT0 + + + + - Missing BCPKG2-1-Normal-Main + - Faltando BCPKG2-1-Normal-Main + + + + - Missing PRODINFO + - Faltando PRODINFO + + + + Derivation Components Missing + Faltando componentes de derivação + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + Há componentes faltando que podem impedir a conclusão do processo de derivação de chaves. <br>Por favor, siga <a href='https://yuzu-emu.org/help/quickstart/'>o guia de iniciação rápida</a> para obter todas as suas chaves e jogos. <br><br><small>(%1)</small> + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + Derivando chaves... +Isto pode demorar até um minuto, dependendo +do desempenho do seu sistema. + + + + Deriving Keys + Derivando chaves + + + + Select RomFS Dump Target + Selecionar alvo de extração do RomFS + + + + Please select which RomFS you would like to dump. + Selecione qual RomFS você quer extrair. + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + Você deseja mesmo fechar o yuzu? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + Deseja mesmo parar a emulação? Qualquer progresso não salvo será perdido. + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + O aplicativo rodando no momento solicitou ao yuzu para não sair. + +Deseja ignorar isso e sair mesmo assim? + + + + GRenderWindow + + + OpenGL not available! + OpenGL não disponível! + + + + yuzu has not been compiled with OpenGL support. + O yuzu não foi compilado com suporte para OpenGL. + + + + Vulkan not available! + Vulkan não disponível! + + + + yuzu has not been compiled with Vulkan support. + O yuzu não foi compilado com suporte para Vulkan. + + + + Error while initializing OpenGL 4.3! + Erro ao inicializar OpenGL 4.3! + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + Sua GPU pode não suportar OpenGL 4.3, ou você não tem os drivers gráficos mais recentes. + + + + Error while initializing OpenGL! + Erro ao inicializar o OpenGL! + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + Sua GPU pode não suportar uma ou mais extensões necessárias do OpenGL. Por favor, verifique se você possui a última versão dos drivers gráficos.<br><br>Extensões não supportadas:<br> + + + + GameList + + + + Name + Nome + + + + + Compatibility + Compatibilidade + + + + + Add-ons + Adicionais + + + + + + + File type + Tipo de arquivo + + + + + + + Size + Tamanho + + + + Open Save Data Location + Abrir local dos jogos salvos + + + + Open Mod Data Location + Abrir local dos dados de mods + + + + Open Transferable Shader Cache + Abrir cache de shaders transferível + + + + Remove + Remover + + + + Remove Installed Update + Remover atualização instalada + + + + Remove All Installed DLC + Remover todos os DLCs instalados + + + + Remove Shader Cache + Remover cache de shaders + + + + Remove Custom Configuration + Remover configuração customizada + + + + Remove All Installed Contents + Remover todo o conteúdo instalado + + + + Dump RomFS + Extrair RomFS + + + + Copy Title ID to Clipboard + Copiar ID do título para a área de transferência + + + + Navigate to GameDB entry + Abrir artigo do jogo no GameDB + + + + Properties + Propriedades + + + + Scan Subfolders + Examinar subpastas + + + + Remove Game Directory + Remover pasta de jogo + + + + ▲ Move Up + ▲ Mover para cima + + + + ▼ Move Down + ▼ Mover para baixo + + + + Open Directory Location + Abrir local da pasta + + + + GameListItemCompat + + + Perfect + Perfeito + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + O jogo funciona impecavelmente, sem falhas gráficas ou de áudio. Todas as funcionalidades testadas +do jogo funcionam como deveriam, sem nenhuma solução alternativa necessária. + + + + Great + Ótimo + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + O jogo funciona com leves falhas gráficas ou de áudio e é jogável do início ao fim. Pode exigir +algumas soluções alternativas. + + + + Okay + Razoável + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + O jogo funciona com graves falhas gráficas ou de áudio, mas é jogável do início ao fim +com o uso de soluções alternativas. + + + + Bad + Ruim + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + O jogo funciona, só que com problemas significativos nos gráficos ou no áudio. Não é possível progredir em áreas +específicas por conta de tais problemas, mesmo com soluções alternativas. + + + + Intro/Menu + Intro/menu + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + É impossível jogar o jogo devido a grandes problemas nos gráficos ou no áudio. Não é possível passar da +tela inicial do jogo. + + + + Won't Boot + Não inicia + + + + The game crashes when attempting to startup. + O jogo trava ou se encerra abruptamente ao se tentar iniciá-lo. + + + + Not Tested + Não testado + + + + The game has not yet been tested. + Esse jogo ainda não foi testado. + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + Clique duas vezes para adicionar uma pasta à lista de jogos + + + + GameListSearchField + + + Filter: + Filtro: + + + + Enter pattern to filter + Digite o padrão para filtrar + + + + InstallDialog + + + Please confirm these are the files you wish to install. + Por favor, confirme que esses são os arquivos que deseja instalar. + + + + Installing an Update or DLC will overwrite the previously installed one. + Instalar uma atualização ou DLC irá sobrescrever a instalada anteriormente. + + + + Install + Instalar + + + + Install Files to NAND + Instalar arquivos para a NAND + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + Carregando shaders 387/1628 + + + + Loading Shaders %v out of %m + Carregando shaders (%v de %m) + + + + Estimated Time 5m 4s + Tempo estimado 5m 4s + + + + Loading... + Carregando... + + + + Loading Shaders %1 / %2 + Carregando shaders %1/%2 + + + + Launching... + Iniciando... + + + + Estimated Time %1 + Tempo estimado %1 + + + + MainWindow + + + yuzu + yuzu + + + + &File + &Arquivo + + + + Recent Files + Arquivos recentes + + + + &Emulation + &Emulação + + + + &View + &Exibir + + + + Debugging + Depuração + + + + Tools + Ferramentas + + + + &Help + &Ajuda + + + + Install Files to NAND... + Instalar arquivos para a NAND... + + + + Load File... + Carregar arquivo... + + + + Load Folder... + Carregar pasta... + + + + E&xit + S&air + + + + &Start + &Iniciar + + + + &Pause + &Pausar + + + + &Stop + &Parar + + + + Reinitialize keys... + Reinicializar chaves... + + + + About yuzu + Sobre o yuzu + + + + Single Window Mode + Modo de janela única + + + + Configure... + Configurar... + + + + Display Dock Widget Headers + Exibir barra de títulos de widgets afixados + + + + Show Filter Bar + Exibir barra de filtro + + + + Show Status Bar + Exibir barra de status + + + + Reset Window Size + Restaurar tamanho padrão de janela + + + + Fullscreen + Tela cheia + + + + Restart + Reiniciar + + + + Load Amiibo... + Carregar Amiibo... + + + + Report Compatibility + Informar compatibilidade + + + + Open Mods Page + Abrir pagina de mods + + + + Open Quickstart Guide + Abrir o guia de iniciação rápida + + + + FAQ + FAQ + + + + Open yuzu Folder + Abrir pasta do yuzu + + + + Capture Screenshot + Capturar tela + + + + Configure Current Game.. + Configurar jogo atual.. + + + + MicroProfileDialog + + + MicroProfile + MicroProfile + + + + QObject + + + Installed SD Titles + Títulos instalados no SD + + + + Installed NAND Titles + Títulos instalados na NAND + + + + System Titles + Títulos do sistema + + + + Add New Game Directory + Adicionar pasta de jogos + + + + + + Shift + Shift + + + + + + Ctrl + Ctrl + + + + + + Alt + Alt + + + + + + + [not set] + [não definido] + + + + + + Hat %1 %2 + Hat %1 %2 + + + + + + Axis %1%2 + Eixo %1%2 + + + + + + Button %1 + Botão %1 + + + + + + + [unknown] + [desconhecido] + + + + + Click 0 + Clique 0 + + + + + Click 1 + Clique 1 + + + + + Click 2 + Clique 2 + + + + + Click 3 + Clique 3 + + + + + Click 4 + Clique 4 + + + + GC Axis %1%2 + Eixo GC %1%2 + + + + GC Button %1 + Botão GC %1 + + + + + [unused] + [não utilizado] + + + + + Axis %1 + Eixo %1 + + + + + GC Axis %1 + Eixo GC %1 + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + Ocorreu um erro. +Tente novamente ou entre em contato com o desenvolvedor do software. + +Código de erro: %1-%2 (0x%3) + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + Ocorreu um erro em %1 em %2. +Tente novamente ou entre em contato com o desenvolvedor do software. + +Código de erro: %3-%4 (0x%5) + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + Ocorreu um erro. +Código do erro: %1-%2 (0x%3) + +%4 + +%5 + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + Selecione um usuário: + + + + Users + Usuários + + + + Profile Selector + Seletor de perfil + + + + QtSoftwareKeyboardDialog + + + Enter text: + Digite o texto: + + + + Software Keyboard + Teclado de software + + + + SequenceDialog + + + Enter a hotkey + Digite uma combinação de teclas + + + + WaitTreeCallstack + + + Call stack + Pilha de chamadas + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + esperando pelo mutex 0x%1 + + + + has waiters: %1 + possui os waiters %1 + + + + owner handle: 0x%1 + manejo de proprietário: 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + esperando por todos os objetos + + + + waiting for one of the following objects + esperando por um dos seguintes objetos + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + [%1]%2 %3 + + + + waited by no thread + não aguardando pelo thread + + + + WaitTreeThread + + + + running + rodando + + + + ready + pronto + + + + + paused + pausado + + + + waiting for HLE return + esperando pelo retorno do HLE + + + + sleeping + dormindo + + + + waiting for IPC reply + esperando para resposta do IPC + + + + waiting for objects + esperando por objetos + + + + waiting for mutex + esperando por mutex + + + + waiting for condition variable + aguardando por variável da condição + + + + waiting for address arbiter + esperando para endereção o árbitro + + + + dormant + inativo + + + + dead + morto + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + ideal + + + + core %1 + núcleo %1 + + + + Unknown processor %1 + Processador desconhecido %1 + + + + processor = %1 + processador = %1 + + + + ideal core = %1 + núcleo ideal = %1 + + + + affinity mask = %1 + máscara de afinidade = %1 + + + + thread id = %1 + thread id = %1 + + + + priority = %1(current) / %2(normal) + prioridade = %1(atual) / %2(normal) + + + + last running ticks = %1 + últimos ticks executados = %1 + + + + not waiting for mutex + não aguardando para mutex + + + + WaitTreeThreadList + + + waited by thread + aguardado pelo thread + + + + WaitTreeWidget + + + Wait Tree + Árvore de espera + + + \ No newline at end of file diff --git a/dist/languages/pt_PT.ts b/dist/languages/pt_PT.ts new file mode 100644 index 000000000..5ba0bcf3b --- /dev/null +++ b/dist/languages/pt_PT.ts @@ -0,0 +1,4725 @@ + + + AboutDialog + + + About yuzu + Sobre Yuzu + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu é um emulador experimental de código aberto para a Nintendo Switch licenciado sob GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">Este software não deve ser usado para jogar jogos que você não tenha obtido legalmente.</span></p><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"></html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Site</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Código Fonte</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contribuidores</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Licença</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; é uma marca comercial da Nintendo. Yuzu não é afiliado com a Nintendo de qualquer forma.</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + + + + + Cancel + + + + + Touch the top left corner <br>of your touchpad. + + + + + Now touch the bottom right corner <br>of your touchpad. + + + + + Configuration completed! + + + + + OK + + + + + CompatDB + + + Report Compatibility + Reportar Compatibilidade + + + + + Report Game Compatibility + Reportar compatibilidade de jogos + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">Se você optar por enviar um caso de teste para a</span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">lista de compatibilidade do yuzu</span></a><span style=" font-size:10pt;">As seguintes informações serão coletadas e exibidas no site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações de Hardware (CPU / GPU / Sistema operativo)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Que versão do yuzu você está executando</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">A conta yuzu conectada</li></ul></body></html> + + + + Perfect + Perfeito + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>Jogo funciona na perfeição sem falhas de áudio ou gráficas.</p></body></html> + + + + Great + Ótimo + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>O jogo funciona com pequenas falhas gráficas ou de áudio e pode ser jogado do início ao fim. Pode exigir algumas soluções alternativas.</p></body></html> + + + + Okay + OK + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>O jogo funciona com grandes falhas gráficas ou de áudio, mas o jogo é jogável do início ao fim com soluções alternativas.</p></body></html> + + + + Bad + Mau + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>O jogo funciona, mas com grandes falhas gráficas ou de áudio. Não é possível progredir em áreas específicas devido a falhas, mesmo com soluções alternativas.</p></body></html> + + + + Intro/Menu + Introdução / Menu + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>O jogo não é jogável devido a grandes falhas gráficas ou de áudio. Não é possível passar da tela inicial.</p></body></html> + + + + Won't Boot + Não Inicia + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>O jogo trava ao tentar iniciar.</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <html><head/><body><p>Independente da velocidade ou performance, como este jogo funciona de principio ao fim nesta versão do yuzu?</p></body></html> + + + + Thank you for your submission! + Obrigado pelo seu envio! + + + + Submitting + Entregando + + + + Communication error + Erro de comunicação + + + + An error occured while sending the Testcase + Ocorreu um erro enquanto enviava o caso de teste + + + + Next + Próximo + + + + ConfigureAudio + + + Audio + Audio + + + + Output Engine: + Motor de Saída: + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + Este efeito de pós-processamento ajusta a velocidade do áudio para corresponder à velocidade de emulação e ajuda a evitar o engasgue do audio. Isto, no entanto, aumenta a latência de áudio. + + + + Enable audio stretching + Activar alongamento de audio + + + + Audio Device: + Dispositivo de áudio: + + + + Use global volume + + + + + Set volume: + + + + + Volume: + Volume: + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + + + + + General + + + + + Accuracy: + + + + + Accurate + + + + + Unsafe + + + + + Enable Debug Mode + + + + + We recommend setting accuracy to "Accurate". + + + + + Unsafe CPU Optimization Settings + + + + + These settings reduce accuracy for speed. + + + + + Unfuse FMA (improve performance on CPUs without FMA) + + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + + + + + Faster FRSQRTE and FRECPE + + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + + + + + CPU settings are available only when game is not running. + + + + + Setting CPU to Debug Mode + + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + + + + + ConfigureCpuDebug + + + Form + + + + + Toggle CPU Optimizations + + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + + + + + Enable inline page tables + + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + + + + Enable block linking + + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + + + + Enable return stack buffer + + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + + + + Enable fast dispatcher + + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + + + + Enable context elimination + + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + + + + Enable constant propagation + + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + + + + Enable miscellaneous optimizations + + + + + + <div>Enables miscellaneous IR optimizations.</div> + + + + + + Enable misalignment check reduction + + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + + + + CPU settings are available only when game is not running. + + + + + ConfigureDebug + + + Form + Formato + + + + GDB + GDB + + + + Enable GDB Stub + Activar GDB Stub + + + + Port: + Porta: + + + + Logging + Entrando + + + + Global Log Filter + Filtro de registro global + + + + Show Log Console (Windows Only) + Mostrar o registro da consola (Apenas Windows) + + + + Open Log Location + Abrir a localização do registro + + + + Homebrew + Homebrew + + + + Arguments String + Argumentos String + + + + Graphics + + + + + When checked, the graphics API enters in a slower debugging mode + + + + + Enable Graphics Debugging + + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + + + + + Disable Macro JIT + + + + + Dump + + + + + Enable Verbose Reporting Services + Ativar o Reporte de Serviços detalhado + + + + This will be reset automatically when yuzu closes. + Isto vai ser resetado automáticamente quando o yuzu fechar. + + + + Advanced + Avançado + + + + Kiosk (Quest) Mode + Modo Quiosque + + + + ConfigureDebugController + + + Configure Debug Controller + + + + + Clear + + + + + Defaults + + + + + ConfigureDialog + + + yuzu Configuration + Configuração yuzu + + + + + + + General + Geral + + + + + UI + IU + + + + Game List + Lista de Jogos + + + + + + + System + Sistema + + + + + + Profiles + Perfis + + + + + + Filesystem + Sistema de Ficheiros + + + + + + + Controls + Controlos + + + + + + Hotkeys + Teclas de Atalhos + + + + + + + CPU + + + + + + + + + + Debug + Depurar + + + + + + + Graphics + Gráficos + + + + + Advanced + + + + + GraphicsAdvanced + + + + + + + + Audio + Audio + + + + + + Web + Rede + + + + + + Services + Serviços + + + + ConfigureFilesystem + + + Form + Formato + + + + Storage Directories + Diretórios de armazenamento + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + Cartão SD + + + + Gamecard + Cartão de jogo + + + + Path + Caminho + + + + Inserted + Inserido + + + + Current Game + Jogo Atual + + + + Patch Manager + Gestor de Patch + + + + Dump Decompressed NSOs + Dump NSOs Descompactados + + + + Dump ExeFS + Dump ExeFS + + + + Mod Load Root + Raiz dos Mods + + + + Dump Root + Raiz do Dump + + + + Caching + Armazenamento em cache + + + + Cache Directory + Diretório do cache + + + + Cache Game List Metadata + Metadata da Lista de Jogos em Cache + + + + + + + Reset Metadata Cache + Resetar a Cache da Metadata + + + + Select Emulated NAND Directory... + Selecione o Diretório NAND Emulado... + + + + Select Emulated SD Directory... + Selecione o Diretório SD Emulado... + + + + Select Gamecard Path... + Selecione o Diretório do Cartão de Jogo... + + + + Select Dump Directory... + Selecionar o diretório do Dump... + + + + Select Mod Load Directory... + Selecionar o Diretório do Mod Load ... + + + + Select Cache Directory... + Selecionar o diretório do Cache + + + + The metadata cache is already empty. + O cache de metadata já está vazio. + + + + The operation completed successfully. + A operação foi completa com sucesso. + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + Não foi possível excluir o cache de metadata. Pode estar em uso ou inexistente. + + + + ConfigureGeneral + + + Form + Formato + + + + General + Geral + + + + Limit Speed Percent + Percentagem do limitador de velocidade + + + + % + % + + + + Multicore CPU Emulation + + + + + Confirm exit while emulation is running + Confirme a saída enquanto a emulação está em execução + + + + Prompt for user on game boot + Solicitar para o utilizador na inicialização do jogo + + + + Pause emulation when in background + Pausar o emulador quando estiver em segundo plano + + + + Hide mouse on inactivity + + + + + ConfigureGraphics + + + Form + Formato + + + + API Settings + + + + + API: + + + + + Device: + + + + + Graphics Settings + + + + + Use disk shader cache + Usar cache do disk shader + + + + Use asynchronous GPU emulation + Usar emulação assíncrona de GPU + + + + Aspect Ratio: + + + + + Default (16:9) + + + + + Force 4:3 + + + + + Force 21:9 + + + + + Stretch to Window + + + + + + Use global background color + + + + + Set background color: + + + + + Background Color: + Cor de fundo: + + + + OpenGL Graphics Device + + + + + ConfigureGraphicsAdvanced + + + Form + + + + + Advanced Graphics Settings + + + + + Accuracy Level: + + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + + + + + Use VSync (OpenGL only) + + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + + + + + Use asynchronous shader building (experimental) + + + + + Use Fast GPU Time + + + + + Anisotropic Filtering: + + + + + Default + + + + + 2x + + + + + 4x + + + + + 8x + + + + + 16x + + + + + ConfigureHotkeys + + + Hotkey Settings + Definições de Teclas de Atalho + + + + Double-click on a binding to change it. + Clique duas vezes numa ligação para alterá-la. + + + + Clear All + + + + + Restore Defaults + + + + + Action + Ação + + + + Hotkey + Tecla de Atalho + + + + Context + Contexto + + + + + Conflicting Key Sequence + Sequência de teclas em conflito + + + + The entered key sequence is already assigned to: %1 + + + + + Restore Default + + + + + Clear + + + + + The default key sequence is already assigned to: %1 + + + + + ConfigureInput + + + ConfigureInput + + + + + + Player 1 + Jogador 1 + + + + + Player 2 + Jogador 2 + + + + + Player 3 + Jogador 3 + + + + + Player 4 + Jogador 4 + + + + + Player 5 + Jogador 5 + + + + + Player 6 + Jogador 6 + + + + + Player 7 + Jogador 7 + + + + + Player 8 + Jogador 8 + + + + + Advanced + Avançado + + + + Console Mode + + + + + Docked + + + + + Undocked + + + + + Vibration + + + + + % + + + + + Motion + + + + + Configure + Configurar + + + + Controllers + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + Connected + + + + + Defaults + + + + + Clear + + + + + ConfigureInputAdvanced + + + Configure Input + + + + + Joycon Colors + + + + + Player 1 + + + + + + + + + + + + L Body + + + + + + + + + + + + L Button + + + + + + + + + + + + R Body + + + + + + + + + + + + R Button + + + + + Player 2 + + + + + Player 3 + + + + + Player 4 + + + + + Player 5 + + + + + Player 6 + + + + + Player 7 + + + + + Player 8 + + + + + Other + + + + + Keyboard + + + + + + Advanced + + + + + Touchscreen + + + + + Mouse + + + + + Motion / Touch + + + + + + Configure + + + + + Debug Controller + + + + + ConfigureInputPlayer + + + Configure Input + Configurar Entrada + + + + Connect Controller + + + + + + + Pro Controller + + + + + + Dual Joycons + + + + + + Left Joycon + + + + + + Right Joycon + + + + + + Handheld + + + + + Input Device + + + + + Any + + + + + Keyboard/Mouse + + + + + Profile + + + + + Save + + + + + New + + + + + Delete + + + + + Left Stick + Analógico Esquerdo + + + + + + + + + Up + + + + + + + + + + Left + + + + + + + + + + Right + + + + + + + + + + Down + + + + + + + + Pressed + + + + + + + + Modifier + + + + + + Range + + + + + + % + + + + + + Deadzone: 0% + + + + + + Modifier Range: 0% + + + + + D-Pad + + + + + + L + + + + + + ZL + + + + + + Minus + + + + + + Capture + + + + + + Plus + + + + + + Home + + + + + + R + + + + + + ZR + + + + + + SL + + + + + + SR + + + + + Face Buttons + Botôes de Rosto + + + + + X + + + + + + Y + + + + + + A + + + + + + B + + + + + Right Stick + Analógico Direito + + + + + Deadzone: %1% + + + + + + Modifier Range: %1% + + + + + [waiting] + + + + + ConfigureMotionTouch + + + Configure Motion / Touch + + + + + Motion + + + + + Motion Provider: + + + + + Sensitivity: + + + + + Touch + + + + + Touch Provider: + + + + + Calibration: + + + + + (100, 50) - (1800, 850) + + + + + + + Configure + + + + + Use button mapping: + + + + + CemuhookUDP Config + + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + + + + + Server: + + + + + Port: + + + + + Pad: + + + + + Pad 1 + + + + + Pad 2 + + + + + Pad 3 + + + + + Pad 4 + + + + + Learn More + + + + + + Test + + + + + Mouse (Right Click) + + + + + + CemuhookUDP + + + + + Emulator Window + + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + + + + + Testing + + + + + Configuring + + + + + Test Successful + + + + + Successfully received data from the server. + + + + + Test Failed + + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + + + + + Citra + + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + + + + + ConfigureMouseAdvanced + + + Configure Mouse + Configurar Rato + + + + Mouse Buttons + Botões do Rato + + + + Forward: + Frente: + + + + Back: + Atrás: + + + + Left: + Esquerda: + + + + Middle: + Meio: + + + + Right: + Direita: + + + + + Clear + Limpar + + + + Defaults + + + + + [not set] + [não configurado] + + + + Restore Default + Restaurar Padrões + + + + [press key] + [pressiona a tecla] + + + + ConfigurePerGame + + + Dialog + + + + + Info + + + + + Name + + + + + Title ID + + + + + Filename + + + + + Format + + + + + Version + + + + + Size + + + + + Developer + + + + + Add-Ons + + + + + General + + + + + System + + + + + Graphics + + + + + Adv. Graphics + + + + + Audio + + + + + Properties + + + + + Use global configuration (%1) + + + + + ConfigurePerGameAddons + + + Form + + + + + Patch Name + + + + + Version + + + + + ConfigureProfileManager + + + Form + Formato + + + + Profile Manager + Gestor de Perfis + + + + Current User + Utilizador Atual + + + + Username + Nome de Utilizador + + + + Set Image + Definir Imagem + + + + Add + Adicionar + + + + Rename + Renomear + + + + Remove + Remover + + + + Profile management is available only when game is not running. + O gestor de perfis só está disponível apenas quando o jogo não está em execução. + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Enter Username + Introduza o Nome de Utilizador + + + + Users + Utilizadores + + + + Enter a username for the new user: + Introduza um nome de utilizador para o novo utilizador: + + + + Enter a new username: + Introduza um novo nome de utilizador: + + + + Confirm Delete + Confirmar para eliminar + + + + You are about to delete user with name "%1". Are you sure? + Estás preste a eliminar o utilizador com o nome "%1". Tens a certeza? + + + + Select User Image + Definir Imagem de utilizador + + + + JPEG Images (*.jpg *.jpeg) + Imagens JPEG (*.jpg *.jpeg) + + + + Error deleting image + Error ao eliminar a imagem + + + + Error occurred attempting to overwrite previous image at: %1. + Ocorreu um erro ao tentar substituir imagem anterior em: %1. + + + + Error deleting file + Erro ao eliminar o arquivo + + + + Unable to delete existing file: %1. + Não é possível eliminar o arquivo existente: %1. + + + + Error creating user image directory + Erro ao criar o diretório de imagens do utilizador + + + + Unable to create directory %1 for storing user images. + Não é possível criar o diretório %1 para armazenar imagens do utilizador. + + + + Error copying user image + Erro ao copiar a imagem do utilizador + + + + Unable to copy image from %1 to %2 + Não é possível copiar a imagem de %1 para %2 + + + + ConfigureService + + + Form + Formato + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + O BCAT é a forma pela qual a Nintendo envia dados aos jogos para envolver a sua comunidade e desbloquear conteúdos adicionais. + + + + BCAT Backend + BCAT Backend + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Saiba mais sobre o BCAT, Boxcat e eventos atuais</span></a></p></body></html> + + + + The boxcat service is offline or you are not connected to the internet. + O serviço boxcat está offline ou não estás ligado à Internet. + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + Ocorreu um erro ao processar os dados do evento boxcat. Entre em contato com os desenvolvedores do yuzu. + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + A versão em uso do yuzu é muito nova ou muito antiga para o servidor. Tente atualizar para a ultima versão oficial do yuzu. + + + + + There are currently no events on boxcat. + De momento, não há eventos no boxcat. + + + + + Current Boxcat Events + + + + + Yuzu is retrieving the latest boxcat status... + Yuzu está a atualizar o boxcat ... + + + + ConfigureSystem + + + Form + Formato + + + + System Settings + Configurações de Sistema + + + + Region: + + + + + Auto + + + + + Default + + + + + CET + + + + + CST6CDT + + + + + Cuba + + + + + EET + + + + + Egypt + + + + + Eire + + + + + EST + + + + + EST5EDT + + + + + GB + + + + + GB-Eire + + + + + GMT + + + + + GMT+0 + + + + + GMT-0 + + + + + GMT0 + + + + + Greenwich + + + + + Hongkong + + + + + HST + + + + + Iceland + + + + + Iran + + + + + Israel + + + + + Jamaica + + + + + + Japan + + + + + Kwajalein + + + + + Libya + + + + + MET + + + + + MST + + + + + MST7MDT + + + + + Navajo + + + + + NZ + + + + + NZ-CHAT + + + + + Poland + + + + + Portugal + + + + + PRC + + + + + PST8PDT + + + + + ROC + + + + + ROK + + + + + Singapore + + + + + Turkey + + + + + UCT + + + + + Universal + + + + + UTC + + + + + W-SU + + + + + WET + + + + + Zulu + + + + + USA + + + + + Europe + + + + + Australia + + + + + China + + + + + Korea + + + + + Taiwan + + + + + Time Zone: + + + + + Note: this can be overridden when region setting is auto-select + Nota: isto pode ser substituído quando a configuração da região é de seleção automática + + + + Japanese (日本語) + Japonês (日本語) + + + + English + Inglês + + + + French (français) + Francês (français) + + + + German (Deutsch) + Alemão (Deutsch) + + + + Italian (italiano) + Italiano (italiano) + + + + Spanish (español) + Espanhol (español) + + + + Chinese + Chinês + + + + Korean (한국어) + Coreano (한국어) + + + + Dutch (Nederlands) + Holandês (Nederlands) + + + + Portuguese (português) + Português (português) + + + + Russian (Русский) + Russo (Русский) + + + + Taiwanese + Taiwanês + + + + British English + Inglês Britânico + + + + Canadian French + Francês Canadense + + + + Latin American Spanish + Espanhol Latino-Americano + + + + Simplified Chinese + Chinês Simplificado + + + + Traditional Chinese (正體中文) + Chinês Tradicional (正 體 中文) + + + + Custom RTC + RTC personalizado + + + + Language + Língua + + + + RNG Seed + Semente de RNG + + + + Mono + Mono + + + + Stereo + Estéreo + + + + Surround + Surround + + + + Console ID: + ID da consola: + + + + Sound output mode + Modo de saída de som + + + + d MMM yyyy h:mm:ss AP + d MMM yyyy h:mm:ss AP + + + + Regenerate + Regenerar + + + + System settings are available only when game is not running. + As configurações do sistema estão disponíveis apenas quando o jogo não está em execução. + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + Isto substituirá o seu Switch virtual actual por um novo. Seu Switch virtual actual não será recuperável. Isso pode ter efeitos inesperados nos jogos. Isto pode falhar, se você usar uma gravação de jogo de configuração desatualizado. Continuar? + + + + Warning + Aviso + + + + Console ID: 0x%1 + ID da Consola: 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + + + + + Mapping: + + + + + New + + + + + Delete + + + + + Rename + + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + + + + + Delete Point + + + + + Button + + + + + X + X axis + + + + + Y + Y axis + + + + + New Profile + + + + + Enter the name for the new profile. + + + + + Delete Profile + + + + + Delete profile %1? + + + + + Rename Profile + + + + + New name: + + + + + [press key] + + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + Configurar Ecrã Táctil + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + Aviso: As configurações nesta página afectam o funcionamento interno da tela de toque emulada do yuzu. Alterá-los pode resultar em um comportamento indesejável, como a tela de toque não funcionando parcialmente ou até mesmo na sua totatildade. Você só deve usar esta página se souber o que está fazendo. + + + + Touch Parameters + Parâmetros de Toque + + + + Touch Diameter Y + Diâmetro de Toque Y + + + + Finger + Dedo + + + + Touch Diameter X + Diâmetro de Toque X + + + + Rotational Angle + Ângulo rotacional + + + + Restore Defaults + Restaurar Padrões + + + + ConfigureUi + + + Form + Formato + + + + General + Geral + + + + Note: Changing language will apply your configuration. + Nota: Alterar o idioma aplicará sua configuração. + + + + Interface language: + Idioma da interface: + + + + Theme: + Tema: + + + + Game List + Lista de Jogos + + + + Show Add-Ons Column + Mostrar coluna de Add-Ons + + + + Icon Size: + Tamanho do ícone: + + + + Row 1 Text: + Linha 1 Texto: + + + + Row 2 Text: + Linha 2 Texto: + + + + Screenshots + + + + + Ask Where To Save Screenshots (Windows Only) + + + + + Screenshots Path: + + + + + ... + + + + + Select Screenshots Path... + + + + + <System> + <System> + + + + English + Inglês + + + + ConfigureWeb + + + Form + Formato + + + + yuzu Web Service + Serviço Web do Yuzu + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + Ao fornecer seu nome de usuário e token, você concorda em permitir que o yuzu colete dados de uso adicionais, que podem incluir informações de identificação do usuário. + + + + + Verify + Verificar + + + + Sign up + Inscrever-se + + + + Token: + Token: + + + + Username: + Nome de usuário: + + + + What is my token? + O que é o meu token? + + + + Telemetry + Telemetria + + + + Share anonymous usage data with the yuzu team + Compartilhar dados de uso anônimos com a equipa Yuzu + + + + Learn more + Saber mais + + + + Telemetry ID: + ID de Telemetria: + + + + Regenerate + Regenerar + + + + Discord Presence + Presença do Discord + + + + Show Current Game in your Discord Status + Mostrar o Jogo Atual no seu Estado de Discord + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Saber mais</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Inscrever-se</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">O que é o meu Token?</span></a> + + + + + Telemetry ID: 0x%1 + ID de Telemetria: 0x%1 + + + + + Unspecified + Não especificado + + + + Token not verified + Token não verificado + + + + Token was not verified. The change to your token has not been saved. + O token não foi verificado. A alteração do token não foi gravada. + + + + Verifying... + A verificar... + + + + Verification failed + Verificação Falhada + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + Verificação Falhada. Verifique se introduziu seu nome de utilizador e o token correctamente e se a conexão com a Internet está operacional. + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Dados anônimos são coletados</a>para ajudar a melhorar o yuzu.<br/><br/>Gostaria de compartilhar seus dados de uso conosco? + + + + Telemetry + Telemetria + + + + Text Check Failed + Falha na verificação de texto + + + + Loading Web Applet... + A Carregar o Web Applet ... + + + + Exit Web Applet + Sair do Web Applet + + + + Exit + Sair + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + Para sair do aplicativo web, use os controlos fornecidos pelo jogo para selecionar sair, selecione a opção 'Sair do Web Applet' na barra de menus ou pressione a tecla 'Enter'. + + + + Web Applet + Web Applet + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + Esta versão do yuzu foi criada sem o suporte ao QtWebEngine, o que significa que o yuzu não pode exibir corretamente o manual do jogo ou a página da web solicitada. + + + + The amount of shaders currently being built + + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + Velocidade da emulação actual. Valores acima ou abaixo de 100% indicam que a emulação está sendo executada mais depressa ou mais devagar do que a Switch + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + Quantos quadros por segundo o jogo está exibindo de momento. Isto irá variar de jogo para jogo e de cena para cena. + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + Tempo gasto para emular um frame da Switch, sem contar o a limitação de quadros ou o v-sync. Para emulação de velocidade máxima, esta deve ser no máximo 16.67 ms. + + + + DOCK + + + + + ASYNC + + + + + MULTICORE + + + + + VULKAN + + + + + OPENGL + + + + + Clear Recent Files + Limpar Arquivos Recentes + + + + Warning Outdated Game Format + Aviso de Formato de Jogo Desactualizado + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + Você está usando o formato de directório ROM desconstruído para este jogo, que é um formato desactualizado que foi substituído por outros, como NCA, NAX, XCI ou NSP. Os directórios de ROM não construídos não possuem ícones, metadados e suporte de actualização.<br><br>Para uma explicação dos vários formatos de Switch que o yuzu suporta,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>Verifique a nossa Wiki</a>. Esta mensagem não será mostrada novamente. + + + + + Error while loading ROM! + Erro ao carregar o ROM! + + + + The ROM format is not supported. + O formato do ROM não é suportado. + + + + An error occurred initializing the video core. + Ocorreu um erro ao inicializar o núcleo do vídeo. + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + yuzu encontrou um erro ao executar o núcleo de vídeo, consulte o log para obter mais detalhes. Para obter mais informações sobre como acessar o log, consulte a seguinte página:<a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Como carregar o arquivo de log</a>Assegure-se que tem os drivers gráficos mais recentes para sua GPU. + + + + Error while loading ROM! + + + + + An unknown error occurred. Please see the log for more details. + Ocorreu um erro desconhecido. Por favor, veja o log para mais detalhes. + + + + Start + Começar + + + + Save Data + Save Data + + + + Mod Data + Mod Data + + + + Error Opening %1 Folder + Erro ao abrir a pasta %1 + + + + + Folder does not exist! + A Pasta não existe! + + + + Error Opening Transferable Shader Cache + Erro ao abrir os Shader Cache transferíveis + + + + + A shader cache for this title does not exist. + O Shader Cache para este titulo não existe. + + + + Contents + + + + + Update + + + + + DLC + + + + + Remove Entry + + + + + Remove Installed Game %1? + + + + + + + + + Successfully Removed + + + + + Successfully removed the installed base game. + + + + + + + Error Removing %1 + + + + + The base game is not installed in the NAND and cannot be removed. + + + + + Successfully removed the installed update. + + + + + There is no update installed for this title. + + + + + There are no DLC installed for this title. + + + + + Successfully removed %1 installed DLC. + + + + + Delete Transferable Shader Cache? + + + + + Remove Custom Game Configuration? + + + + + Remove File + + + + + + Error Removing Transferable Shader Cache + + + + + Successfully removed the transferable shader cache. + + + + + Failed to remove the transferable shader cache. + + + + + + Error Removing Custom Configuration + + + + + A custom configuration for this title does not exist. + + + + + Successfully removed the custom game configuration. + + + + + Failed to remove the custom game configuration. + + + + + RomFS Extraction Failed! + A Extração de RomFS falhou! + + + + There was an error copying the RomFS files or the user cancelled the operation. + Houve um erro ao copiar os arquivos RomFS ou o usuário cancelou a operação. + + + + Full + Cheio + + + + Skeleton + Esqueleto + + + + Select RomFS Dump Mode + Selecione o modo de despejo do RomFS + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + Por favor, selecione a forma como você gostaria que o RomFS fosse despejado<br>Full irá copiar todos os arquivos para o novo diretório enquanto<br>skeleton criará apenas a estrutura de diretórios. + + + + Extracting RomFS... + Extraindo o RomFS ... + + + + + Cancel + Cancelar + + + + RomFS Extraction Succeeded! + Extração de RomFS Bem-Sucedida! + + + + The operation completed successfully. + A operação foi completa com sucesso. + + + + Error Opening %1 + Erro ao abrir %1 + + + + Select Directory + Selecione o Diretório + + + + Properties + Propriedades + + + + The game properties could not be loaded. + As propriedades do jogo não puderam ser carregadas. + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Executáveis Switch (%1);;Todos os Ficheiros (*.*) + + + + Load File + Carregar Arquivo + + + + Open Extracted ROM Directory + Abrir o directório ROM extraído + + + + Invalid Directory Selected + Diretório inválido selecionado + + + + The directory you have selected does not contain a 'main' file. + O diretório que você selecionou não contém um arquivo 'Main'. + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + + + + + Install Files + + + + + Installing file "%1"... + Instalando arquivo "%1"... + + + + Install Results + + + + + System Application + Aplicação do sistema + + + + System Archive + Arquivo do sistema + + + + System Application Update + Atualização do aplicativo do sistema + + + + Firmware Package (Type A) + Pacote de Firmware (Tipo A) + + + + Firmware Package (Type B) + Pacote de Firmware (Tipo B) + + + + Game + Jogo + + + + Game Update + Actualização do Jogo + + + + Game DLC + DLC do Jogo + + + + Delta Title + Título Delta + + + + Select NCA Install Type... + Selecione o tipo de instalação do NCA ... + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + Por favor, selecione o tipo de título que você gostaria de instalar este NCA como: +(Na maioria dos casos, o padrão 'Jogo' é suficiente). + + + + Failed to Install + Falha na instalação + + + + The title type you selected for the NCA is invalid. + O tipo de título que você selecionou para o NCA é inválido. + + + + File not found + Arquivo não encontrado + + + + File "%1" not found + Arquivo "%1" não encontrado + + + + + Continue + Continuar + + + + Error Display + Visualização de erros + + + + Missing yuzu Account + Conta Yuzu Ausente + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + Para enviar um caso de teste de compatibilidade de jogos, você deve vincular sua conta yuzu.<br><br/>Para vincular sua conta yuzu, vá para Emulação &gt; Configuração &gt; Rede. + + + + Error opening URL + + + + + Unable to open the URL "%1". + + + + + Amiibo File (%1);; All Files (*.*) + Arquivo Amiibo (%1);; Todos os Arquivos (*.*) + + + + Load Amiibo + Carregar Amiibo + + + + Error opening Amiibo data file + Erro ao abrir o arquivo de dados do Amiibo + + + + Unable to open Amiibo file "%1" for reading. + Não é possível abrir o arquivo Amiibo "%1" para leitura. + + + + Error reading Amiibo data file + Erro ao ler o arquivo de dados do Amiibo + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + Não é possível ler completamente os dados do Amiibo. Espera-se que leia %1 bytes, mas só conseguiu ler %2 bytes. + + + + Error loading Amiibo data + Erro ao carregar dados do Amiibo + + + + Unable to load Amiibo data. + Não foi possível carregar os dados do Amiibo. + + + + Capture Screenshot + Captura de Tela + + + + PNG Image (*.png) + Imagem PNG (*.png) + + + + Speed: %1% / %2% + Velocidade: %1% / %2% + + + + Speed: %1% + Velocidade: %1% + + + + Game: %1 FPS + Jogo: %1 FPS + + + + Frame: %1 ms + Quadro: %1 ms + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + O jogo que você está tentando carregar requer arquivos adicionais do seu Switch para serem despejados antes de jogar.<br/><br/>Para obter mais informações sobre como despejar esses arquivos, consulte a seguinte página da wiki:<a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Despejando arquivos do sistema e as fontes compartilhadas de uma consola Switch</a>.<br/><br/>Você gostaria de regressar para a lista de jogos? Continuar a emulação pode resultar em falhas, dados de salvamento corrompidos ou outros erros. + + + + yuzu was unable to locate a Switch system archive. %1 + O yuzu não conseguiu localizar um arquivo de sistema do Switch. % 1 + + + + yuzu was unable to locate a Switch system archive: %1. %2 + O yuzu não conseguiu localizar um arquivo de sistema do Switch: %1. %2 + + + + System Archive Not Found + Arquivo do Sistema Não Encontrado + + + + System Archive Missing + Arquivo de Sistema em falta + + + + yuzu was unable to locate the Switch shared fonts. %1 + yuzu não conseguiu localizar as fontes compartilhadas do Switch. %1 + + + + Shared Fonts Not Found + Fontes compartilhadas não encontradas + + + + Shared Font Missing + Fontes compartilhadas em falta + + + + Fatal Error + Erro fatal + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + yuzu encontrou um erro fatal, por favor veja o registro para mais detalhes. Para mais informações sobre como acessar o registro, por favor, veja a seguinte página:<a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Como carregar o arquivo de registro</a>.<br/><br/>Você gostaria de regressar para a lista de jogos? Continuar a emulação pode resultar em falhas, dados de salvamento corrompidos ou outros erros. + + + + Fatal Error encountered + Ocorreu um Erro fatal + + + + Confirm Key Rederivation + Confirme a rederivação da chave + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + Você está prestes a forçar a rederivação de todas as suas chaves. +Se você não sabe o que isso significa ou o que você está fazendo, +esta é uma acção potencialmente destrutiva. +Por favor, certifique-se que isto é o que você quer +e opcionalmente faça backups. + +Isso irá excluir os seus arquivos de chave gerados automaticamente e executará novamente o módulo de derivação de chave. + + + + Missing fuses + + + + + - Missing BOOT0 + + + + + - Missing BCPKG2-1-Normal-Main + + + + + - Missing PRODINFO + + + + + Derivation Components Missing + + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + Derivando chaves ... +Isto pode demorar até um minuto, dependendo +do desempenho do seu sistema. + + + + Deriving Keys + Derivando Chaves + + + + Select RomFS Dump Target + Selecione o destino de despejo do RomFS + + + + Please select which RomFS you would like to dump. + Por favor, selecione qual o RomFS que você gostaria de despejar. + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + Tem a certeza que quer fechar o yuzu? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + Tem a certeza de que quer parar a emulação? Qualquer progresso não salvo será perdido. + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + O aplicativo atualmente em execução solicitou que o yuzu não fechasse. + +Deseja ignorar isso e sair mesmo assim? + + + + GRenderWindow + + + OpenGL not available! + + + + + yuzu has not been compiled with OpenGL support. + + + + + Vulkan not available! + + + + + yuzu has not been compiled with Vulkan support. + + + + + Error while initializing OpenGL 4.3! + + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + + + + + Error while initializing OpenGL! + + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + + + + + GameList + + + + Name + Nome + + + + + Compatibility + Compatibilidade + + + + + Add-ons + Acrescentos + + + + + + + File type + Tipo de Arquivo + + + + + + + Size + Tamanho + + + + Open Save Data Location + Abrir Localização de Dados Salvos + + + + Open Mod Data Location + Abrir a Localização de Dados do Mod + + + + Open Transferable Shader Cache + Abrir Shader Cache transferíveis + + + + Remove + + + + + Remove Installed Update + + + + + Remove All Installed DLC + + + + + Remove Shader Cache + + + + + Remove Custom Configuration + + + + + Remove All Installed Contents + + + + + Dump RomFS + Despejar RomFS + + + + Copy Title ID to Clipboard + Copiar título de ID para a área de transferência + + + + Navigate to GameDB entry + Navegue para a Entrada da Base de Dados de Jogos + + + + Properties + Propriedades + + + + Scan Subfolders + Examinar Sub-pastas + + + + Remove Game Directory + Remover diretório do Jogo + + + + ▲ Move Up + + + + + ▼ Move Down + + + + + Open Directory Location + Abrir Localização do diretório + + + + GameListItemCompat + + + Perfect + Perfeito + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + O Jogo Funciona na Perfeição sem falhas de áudio ou gráficas, todas as funcionalidades testadas funcionam como planeadas sem +quaisquer soluções alternativas necessárias. + + + + Great + Ótimo + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + O Jogo funciona com pequenas falhas gráficas ou de áudio e pode ser jogado do principio ao fim. Pode exigir algumas +soluções alternativas. + + + + Okay + Ok + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + O Jogo funciona com grandes falhas gráficas ou de áudio, mas o jogo é jogável do principio ao fim com +soluções alternativas. + + + + Bad + Mau + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + Jogo Funcional, mas com grandes falhas gráficas ou de áudio. Incapaz de progredir em áreas específicas devido a falhas +mesmo com soluções alternativas + + + + Intro/Menu + Introdução / Menu + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + O Jogo não é jogável devido a grandes falhas gráficas ou de áudio. Não é possível passar da Tela +Inicial + + + + Won't Boot + Não Inicia + + + + The game crashes when attempting to startup. + O jogo trava ao tentar iniciar. + + + + Not Tested + Não Testado + + + + The game has not yet been tested. + O jogo ainda não foi testado. + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + Clique duas vezes para adicionar uma nova pasta à lista de jogos + + + + GameListSearchField + + + Filter: + Filtro: + + + + Enter pattern to filter + Digite o padrão para filtrar + + + + InstallDialog + + + Please confirm these are the files you wish to install. + + + + + Installing an Update or DLC will overwrite the previously installed one. + + + + + Install + + + + + Install Files to NAND + + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + A Carregar Shaders 387 / 1628 + + + + Loading Shaders %v out of %m + A Carregar Shaders %v por %m + + + + Estimated Time 5m 4s + Tempo Estimado 5m 4s + + + + Loading... + A Carregar... + + + + Loading Shaders %1 / %2 + A Carregar Shaders %1 / %2 + + + + Launching... + A iniciar... + + + + Estimated Time %1 + Tempo Estimado %1 + + + + MainWindow + + + yuzu + yuzu + + + + &File + &Arquivo + + + + Recent Files + Arquivos Recentes + + + + &Emulation + &Emulação + + + + &View + &Vista + + + + Debugging + Depuração + + + + Tools + Ferramentas + + + + &Help + &Ajuda + + + + Install Files to NAND... + + + + + Load File... + Carregar Arquivo + + + + Load Folder... + Carregar Pasta + + + + E&xit + &Sair + + + + &Start + &Começar + + + + &Pause + &Pausa + + + + &Stop + &Parar + + + + Reinitialize keys... + Reinicialize as chaves ... + + + + About yuzu + Sobre yuzu + + + + Single Window Mode + Modo de Janela Única + + + + Configure... + Configurar ... + + + + Display Dock Widget Headers + Exibir Cabeçalhos de Ferramenta de Doca + + + + Show Filter Bar + Mostrar Barra de Filtros + + + + Show Status Bar + Mostrar Barra de Estado + + + + Reset Window Size + + + + + Fullscreen + Tela Cheia + + + + Restart + Reiniciar + + + + Load Amiibo... + Carregar Amiibo... + + + + Report Compatibility + Reportar Compatibilidade + + + + Open Mods Page + + + + + Open Quickstart Guide + + + + + FAQ + + + + + Open yuzu Folder + Abrir Pasta yuzu + + + + Capture Screenshot + Captura de Tela + + + + Configure Current Game.. + + + + + MicroProfileDialog + + + MicroProfile + Micro Perfil + + + + QObject + + + Installed SD Titles + Títulos SD instalados + + + + Installed NAND Titles + Títulos NAND instalados + + + + System Titles + Títulos do sistema + + + + Add New Game Directory + Adicionar novo diretório de jogos + + + + + + Shift + Shift + + + + + + Ctrl + Ctrl + + + + + + Alt + Alt + + + + + + + [not set] + [não configurado] + + + + + + Hat %1 %2 + Hat %1 %2 + + + + + + Axis %1%2 + Eixo %1%2 + + + + + + Button %1 + Botão %1 + + + + + + + [unknown] + [Desconhecido] + + + + + Click 0 + + + + + + Click 1 + + + + + + Click 2 + + + + + + Click 3 + + + + + + Click 4 + + + + + GC Axis %1%2 + + + + + GC Button %1 + + + + + + [unused] + [sem uso] + + + + + Axis %1 + Eixo %1 + + + + + GC Axis %1 + + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + Ocorreu um erro. +Tente novamente ou entre em contato com o desenvolvedor do software. + +Código do Erro: %1-%2 (0x%3) + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + Ocorreu um erro em %1 até %2. +Tente novamente ou entre em contato com o desenvolvedor do software. + +Código do Erro: %3-%4 (0x%5) + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + Ocorreu um erro. +Código de Erro: %1-%2 (0x%3) + +%4 + +%5 + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + Selecione um usuário: + + + + Users + Utilizadores + + + + Profile Selector + Selector de perfil + + + + QtSoftwareKeyboardDialog + + + Enter text: + Digite o texto: + + + + Software Keyboard + Teclado de Software + + + + SequenceDialog + + + Enter a hotkey + Introduza a tecla de atalho + + + + WaitTreeCallstack + + + Call stack + Pilha de Chamadas + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + esperando por mutex 0x% 1 + + + + has waiters: %1 + has waiters: %1 + + + + owner handle: 0x%1 + owner handle: 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + esperando por todos os objetos + + + + waiting for one of the following objects + esperando por todos os objectos + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + + + + + waited by no thread + + + + + WaitTreeThread + + + + running + correr + + + + ready + preparado + + + + + paused + pausado + + + + waiting for HLE return + esperando pelo retorno de HLE + + + + sleeping + dormindo + + + + waiting for IPC reply + aguardando resposta do IPC + + + + waiting for objects + esperando por objectos + + + + waiting for mutex + esperando por mutex + + + + waiting for condition variable + A espera da variável de condição + + + + waiting for address arbiter + esperando pelo árbitro de endereço + + + + dormant + dormente + + + + dead + morto + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + ideal + + + + core %1 + núcleo %1 + + + + Unknown processor %1 + Processador desconhecido %1 + + + + processor = %1 + processador = %1 + + + + ideal core = %1 + núcleo ideal =% 1 + + + + affinity mask = %1 + máscara de afinidade =% 1 + + + + thread id = %1 + id do segmento =% 1 + + + + priority = %1(current) / %2(normal) + prioridade =%1(atual) / %2(normal) + + + + last running ticks = %1 + últimos tiques em execução =%1 + + + + not waiting for mutex + não esperar por mutex + + + + WaitTreeThreadList + + + waited by thread + esperado por tópico + + + + WaitTreeWidget + + + Wait Tree + Esquema de espera + + + \ No newline at end of file diff --git a/dist/languages/ru_RU.ts b/dist/languages/ru_RU.ts new file mode 100644 index 000000000..357b8e416 --- /dev/null +++ b/dist/languages/ru_RU.ts @@ -0,0 +1,4720 @@ + + + AboutDialog + + + About yuzu + О yuzu + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu - экспериментальный эмулятор для Nintendo Switch с открытым исходным кодом, лицензированный под GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">Это ПО не должно использоваться для запуска игр, которые были получены нелегально.</span></p></body></html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Веб-сайт</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Исходный код</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Авторы</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Лицензия</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; является торговой маркой Nintendo. yuzu никак не связан с Nintendo.</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + + + + + Cancel + + + + + Touch the top left corner <br>of your touchpad. + + + + + Now touch the bottom right corner <br>of your touchpad. + + + + + Configuration completed! + + + + + OK + + + + + CompatDB + + + Report Compatibility + Сообщить о совместимости + + + + + Report Game Compatibility + Сообщить о совместимости игры + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">Если вы захотите отправить отчет в </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Список Совместимости yuzu</a><span style=" font-size:10pt;">, Следующая информация будет собрана и отображена на сайте:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Информация об Аппаратном Обеспечении (ЦП / ГП / Операционная Система)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Версия yuzu</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Подключенный аккаунт yuzu</li></ul></body></html> + + + + Perfect + Идеально + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>Игра функционирует отлично, без звуковых и графических артефактов.</p></body></html> + + + + Great + Отлично + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>Игра работает с небольшими графическими или звуковыми артефактами и может быть пройдена от начала до конца. Могут потребоваться обходные пути.</p></body></html> + + + + Okay + Нормально + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>Игра работает с существенными графическими или звуковыми артефактами, но с обходными путями может быть пройдена.</p></body></html> + + + + Bad + Плохо + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>Игра работает, но с существенными графическими или звуковыми артефактами. В некоторых зонах нельзя продвинуться даже с обходными путями.</p></body></html> + + + + Intro/Menu + Вступление/Меню + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>В игру невозможно играть из-за графических или звуковых артефактов. Невозможно продвинуться дальше Стартового Экрана.</p></body></html> + + + + Won't Boot + Не Запускается + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>Игра падает при старте.</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <html><head/><body><p>Независимо от скорости и производительности, насколько хорошо эта игра работает от начала до конца в текущей версии yuzu?</p></body></html> + + + + Thank you for your submission! + Спасибо за ваш отчет! + + + + Submitting + Отправка + + + + Communication error + Ошибка соединения + + + + An error occured while sending the Testcase + Произошла ошибка при отправке Отчета + + + + Next + Далее + + + + ConfigureAudio + + + Audio + Звук + + + + Output Engine: + Механизм вывода: + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + Этот эффект пост-обработки регулирует скорость звука в соответствии со скоростью эмуляции и помогает предотвратить заикание звука. Это, однако, увеличивает задержку звука. + + + + Enable audio stretching + Включить растяжение звука + + + + Audio Device: + Звуковое Устройство: + + + + Use global volume + + + + + Set volume: + + + + + Volume: + Громкость: + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + + + + + General + + + + + Accuracy: + + + + + Accurate + + + + + Unsafe + + + + + Enable Debug Mode + + + + + We recommend setting accuracy to "Accurate". + + + + + Unsafe CPU Optimization Settings + + + + + These settings reduce accuracy for speed. + + + + + Unfuse FMA (improve performance on CPUs without FMA) + + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + + + + + Faster FRSQRTE and FRECPE + + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + + + + + CPU settings are available only when game is not running. + + + + + Setting CPU to Debug Mode + + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + + + + + ConfigureCpuDebug + + + Form + + + + + Toggle CPU Optimizations + + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + + + + + Enable inline page tables + + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + + + + Enable block linking + + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + + + + Enable return stack buffer + + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + + + + Enable fast dispatcher + + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + + + + Enable context elimination + + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + + + + Enable constant propagation + + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + + + + Enable miscellaneous optimizations + + + + + + <div>Enables miscellaneous IR optimizations.</div> + + + + + + Enable misalignment check reduction + + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + + + + CPU settings are available only when game is not running. + + + + + ConfigureDebug + + + Form + Форма + + + + GDB + GDB + + + + Enable GDB Stub + Включить GDB Stub + + + + Port: + Порт: + + + + Logging + Журналирование + + + + Global Log Filter + Глобальный Фильтр Журнала + + + + Show Log Console (Windows Only) + Показывать Журнал в Консоли (Только Для Windows) + + + + Open Log Location + Открыть Расположение Журнала + + + + Homebrew + Homebrew + + + + Arguments String + Строка Аргументов + + + + Graphics + + + + + When checked, the graphics API enters in a slower debugging mode + + + + + Enable Graphics Debugging + + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + + + + + Disable Macro JIT + + + + + Dump + + + + + Enable Verbose Reporting Services + Включить Службы Подробных Отчётов + + + + This will be reset automatically when yuzu closes. + Это будет автоматически сброшено после закрытия yuzu. + + + + Advanced + Дополнительно + + + + Kiosk (Quest) Mode + + + + + ConfigureDebugController + + + Configure Debug Controller + + + + + Clear + + + + + Defaults + + + + + ConfigureDialog + + + yuzu Configuration + Параметры yuzu + + + + + + + General + Основное + + + + + UI + Интерфейс + + + + Game List + Список Игр + + + + + + + System + Система + + + + + + Profiles + Профили + + + + + + Filesystem + Файловая система + + + + + + + Controls + Управление + + + + + + Hotkeys + Горячие клавиши + + + + + + + CPU + + + + + + + + + + Debug + Отладка + + + + + + + Graphics + Графика + + + + + Advanced + + + + + GraphicsAdvanced + + + + + + + + Audio + Звук + + + + + + Web + Веб + + + + + + Services + Сервисы + + + + ConfigureFilesystem + + + Form + Форма + + + + Storage Directories + Директории Хранения + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + SD карта + + + + Gamecard + Картридж + + + + Path + Путь + + + + Inserted + Вставлен + + + + Current Game + Текущая Игра + + + + Patch Manager + Управление Патчами + + + + Dump Decompressed NSOs + Дампить Распакованные NCO + + + + Dump ExeFS + Дампить ExeFS + + + + Mod Load Root + + + + + Dump Root + + + + + Caching + Кэширование + + + + Cache Directory + Директория Кэша + + + + Cache Game List Metadata + + + + + + + + Reset Metadata Cache + Сбросить Кэш Метаданных + + + + Select Emulated NAND Directory... + Выбрать Папку Для Эмулируемого NAND + + + + Select Emulated SD Directory... + Выбрать Папку Для Эмулируемого SD + + + + Select Gamecard Path... + + + + + Select Dump Directory... + Выберите Папку с Дампами + + + + Select Mod Load Directory... + + + + + Select Cache Directory... + Выбрать Папку с Кэшем... + + + + The metadata cache is already empty. + Кэш метаданных уже пустой. + + + + The operation completed successfully. + Операция выполнена успешно. + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + Кэш метаданных не может быть удален. Он может использоваться или отсутствовать. + + + + ConfigureGeneral + + + Form + Форма + + + + General + Основное + + + + Limit Speed Percent + Ограничить Скорость в Процентах + + + + % + % + + + + Multicore CPU Emulation + + + + + Confirm exit while emulation is running + Подтверждать выход во время эмуляции + + + + Prompt for user on game boot + + + + + Pause emulation when in background + Приостанавливать эмуляцию, когда в фоновом режиме + + + + Hide mouse on inactivity + + + + + ConfigureGraphics + + + Form + Форма + + + + API Settings + + + + + API: + + + + + Device: + + + + + Graphics Settings + + + + + Use disk shader cache + Использовать кэш шейдеров на диске + + + + Use asynchronous GPU emulation + Использовать асинхронную эмуляцию ГП + + + + Aspect Ratio: + + + + + Default (16:9) + + + + + Force 4:3 + + + + + Force 21:9 + + + + + Stretch to Window + + + + + + Use global background color + + + + + Set background color: + + + + + Background Color: + Фоновый Цвет: + + + + OpenGL Graphics Device + + + + + ConfigureGraphicsAdvanced + + + Form + + + + + Advanced Graphics Settings + + + + + Accuracy Level: + + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + + + + + Use VSync (OpenGL only) + + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + + + + + Use asynchronous shader building (experimental) + + + + + Use Fast GPU Time + + + + + Anisotropic Filtering: + + + + + Default + + + + + 2x + + + + + 4x + + + + + 8x + + + + + 16x + + + + + ConfigureHotkeys + + + Hotkey Settings + Настройки Горячих Клавиш + + + + Double-click on a binding to change it. + + + + + Clear All + + + + + Restore Defaults + + + + + Action + Действие + + + + Hotkey + Сочетание + + + + Context + Контекст + + + + + Conflicting Key Sequence + Конфликтующее Сочетание Клавиш + + + + The entered key sequence is already assigned to: %1 + + + + + Restore Default + + + + + Clear + + + + + The default key sequence is already assigned to: %1 + + + + + ConfigureInput + + + ConfigureInput + + + + + + Player 1 + Игрок 1 + + + + + Player 2 + Игрок 2 + + + + + Player 3 + Игрок 3 + + + + + Player 4 + Игрок 4 + + + + + Player 5 + Игрок 5 + + + + + Player 6 + Игрок 6 + + + + + Player 7 + Игрок 7 + + + + + Player 8 + Игрок 8 + + + + + Advanced + Дополнительно + + + + Console Mode + + + + + Docked + + + + + Undocked + + + + + Vibration + + + + + % + + + + + Motion + + + + + Configure + Настроить + + + + Controllers + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + Connected + + + + + Defaults + + + + + Clear + + + + + ConfigureInputAdvanced + + + Configure Input + + + + + Joycon Colors + + + + + Player 1 + + + + + + + + + + + + L Body + + + + + + + + + + + + L Button + + + + + + + + + + + + R Body + + + + + + + + + + + + R Button + + + + + Player 2 + + + + + Player 3 + + + + + Player 4 + + + + + Player 5 + + + + + Player 6 + + + + + Player 7 + + + + + Player 8 + + + + + Other + + + + + Keyboard + + + + + + Advanced + + + + + Touchscreen + + + + + Mouse + + + + + Motion / Touch + + + + + + Configure + + + + + Debug Controller + + + + + ConfigureInputPlayer + + + Configure Input + Настроить Ввод + + + + Connect Controller + + + + + + + Pro Controller + + + + + + Dual Joycons + + + + + + Left Joycon + + + + + + Right Joycon + + + + + + Handheld + + + + + Input Device + + + + + Any + + + + + Keyboard/Mouse + + + + + Profile + + + + + Save + + + + + New + + + + + Delete + + + + + Left Stick + Левый Стик + + + + + + + + + Up + + + + + + + + + + Left + + + + + + + + + + Right + + + + + + + + + + Down + + + + + + + + Pressed + + + + + + + + Modifier + + + + + + Range + + + + + + % + + + + + + Deadzone: 0% + + + + + + Modifier Range: 0% + + + + + D-Pad + + + + + + L + + + + + + ZL + + + + + + Minus + + + + + + Capture + + + + + + Plus + + + + + + Home + + + + + + R + + + + + + ZR + + + + + + SL + + + + + + SR + + + + + Face Buttons + Основные Кнопки + + + + + X + + + + + + Y + + + + + + A + + + + + + B + + + + + Right Stick + Правый Стик + + + + + Deadzone: %1% + + + + + + Modifier Range: %1% + + + + + [waiting] + + + + + ConfigureMotionTouch + + + Configure Motion / Touch + + + + + Motion + + + + + Motion Provider: + + + + + Sensitivity: + + + + + Touch + + + + + Touch Provider: + + + + + Calibration: + + + + + (100, 50) - (1800, 850) + + + + + + + Configure + + + + + Use button mapping: + + + + + CemuhookUDP Config + + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + + + + + Server: + + + + + Port: + + + + + Pad: + + + + + Pad 1 + + + + + Pad 2 + + + + + Pad 3 + + + + + Pad 4 + + + + + Learn More + + + + + + Test + + + + + Mouse (Right Click) + + + + + + CemuhookUDP + + + + + Emulator Window + + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + + + + + Testing + + + + + Configuring + + + + + Test Successful + + + + + Successfully received data from the server. + + + + + Test Failed + + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + + + + + Citra + + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + + + + + ConfigureMouseAdvanced + + + Configure Mouse + Настроить Мышь + + + + Mouse Buttons + Кнопки на Мыши + + + + Forward: + Вперед: + + + + Back: + Назад: + + + + Left: + Левая: + + + + Middle: + Средняя: + + + + Right: + Правая: + + + + + Clear + Очистить + + + + Defaults + + + + + [not set] + [не задано] + + + + Restore Default + Настройки по Умолчанию + + + + [press key] + [нажмите кнопку] + + + + ConfigurePerGame + + + Dialog + + + + + Info + + + + + Name + + + + + Title ID + + + + + Filename + + + + + Format + + + + + Version + + + + + Size + + + + + Developer + + + + + Add-Ons + + + + + General + + + + + System + + + + + Graphics + + + + + Adv. Graphics + + + + + Audio + + + + + Properties + + + + + Use global configuration (%1) + + + + + ConfigurePerGameAddons + + + Form + + + + + Patch Name + + + + + Version + + + + + ConfigureProfileManager + + + Form + Форма + + + + Profile Manager + Управление Профилями + + + + Current User + Текущий Пользователь + + + + Username + Имя Пользователя + + + + Set Image + Добавить Изображение + + + + Add + Добавить + + + + Rename + Переименовать + + + + Remove + Удалить + + + + Profile management is available only when game is not running. + Управление профилями доступно только тогда, когда игра не запущена. + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Enter Username + Введите Имя Пользователя + + + + Users + Пользователи + + + + Enter a username for the new user: + Введите имя пользователя для нового профиля: + + + + Enter a new username: + Введите новое имя пользователя: + + + + Confirm Delete + Подтвердите Удаление + + + + You are about to delete user with name "%1". Are you sure? + Вы собираетесь удалить пользователя "%1". Вы уверены? + + + + Select User Image + Выберите Изображение для Пользователя + + + + JPEG Images (*.jpg *.jpeg) + JPEG Images (*.jpg *.jpeg) + + + + Error deleting image + Ошибка при удалении изображения + + + + Error occurred attempting to overwrite previous image at: %1. + Ошибка при попытке перезаписи предыдущего изображения в: %1. + + + + Error deleting file + Ошибка при удалении файла + + + + Unable to delete existing file: %1. + Не получилось удалить существующий файл: %1. + + + + Error creating user image directory + Ошибка при создании папки пользовательских изображений + + + + Unable to create directory %1 for storing user images. + Не получилось создать папку %1 для хранения изображений пользователя. + + + + Error copying user image + Ошибка при копировании изображения пользователя + + + + Unable to copy image from %1 to %2 + Не получилось скопировать изображение из %1 в %2 + + + + ConfigureService + + + Form + Форма + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + BCAT - это способ Nintendo отправлять данные в игры, чтобы привлечь сообщество и разблокировать дополнительный контент. + + + + BCAT Backend + + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + + + + + The boxcat service is offline or you are not connected to the internet. + + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + Произошла ошибка при обработке данных событий boxcat. Свяжитесь с разработчиками yuzu. + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + Используемая вами версия yuzu слишком новая или слишком старая по сравнению с версией на сервере. Попробуйте обновить yuzu до последней официальной версии. + + + + + There are currently no events on boxcat. + + + + + + Current Boxcat Events + + + + + Yuzu is retrieving the latest boxcat status... + + + + + ConfigureSystem + + + Form + Форма + + + + System Settings + Настройки Системы + + + + Region: + + + + + Auto + + + + + Default + + + + + CET + + + + + CST6CDT + + + + + Cuba + + + + + EET + + + + + Egypt + + + + + Eire + + + + + EST + + + + + EST5EDT + + + + + GB + + + + + GB-Eire + + + + + GMT + + + + + GMT+0 + + + + + GMT-0 + + + + + GMT0 + + + + + Greenwich + + + + + Hongkong + + + + + HST + + + + + Iceland + + + + + Iran + + + + + Israel + + + + + Jamaica + + + + + + Japan + + + + + Kwajalein + + + + + Libya + + + + + MET + + + + + MST + + + + + MST7MDT + + + + + Navajo + + + + + NZ + + + + + NZ-CHAT + + + + + Poland + + + + + Portugal + + + + + PRC + + + + + PST8PDT + + + + + ROC + + + + + ROK + + + + + Singapore + + + + + Turkey + + + + + UCT + + + + + Universal + + + + + UTC + + + + + W-SU + + + + + WET + + + + + Zulu + + + + + USA + + + + + Europe + + + + + Australia + + + + + China + + + + + Korea + + + + + Taiwan + + + + + Time Zone: + + + + + Note: this can be overridden when region setting is auto-select + Примечание: может быть перезаписано если регион выбирается автоматически + + + + Japanese (日本語) + Японский (日本語) + + + + English + Английский (English) + + + + French (français) + Французский (français) + + + + German (Deutsch) + Немецкий (Deutsch) + + + + Italian (italiano) + Итальянский (italiano) + + + + Spanish (español) + Испанский (español) + + + + Chinese + Китайский (Chinese) + + + + Korean (한국어) + Корейский (한국어) + + + + Dutch (Nederlands) + Голландский (Nederlands) + + + + Portuguese (português) + Португальский (português) + + + + Russian (Русский) + Русский + + + + Taiwanese + Тайваньский + + + + British English + Британский Английский + + + + Canadian French + Канадский Французский + + + + Latin American Spanish + Латиноамериканский Испанский + + + + Simplified Chinese + Упрощенный Китайский + + + + Traditional Chinese (正體中文) + Традиционный Китайский (正體中文) + + + + Custom RTC + Пользовательский RTC + + + + Language + Язык + + + + RNG Seed + Зерно RNG + + + + Mono + Моно + + + + Stereo + Стерео + + + + Surround + Объёмный звук + + + + Console ID: + Идентификатор Консоли: + + + + Sound output mode + Режим вывода звука + + + + d MMM yyyy h:mm:ss AP + + + + + Regenerate + Перегенерировать + + + + System settings are available only when game is not running. + Настройки системы доступны только тогда, когда игра не запущена. + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + Это заменит ваш текущий виртуальный Switch новым. Ваш текущий виртуальный Switch будет безвозвратно потерян. Это может иметь неожиданные последствия в играх. Может не сработать, если вы используете устаревшую конфигурацию сохраненных игр. Продолжить? + + + + Warning + Внимание + + + + Console ID: 0x%1 + Идентификатор Консоли: 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + + + + + Mapping: + + + + + New + + + + + Delete + + + + + Rename + + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + + + + + Delete Point + + + + + Button + + + + + X + X axis + + + + + Y + Y axis + + + + + New Profile + + + + + Enter the name for the new profile. + + + + + Delete Profile + + + + + Delete profile %1? + + + + + Rename Profile + + + + + New name: + + + + + [press key] + + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + Настроить Сенсорный Экран + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + Внимание: Настройки на этой странице влияют на внутреннюю работу эмулируемого сенсорного экрана yuzu. Их изменение может привести к нежелательному поведению, как например частичная или полная неработоспособность сенсорного экрана. Используйте их, только если вы знаете, что делаете. + + + + Touch Parameters + Параметры Касания + + + + Touch Diameter Y + Диаметр Касания Y + + + + Finger + Палец + + + + Touch Diameter X + Диаметр Касания X + + + + Rotational Angle + Угол Поворота + + + + Restore Defaults + Настройки по Умолчанию + + + + ConfigureUi + + + Form + Форма + + + + General + Основное + + + + Note: Changing language will apply your configuration. + Примечание: Изменение языка приведет к применению настроек. + + + + Interface language: + Язык интерфейса: + + + + Theme: + Тема: + + + + Game List + Список Игр + + + + Show Add-Ons Column + Показывать Столбец Дополнений + + + + Icon Size: + Размер Иконок: + + + + Row 1 Text: + Текст 1 Строки: + + + + Row 2 Text: + Текст 2 Строки: + + + + Screenshots + + + + + Ask Where To Save Screenshots (Windows Only) + + + + + Screenshots Path: + + + + + ... + + + + + Select Screenshots Path... + + + + + <System> + <System> + + + + English + Английский + + + + ConfigureWeb + + + Form + Форма + + + + yuzu Web Service + yuzu Веб Сервис + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + Предоставляя ваше имя пользователя и токен, вы разрешаете yuzu собирать дополнительную информацию об использовании, которая может включать данные идентифицирующие пользователя. + + + + + Verify + Подтвердить + + + + Sign up + Регистрация + + + + Token: + Токен: + + + + Username: + Имя Пользователя: + + + + What is my token? + Что такое токен? + + + + Telemetry + Телеметрия + + + + Share anonymous usage data with the yuzu team + Делиться анонимной информацией об использовании с командой yuzu + + + + Learn more + Узнать больше + + + + Telemetry ID: + ID Телеметрии: + + + + Regenerate + Перегенерировать + + + + Discord Presence + Интеграция с Discord + + + + Show Current Game in your Discord Status + Показывать Текущую Игру в вашем Статусе Discord + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Узнать больше</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Регистрация</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">Что такое токен?</span></a> + + + + + Telemetry ID: 0x%1 + ID Телеметрии: 0x%1 + + + + + Unspecified + Отсутствует + + + + Token not verified + Токен не подтвержден + + + + Token was not verified. The change to your token has not been saved. + Токен не подтвержден. Ваш токен не был изменен. + + + + Verifying... + Проверка... + + + + Verification failed + Ошибка подтверждения + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + Ошибка подтверждения. Убедитесь в том, что токен введен корректно, и ваше интернет соединение активно. + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Анонимные данные собираются</a> для улучшения yuzu. <br/><br/>Хотели бы вы делиться данными об использовании с нами? + + + + Telemetry + Телеметрия + + + + Text Check Failed + Ошибка Проверки Текста + + + + Loading Web Applet... + + + + + Exit Web Applet + + + + + Exit + Выход + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + + + + + Web Applet + + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + Эта версия yuzu была собрана без поддержки QtWebEngine, что означает, что yuzu не может нормально отобразить руководство к игре или запрошенную веб-страницу. + + + + The amount of shaders currently being built + + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + Текущая скорость эмуляции. Значения выше или ниже 100% указывают на то, что эмуляция идет быстрее или медленнее, чем на Switch. + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + Количество кадров в секунду в данный момент. Значение будет меняться от игры к игре и от сцене к сцене. + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + Время, которое нужно для эмуляции 1 кадра Switch, не принимая во внимание ограничение FPS или v-sync. Для полноскоростной эмуляции значение должно быть не больше 16,67 мс. + + + + DOCK + + + + + ASYNC + + + + + MULTICORE + + + + + VULKAN + + + + + OPENGL + + + + + Clear Recent Files + Очистить Недавние Файлы + + + + Warning Outdated Game Format + Предупреждение Устаревший Формат Игры + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + Для этой игры вы используете разархивированный формат РОМа, который является устаревшим и был заменен другими, такими как NCA, NAX, XCI или NSP. В разархивированных каталогах РОМа отсутствуют значки, метаданные и поддержка обновлений. <br><br>Для получения информации о различных форматах Switch, поддерживаемых yuzu, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>просмотрите нашу вики</a>. Это сообщение больше не будет отображаться. + + + + + Error while loading ROM! + Ошибка при загрузке РОМа! + + + + The ROM format is not supported. + Формат РОМа не поддерживается. + + + + An error occurred initializing the video core. + Произошла ошибка при инициализации видеоядра. + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + yuzu обнаружил ошибку во время работы видеоядра. Проверьте журнал для подробностей. Информацию о доступе к журналу можно найти на этой странице: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Как Отправить Файл Журнала.</a> Убедитесь, что у вас установлены последние графические драйверы. + + + + Error while loading ROM! + + + + + An unknown error occurred. Please see the log for more details. + Произошла неизвестная ошибка. Пожалуйста, проверьте лог для подробностей. + + + + Start + Начать + + + + Save Data + Данные Сохранений + + + + Mod Data + Данные Модов + + + + Error Opening %1 Folder + Ошибка при Открытии Папки %1 + + + + + Folder does not exist! + Папка не существует! + + + + Error Opening Transferable Shader Cache + Ошибка при Открытии Переносного Кеша Шейдеров + + + + + A shader cache for this title does not exist. + Шейдерный кеш для этого идентификатора не существует. + + + + Contents + + + + + Update + + + + + DLC + + + + + Remove Entry + + + + + Remove Installed Game %1? + + + + + + + + + Successfully Removed + + + + + Successfully removed the installed base game. + + + + + + + Error Removing %1 + + + + + The base game is not installed in the NAND and cannot be removed. + + + + + Successfully removed the installed update. + + + + + There is no update installed for this title. + + + + + There are no DLC installed for this title. + + + + + Successfully removed %1 installed DLC. + + + + + Delete Transferable Shader Cache? + + + + + Remove Custom Game Configuration? + + + + + Remove File + + + + + + Error Removing Transferable Shader Cache + + + + + Successfully removed the transferable shader cache. + + + + + Failed to remove the transferable shader cache. + + + + + + Error Removing Custom Configuration + + + + + A custom configuration for this title does not exist. + + + + + Successfully removed the custom game configuration. + + + + + Failed to remove the custom game configuration. + + + + + RomFS Extraction Failed! + Не удалось извлечь RomFS! + + + + There was an error copying the RomFS files or the user cancelled the operation. + Произошла ошибка при копировании файлов RomFS или пользователь отменил операцию. + + + + Full + Полный + + + + Skeleton + + + + + Select RomFS Dump Mode + Выберите Режим Дампа RomFS + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + Пожалуйста, выберите, как вы хотите выполнить дамп RomFS. <br>Полное скопирует все файлы в новый каталог, в то время как <br>Структура создаст только структуру каталогов. + + + + Extracting RomFS... + Извлечение RomFS... + + + + + Cancel + Отмена + + + + RomFS Extraction Succeeded! + Извлечение RomFS Прошло Успешно! + + + + The operation completed successfully. + Операция выполнена. + + + + Error Opening %1 + Ошибка Открытия %1 + + + + Select Directory + Выбрать Путь + + + + Properties + Свойства + + + + The game properties could not be loaded. + Не удалось загрузить свойства игры. + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Исполняемый файл Switch (%1);;Все файлы (*.*) + + + + Load File + Загрузить Файл + + + + Open Extracted ROM Directory + Открыть Папку Извлечённого РОМа + + + + Invalid Directory Selected + Выбран Неверный Каталог + + + + The directory you have selected does not contain a 'main' file. + Каталог, который вы выбрали, не содержит «основного» файла. + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + + + + + Install Files + + + + + Installing file "%1"... + Установка файла "%1"... + + + + Install Results + + + + + System Application + Системное Приложение + + + + System Archive + Системный Архив + + + + System Application Update + Обновление Системного Приложения + + + + Firmware Package (Type A) + Контейнер Прошивки (Тип А) + + + + Firmware Package (Type B) + Контейнер Прошивки (Тип Б) + + + + Game + Игра + + + + Game Update + Обновление Игры + + + + Game DLC + Загружаемый Контент + + + + Delta Title + Delta Название + + + + Select NCA Install Type... + Выберите Тип Установки NCA... + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + Пожалуйста, выберите тип приложения, который вы хотите установить для этого NCA: + (В большинстве случаев, простое «Игра» подходит.) + + + + Failed to Install + Ошибка Установки + + + + The title type you selected for the NCA is invalid. + Тип приложения, который вы выбрали для NCA, недействителен. + + + + File not found + Файл не найден + + + + File "%1" not found + Файл "%1" не найден + + + + + Continue + Продолжить + + + + Error Display + Показ Ошибок + + + + Missing yuzu Account + Отсутствует Аккаунт yuzu + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + Чтобы отправить отчет о совместимости игры, необходимо привязать свою учетную запись yuzu.<br><br/>Чтобы привязать свою учетную запись yuzu, перейдите в раздел Эмуляция &gt; Настройка &gt; Веб. + + + + Error opening URL + + + + + Unable to open the URL "%1". + + + + + Amiibo File (%1);; All Files (*.*) + Файл Amiibo (%1);; Все Файлы (*.*) + + + + Load Amiibo + Загрузить Amiibo + + + + Error opening Amiibo data file + Ошибка открытия файла данных Amiibo + + + + Unable to open Amiibo file "%1" for reading. + Невозможно открыть файл Amiibo "%1" для чтения. + + + + Error reading Amiibo data file + Ошибка чтения файла данных Amiibo + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + Невозможно полностью прочитать данные Amiibo. Ожидалось прочитать %1 байт, но удалось прочитать только %2 байт. + + + + Error loading Amiibo data + Ошибка загрузки данных Amiibo + + + + Unable to load Amiibo data. + Невозможно загрузить данные Amiibo. + + + + Capture Screenshot + Сделать Скриншот + + + + PNG Image (*.png) + PNG Image (*.png) + + + + Speed: %1% / %2% + Скорость: %1% / %2% + + + + Speed: %1% + Скорость: %1% + + + + Game: %1 FPS + Игра: %1 FPS + + + + Frame: %1 ms + Один кадр: %1 ms + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + Игра, которую вы пытаетесь загрузить, требует, чтобы дополнительные файлы были сдамплены с вашего Switch перед началом игры. <br/><br/>Для получения дополнительной информации о дампе этих файлов см. следующую вики-страницу: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Дамп Системных Архивов и Общих Шрифтов с консоли</a>. <br/><br/>Хотите вернуться к списку игр? Продолжение эмуляции может привести к сбоям, повреждению сохраненных данных или другим ошибкам. + + + + yuzu was unable to locate a Switch system archive. %1 + yuzu не удалось найти системный архив Switch. %1 + + + + yuzu was unable to locate a Switch system archive: %1. %2 + yuzu не удалось найти системный архив Switch: %1. %2 + + + + System Archive Not Found + Системный Архив Не Найден + + + + System Archive Missing + Отсутствует Системный Архив + + + + yuzu was unable to locate the Switch shared fonts. %1 + yuzu не удалось найти общие шрифты Switch. %1 + + + + Shared Fonts Not Found + Общие Шрифты Не Найдены + + + + Shared Font Missing + Общие Шрифты Отсутствуют + + + + Fatal Error + Фатальная Ошибка + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + yuzu столкнулся с фатальной ошибкой, смотрите подробности в журнале. Информацию о доступе к журналу можно найти на этой странице: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Как Отправить Файл Журнала</a>.<br/><br/>Хотите вернуться в список игр? Продолжение эмуляции может привести к сбоям, повреждению сохраненных данных или другим ошибкам. + + + + Fatal Error encountered + Обнаружена Фатальная ошибка + + + + Confirm Key Rederivation + Подтвердите Перерасчет Ключа + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + Вы собираетесь принудительно пересчитать все ваши ключи. +Если вы не знаете, что это значит или что вы делаете, +это потенциально разрушительное действие. +Пожалуйста, убедитесь, что это то, что вы хотите +и при желании сделайте резервные копии. + +Это удалит ваши автоматически сгенерированные файлы ключей и повторно запустит модуль расчета ключей. + + + + Missing fuses + + + + + - Missing BOOT0 + + + + + - Missing BCPKG2-1-Normal-Main + + + + + - Missing PRODINFO + + + + + Derivation Components Missing + + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + Получение ключей... +Это может занять до минуты в зависимости +от производительности вашей системы. + + + + Deriving Keys + Получение Ключей + + + + Select RomFS Dump Target + Выберите Цель для Дампа RomFS + + + + Please select which RomFS you would like to dump. + Пожалуйста, выберите, какой RomFS вы хотите сдампить. + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + Вы уверены, что хотите закрыть yuzu? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + Вы уверены, что хотите остановить эмуляцию? Любой несохраненный прогресс будет потерян. + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + Запущенное в настоящий момент приложение просит yuzu не завершать работу. + +Проигнорировать и выйти в любом случае? + + + + GRenderWindow + + + OpenGL not available! + + + + + yuzu has not been compiled with OpenGL support. + + + + + Vulkan not available! + + + + + yuzu has not been compiled with Vulkan support. + + + + + Error while initializing OpenGL 4.3! + + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + + + + + Error while initializing OpenGL! + + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + + + + + GameList + + + + Name + Имя + + + + + Compatibility + Совместимость + + + + + Add-ons + Дополнения + + + + + + + File type + Тип Файла + + + + + + + Size + Размер + + + + Open Save Data Location + Открыть Папку Сохранений + + + + Open Mod Data Location + Открыть Папку Модов + + + + Open Transferable Shader Cache + Открыть Переносной Кеш Шейдеров + + + + Remove + + + + + Remove Installed Update + + + + + Remove All Installed DLC + + + + + Remove Shader Cache + + + + + Remove Custom Configuration + + + + + Remove All Installed Contents + + + + + Dump RomFS + Сдампить RomFS + + + + Copy Title ID to Clipboard + Скопировать ID приложения в буфер обмена + + + + Navigate to GameDB entry + Перейти к записи GameDB + + + + Properties + Свойства + + + + Scan Subfolders + Сканировать Подпапки + + + + Remove Game Directory + Удалить Папку с Играми + + + + ▲ Move Up + + + + + ▼ Move Down + + + + + Open Directory Location + Открыть Расположение Папки + + + + GameListItemCompat + + + Perfect + Идеально + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + Игра идёт безупречно, без звуковых или графических артефактов, все протестированные функции работают без обходных путей. + + + + Great + Отлично + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + Игра работает с небольшими графическими или звуковыми артефактами и может быть пройдена от начала до конца. Могут потребоваться обходные пути. + + + + Okay + Нормально + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + Игра работает с существенными графическими или звуковыми артефактами, но с обходными путями может быть пройдена. + + + + Bad + Плохо + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + Игра работает, но с существенными графическими или звуковыми артефактами. В некоторых зонах нельзя продвинуться даже с обходными путями. + + + + Intro/Menu + Вступление/Меню + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + В игру невозможно играть из-за графических или звуковых артефактов. Невозможно продвинуться дальше Стартового Экрана. + + + + Won't Boot + Не Запускается + + + + The game crashes when attempting to startup. + Игра падает при запуске. + + + + Not Tested + Не Проверено + + + + The game has not yet been tested. + Игру ещё не проверяли на совместимость. + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + Двойной клик, чтобы добавить новую папку в список игр + + + + GameListSearchField + + + Filter: + Поиск: + + + + Enter pattern to filter + Введите текст для поиска + + + + InstallDialog + + + Please confirm these are the files you wish to install. + + + + + Installing an Update or DLC will overwrite the previously installed one. + + + + + Install + + + + + Install Files to NAND + + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + Загрузка Шейдера 387 / 1628 + + + + Loading Shaders %v out of %m + Загрузка Шейдера %v из %m + + + + Estimated Time 5m 4s + Примерное время 5м 4с + + + + Loading... + Загрузка... + + + + Loading Shaders %1 / %2 + Загрузка Шейдеров %1 / %2 + + + + Launching... + Запуск... + + + + Estimated Time %1 + Примерное Время %1 + + + + MainWindow + + + yuzu + yuzu + + + + &File + &Файл + + + + Recent Files + Недавние Файлы + + + + &Emulation + &Эмуляция + + + + &View + &Вид + + + + Debugging + Отладка + + + + Tools + Инструменты + + + + &Help + &Помощь + + + + Install Files to NAND... + + + + + Load File... + Загрузить Файл... + + + + Load Folder... + Загрузить Папку... + + + + E&xit + &Выход + + + + &Start + &Начать + + + + &Pause + &Пауза + + + + &Stop + &Стоп + + + + Reinitialize keys... + Переинициализировать ключи... + + + + About yuzu + О yuzu + + + + Single Window Mode + Режим Одного Окна + + + + Configure... + Настроить... + + + + Display Dock Widget Headers + Отображать Заголовки Виджетов Дока + + + + Show Filter Bar + Показать Панель Поиска + + + + Show Status Bar + Показать Панель Статуса + + + + Reset Window Size + + + + + Fullscreen + Полный Экран + + + + Restart + Перезапустить + + + + Load Amiibo... + Загрузить Amiibo… + + + + Report Compatibility + Сообщить о Совместимости + + + + Open Mods Page + + + + + Open Quickstart Guide + + + + + FAQ + + + + + Open yuzu Folder + Открыть Папку yuzu + + + + Capture Screenshot + Сделать Скриншот + + + + Configure Current Game.. + + + + + MicroProfileDialog + + + MicroProfile + МикроПрофиль + + + + QObject + + + Installed SD Titles + Установленные SD Игры + + + + Installed NAND Titles + Установленные NAND Игры + + + + System Titles + Системные Игры + + + + Add New Game Directory + Добавить Новую Папку с Играми + + + + + + Shift + Shift + + + + + + Ctrl + Ctrl + + + + + + Alt + Alt + + + + + + + [not set] + [не задано] + + + + + + Hat %1 %2 + Д-Пад %1 %2 + + + + + + Axis %1%2 + Ось %1%2 + + + + + + Button %1 + Кнопка %1 + + + + + + + [unknown] + [неизвестно] + + + + + Click 0 + + + + + + Click 1 + + + + + + Click 2 + + + + + + Click 3 + + + + + + Click 4 + + + + + GC Axis %1%2 + + + + + GC Button %1 + + + + + + [unused] + [не используется] + + + + + Axis %1 + Ось %1 + + + + + GC Axis %1 + + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + Произошла ошибка. +Пожалуйста попробуйте еще раз или свяжитесь с разработчиком ПО. + +Код Ошибки: %1-%2 (0x%3) + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + Произошла ошибка на %1 в %2. +Пожалуйста попробуйте еще раз или свяжитесь с разработчиком ПО. + +Код Ошибки: %3-%4 (0x%5) + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + Произошла ошибка. +Код Ошибки: %1-%2 (0x%3) + +%4 + +%5 + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + Выберите Пользователя: + + + + Users + Пользователи + + + + Profile Selector + Выбор Профиля + + + + QtSoftwareKeyboardDialog + + + Enter text: + Введите текст: + + + + Software Keyboard + Программная Клавиатура + + + + SequenceDialog + + + Enter a hotkey + Введите сочетание + + + + WaitTreeCallstack + + + Call stack + Стэк вызовов + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + ожидание мьютекса 0x%1 + + + + has waiters: %1 + ожидающие: %1 + + + + owner handle: 0x%1 + ссылка на владельца: 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + в ожидании всех объектов + + + + waiting for one of the following objects + в ожидании одного из объектов + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + + + + + waited by no thread + + + + + WaitTreeThread + + + + running + работает + + + + ready + готов + + + + + paused + приостановлен + + + + waiting for HLE return + ожидание возврата HLE + + + + sleeping + сон + + + + waiting for IPC reply + ожидание ответа IPC + + + + waiting for objects + ожидание объектов + + + + waiting for mutex + ожидание мьютекса + + + + waiting for condition variable + ожидание условной переменной + + + + waiting for address arbiter + ожидание адресного арбитра + + + + dormant + бездействует + + + + dead + мертв + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + идеально + + + + core %1 + ядро %1 + + + + Unknown processor %1 + Неизвестный процессор %1 + + + + processor = %1 + процессор = %1 + + + + ideal core = %1 + идеальное ядро = %1 + + + + affinity mask = %1 + маска сходства = %1 + + + + thread id = %1 + id потока = %1 + + + + priority = %1(current) / %2(normal) + приоритет = %1(текущий) / %2(обычный) + + + + last running ticks = %1 + последние тики = %1 + + + + not waiting for mutex + не ожидает мьютекс + + + + WaitTreeThreadList + + + waited by thread + ожидается потоком + + + + WaitTreeWidget + + + Wait Tree + Дерево Ожидания + + + \ No newline at end of file diff --git a/dist/languages/zh_CN.ts b/dist/languages/zh_CN.ts new file mode 100644 index 000000000..f953f224a --- /dev/null +++ b/dist/languages/zh_CN.ts @@ -0,0 +1,4747 @@ + + + AboutDialog + + + About yuzu + 关于 yuzu + + + + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + <html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html> + + + + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + <html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html> + + + + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + <html><head/><body><p>%1 | %2-%3 (%4)</p></body></html> + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv2.0.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu 是一个实验性的开源 Nintendo Switch 模拟器,以 GPLv2.0+ 授权。</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">这个软件不应该用来运行非法取得的游戏。</span></p></body></html> + + + + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">网站</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">源代码</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">贡献者</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">许可证</span></a></p></body></html> + + + + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html> + <html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; 是任天堂的商标。yuzu 与任天堂没有任何关系。</span></p></body></html> + + + + CalibrationConfigurationDialog + + + Communicating with the server... + 正在与服务器通信… + + + + Cancel + 取消 + + + + Touch the top left corner <br>of your touchpad. + 触摸你的触摸板<br>的左上角。 + + + + Now touch the bottom right corner <br>of your touchpad. + 触摸你的触摸板<br>的右下角。 + + + + Configuration completed! + 配置完成! + + + + OK + 确定 + + + + CompatDB + + + Report Compatibility + 报告兼容性 + + + + + Report Game Compatibility + 报告游戏兼容性 + + + + <html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html> + <html><head/><body><p><span style=" font-size:10pt;">如果您选择向 </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu 兼容性列表</span></a><span style=" font-size:10pt;">提交测试用例的话,以下信息将会被收集并显示在网站上:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">设备硬件信息 (CPU / GPU / 操作系统)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">您正在使用的 yuzu 版本</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">已关联的 yuzu 账户信息</li></ul></body></html> + + + + Perfect + 完美 + + + + <html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html> + <html><head/><body><p>游戏运行完美,没有音频或图形问题。</p></body></html> + + + + Great + 良好 + + + + <html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html> + <html><head/><body><p>游戏运行时会有非常轻微的图像或音频问题,但是能从头玩到尾。可能需要一些技巧才能完成游戏。</p></body></html> + + + + Okay + 一般 + + + + <html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html> + <html><head/><body><p>游戏运行时会有很多图像或音频错误,但是在使用一些特殊技巧之后能完整地完成游戏。</p></body></html> + + + + Bad + 较差 + + + + <html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html> + <html><head/><body><p>游戏能运行,但是会有大量图像或音频错误。即使使用一些技巧也无法通过游戏的某些区域。</p></body></html> + + + + Intro/Menu + 开场 / 菜单 + + + + <html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html> + <html><head/><body><p>游戏完全没法玩,图像或音频有重大错误。通过开场菜单后无法继续。</p></body></html> + + + + Won't Boot + 无法打开 + + + + <html><head/><body><p>The game crashes when attempting to startup.</p></body></html> + <html><head/><body><p>在启动游戏时直接崩溃了。</p></body></html> + + + + <html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html> + <body><html><head/><p>在不考虑速度或帧率的情况下,使用此版本 yuzu 玩这款游戏的情况如何?</p></body></html> + + + + Thank you for your submission! + 感谢您向我们提交信息! + + + + Submitting + 提交中 + + + + Communication error + 网络错误 + + + + An error occured while sending the Testcase + 在提交测试用例时发生错误。 + + + + Next + 下一步 + + + + ConfigureAudio + + + Audio + 声音 + + + + Output Engine: + 输出引擎: + + + + This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency. + 这种后处理效果可以调整音频速度以匹配模拟速度,并有助于防止音频卡顿。 但是会增加音频延迟。 + + + + Enable audio stretching + 启动音频拉伸 + + + + Audio Device: + 音频设备: + + + + Use global volume + 使用全局音量 + + + + Set volume: + 音量: + + + + Volume: + 音量: + + + + 0 % + 0 % + + + + %1% + Volume percentage (e.g. 50%) + %1% + + + + ConfigureCpu + + + Form + 类型 + + + + General + 通用 + + + + Accuracy: + 精度: + + + + Accurate + 精确 + + + + Unsafe + 低精度 + + + + Enable Debug Mode + 启用调试模式 + + + + We recommend setting accuracy to "Accurate". + 我们推荐将精度设置为“精确”。 + + + + Unsafe CPU Optimization Settings + 低精度 CPU 优化选项 + + + + These settings reduce accuracy for speed. + 这些设置项提高了速度,但精度有所降低。 + + + + Unfuse FMA (improve performance on CPUs without FMA) + 低精度 FMA (在 CPU 不支持 FMA 指令集的情况下提高性能) + + + + + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + + +<div>该选项通过降低积和熔加运算的精度而提高模拟器在不支持 FMA 指令集 CPU 上的运行速度。</div> + + + + Faster FRSQRTE and FRECPE + 快速 FRSQRTE 和 FRECPE + + + + + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + + +<div>该选项通过使用精度较低的近似值来提高某些浮点函数的运算速度。</div> + + + + CPU settings are available only when game is not running. + 只有当游戏不在运行时,CPU 设置才可用。 + + + + Setting CPU to Debug Mode + CPU 调试模式 + + + + CPU Debug Mode is only intended for developer use. Are you sure you want to enable this? + CPU 调试模式仅用于开发人员。您确定要打开这个选项吗? + + + + ConfigureCpuDebug + + + Form + 类型 + + + + Toggle CPU Optimizations + 切换 CPU 优化 + + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + +<div> +<b>仅供调试使用。</b> +<br> +如果您不确定这些选项的作用,则保持它们的启用状态。 +<br> +这些选项仅在 CPU 精度处于“调试模式”时生效。 +</div> + + + + Enable inline page tables + 启用内嵌页表 + + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + +<div style="white-space: nowrap">这个选项提升了来宾程序的内存访问速度。</div> +<div style="white-space: nowrap">启用内嵌到 PageTable::指向已发射代码的指针。</div> +<div style="white-space: nowrap">禁用此选项将强制通过 Memory::Read/Memory::Write 函数进行内存访问。</div> + + + + Enable block linking + 启用块链接 + + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + +<div>该选项通过允许发出的基本块直接跳转到其他基本块(如果目标 PC 是静态的)来避免调度器的查找。</div> + + + + + Enable return stack buffer + 启用返回堆栈缓冲区 + + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + +<div>该选项通过跟踪 BL 指令的潜在返回地址来避免调度器查找。这近似于 CPU 返回堆栈缓冲区的情况。</div> + + + + + Enable fast dispatcher + 启用快速调度 + + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + +<div>启用两层调度系统。首先使用一个更快的调度程序跳转至目标 MRU 缓存。如果失败,调度返回到较慢的 C++ 调度程序。</div> + + + + + Enable context elimination + 启用上下文消除 + + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + +<div>启用 IR 优化,以减少 CPU 对上下文结构的不必要访问。</div> + + + + + Enable constant propagation + 启用恒定传播 + + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + +<div>启用涉及恒定传播的 IR 优化。</div> + + + + + Enable miscellaneous optimizations + 启用其他优化 + + + + + <div>Enables miscellaneous IR optimizations.</div> + + +<div>启用其他的 IR 优化。</div> + + + + + Enable misalignment check reduction + 减少偏差检查 + + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + +<div style="white-space: nowrap">启用时,只有当访问越过页面边界时才会触发偏移。</div> +<div style="white-space: nowrap">禁用时,所有未对齐的访问都会触发偏移。</div> + + + + + CPU settings are available only when game is not running. + 只有当游戏不在运行时,CPU 设置才可用。 + + + + ConfigureDebug + + + Form + Form + + + + GDB + GDB + + + + Enable GDB Stub + 开启 GDB 调试 + + + + Port: + 端口: + + + + Logging + 日志 + + + + Global Log Filter + 全局日志过滤器 + + + + Show Log Console (Windows Only) + 显示日志窗口(仅限 Windows) + + + + Open Log Location + 打开日志位置 + + + + Homebrew + 自制游戏 + + + + Arguments String + 参数字符串 + + + + Graphics + 图形 + + + + When checked, the graphics API enters in a slower debugging mode + 启用时,图形 API 将进入较慢的调试模式。 + + + + Enable Graphics Debugging + 启用图形调试 + + + + When checked, it disables the macro Just In Time compiler. Enabled this makes games run slower + 启用时,将禁用宏即时编译器。这会降低游戏运行速度。 + + + + Disable Macro JIT + 禁用宏 JIT + + + + Dump + 转储 + + + + Enable Verbose Reporting Services + 启用详细报告服务 + + + + This will be reset automatically when yuzu closes. + 当 yuzu 关闭时会自动重置。 + + + + Advanced + 高级选项 + + + + Kiosk (Quest) Mode + Kiosk (Quest) 模式 + + + + ConfigureDebugController + + + Configure Debug Controller + 调试控制器设置 + + + + Clear + 清除 + + + + Defaults + 系统默认 + + + + ConfigureDialog + + + yuzu Configuration + yuzu 设置 + + + + + + + General + 通用 + + + + + UI + 界面 + + + + Game List + 游戏列表 + + + + + + + System + 系统 + + + + + + Profiles + 用户配置 + + + + + + Filesystem + 文件系统 + + + + + + + Controls + 控制 + + + + + + Hotkeys + 热键 + + + + + + + CPU + CPU + + + + + + + + + Debug + 调试 + + + + + + + Graphics + 图形 + + + + + Advanced + 高级选项 + + + + GraphicsAdvanced + 高级图形选项 + + + + + + + Audio + 声音 + + + + + + Web + 网络 + + + + + + Services + 服务 + + + + ConfigureFilesystem + + + Form + 类型 + + + + Storage Directories + 存储目录 + + + + NAND + NAND + + + + + + + + + ... + ... + + + + SD Card + SD 卡 + + + + Gamecard + 游戏卡带 + + + + Path + 路径 + + + + Inserted + 已插入 + + + + Current Game + 当前游戏 + + + + Patch Manager + 补丁管理 + + + + Dump Decompressed NSOs + 转储已解压的 NSO 文件 + + + + Dump ExeFS + 转储 ExeFS + + + + Mod Load Root + Mod 加载根目录 + + + + Dump Root + 转储根目录 + + + + Caching + 缓存中 + + + + Cache Directory + 缓存目录 + + + + Cache Game List Metadata + 缓存游戏列表数据 + + + + + + + Reset Metadata Cache + 重置缓存数据 + + + + Select Emulated NAND Directory... + 选择模拟 NAND 目录... + + + + Select Emulated SD Directory... + 选择模拟 SD 卡目录... + + + + Select Gamecard Path... + 选择游戏卡带路径... + + + + Select Dump Directory... + 选择转储目录... + + + + Select Mod Load Directory... + 选择 Mod 载入目录... + + + + Select Cache Directory... + 选择缓存目录... + + + + The metadata cache is already empty. + 缓存数据已为空。 + + + + The operation completed successfully. + 操作已成功完成。 + + + + The metadata cache couldn't be deleted. It might be in use or non-existent. + 缓存数据删除失败。它可能不存在或正在被使用。 + + + + ConfigureGeneral + + + Form + Form + + + + General + 通用 + + + + Limit Speed Percent + 运行速度限制 + + + + % + % + + + + Multicore CPU Emulation + 多核 CPU 仿真 + + + + Confirm exit while emulation is running + 在游戏运行时退出需要确认 + + + + Prompt for user on game boot + 游戏启动时提示选择用户 + + + + Pause emulation when in background + 模拟器位于后台时暂停模拟 + + + + Hide mouse on inactivity + 自动隐藏鼠标光标 + + + + ConfigureGraphics + + + Form + Form + + + + API Settings + API 设置 + + + + API: + API: + + + + Device: + 设备: + + + + Graphics Settings + 图形设置 + + + + Use disk shader cache + 使用磁盘着色器缓存 + + + + Use asynchronous GPU emulation + 使用 GPU 异步模拟 + + + + Aspect Ratio: + 屏幕纵横比: + + + + Default (16:9) + 默认 (16:9) + + + + Force 4:3 + 强制 4:3 + + + + Force 21:9 + 强制 21:9 + + + + Stretch to Window + 拉伸窗口 + + + + + Use global background color + 使用全局背景颜色 + + + + Set background color: + 设置背景颜色: + + + + Background Color: + 背景颜色: + + + + OpenGL Graphics Device + OpenGL 图形设备 + + + + ConfigureGraphicsAdvanced + + + Form + 类型 + + + + Advanced Graphics Settings + 高级图形选项 + + + + Accuracy Level: + 精度: + + + + VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference. + 垂直同步可防止画面产生撕裂感。但启用垂直同步后,某些设备性能可能会有所降低。如果您没有感到性能差异,请保持启用状态。 + + + + Use VSync (OpenGL only) + 启用垂直同步 (仅限 OpenGL 模式) + + + + Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental. + 在支持 NV_gpu_program5 的 Nvidia 设备上启用 OpenGL 程序集着色器。启用此项将减少着色器卡顿。实验性功能。 + + + + Use assembly shaders (experimental, Nvidia OpenGL only) + 启用程序集着色器 (实验性,仅限 Nvidia OpenGL) + + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + 启用异步着色器编译,这可能会减少着色器卡顿。实验性功能。 + + + + Use asynchronous shader building (experimental) + 启用异步着色器编译 (实验性) + + + + Use Fast GPU Time + 启用快速 GPU 时钟 + + + + Anisotropic Filtering: + 各向异性过滤: + + + + Default + 系统默认 + + + + 2x + + + + + 4x + + + + + 8x + + + + + 16x + 16× + + + + ConfigureHotkeys + + + Hotkey Settings + 热键设置 + + + + Double-click on a binding to change it. + 双击已绑定的项目以改变设定。 + + + + Clear All + 全部清除 + + + + Restore Defaults + 恢复默认 + + + + Action + 作用 + + + + Hotkey + 热键 + + + + Context + 位置 + + + + + Conflicting Key Sequence + 按键冲突 + + + + The entered key sequence is already assigned to: %1 + 输入的密钥序列已分配给: %1 + + + + Restore Default + 恢复默认 + + + + Clear + 清除 + + + + The default key sequence is already assigned to: %1 + 默认密钥序列已分配给: %1 + + + + ConfigureInput + + + ConfigureInput + 输入设置 + + + + + Player 1 + 玩家 1 + + + + + Player 2 + 玩家 2 + + + + + Player 3 + 玩家 3 + + + + + Player 4 + 玩家 4 + + + + + Player 5 + 玩家 5 + + + + + Player 6 + 玩家 6 + + + + + Player 7 + 玩家 7 + + + + + Player 8 + 玩家 8 + + + + + Advanced + 高级 + + + + Console Mode + 控制台模式 + + + + Docked + Docked + + + + Undocked + Undocked + + + + Vibration + 震动 + + + + % + % + + + + Motion + 体感 + + + + Configure + 设置 + + + + Controllers + 控制器 + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + 6 + 6 + + + + 7 + 7 + + + + 8 + 8 + + + + Connected + 已连接 + + + + Defaults + 系统默认 + + + + Clear + 清除 + + + + ConfigureInputAdvanced + + + Configure Input + 输入设置 + + + + Joycon Colors + Joycon 颜色 + + + + Player 1 + 玩家 1 + + + + + + + + + + + L Body + 左侧主体 + + + + + + + + + + + L Button + 左侧按键 + + + + + + + + + + + R Body + 右侧主体 + + + + + + + + + + + R Button + 右侧按键 + + + + Player 2 + 玩家 2 + + + + Player 3 + 玩家 3 + + + + Player 4 + 玩家 4 + + + + Player 5 + 玩家 5 + + + + Player 6 + 玩家 6 + + + + Player 7 + 玩家 7 + + + + Player 8 + 玩家 8 + + + + Other + 其他 + + + + Keyboard + 键盘 + + + + + Advanced + 高级选项 + + + + Touchscreen + 触摸屏 + + + + Mouse + 鼠标 + + + + Motion / Touch + 体感/触摸 + + + + + Configure + 设置 + + + + Debug Controller + 控制器调试 + + + + ConfigureInputPlayer + + + Configure Input + 输入设置 + + + + Connect Controller + 已连接控制器 + + + + + + Pro Controller + Pro Controller + + + + + Dual Joycons + 双 Joycons 手柄 + + + + + Left Joycon + 左 Joycon 手柄 + + + + + Right Joycon + 右 Joycon 手柄 + + + + + Handheld + 掌机模式 + + + + Input Device + 输入设备 + + + + Any + 任意 + + + + Keyboard/Mouse + 键盘/鼠标 + + + + Profile + 用户配置 + + + + Save + 保存 + + + + New + 新建 + + + + Delete + 删除 + + + + Left Stick + 左摇杆 + + + + + + + + + Up + + + + + + + + + + Left + + + + + + + + + + Right + + + + + + + + + + Down + + + + + + + + Pressed + 按下 + + + + + + + Modifier + 轻推 + + + + + Range + 灵敏度 + + + + + % + % + + + + + Deadzone: 0% + 摇杆死区:0% + + + + + Modifier Range: 0% + 摇杆灵敏度:0% + + + + D-Pad + 十字方向键 + + + + + L + L + + + + + ZL + ZL + + + + + Minus + + + + + + Capture + 截图 + + + + + Plus + + + + + + Home + Home + + + + + R + R + + + + + ZR + ZR + + + + + SL + SL + + + + + SR + SR + + + + Face Buttons + 主要按键 + + + + + X + X + + + + + Y + Y + + + + + A + A + + + + + B + B + + + + Right Stick + 右摇杆 + + + + + Deadzone: %1% + 摇杆死区:%1% + + + + + Modifier Range: %1% + 摇杆灵敏度:%1% + + + + [waiting] + [等待中] + + + + ConfigureMotionTouch + + + Configure Motion / Touch + 体感/触摸设置 + + + + Motion + 体感 + + + + Motion Provider: + 体感设备: + + + + Sensitivity: + 灵敏度: + + + + Touch + 触摸 + + + + Touch Provider: + 触摸设备: + + + + Calibration: + 触摸校准: + + + + (100, 50) - (1800, 850) + (100, 50) - (1800, 850) + + + + + + Configure + 设置 + + + + Use button mapping: + 使用按键映射: + + + + CemuhookUDP Config + CemuhookUDP 设置 + + + + You may use any Cemuhook compatible UDP input source to provide motion and touch input. + 您可以使用任何与 Cemuhook 兼容的 UDP 输入源来提供体感和触摸输入。 + + + + Server: + 服务器: + + + + Port: + 端口: + + + + Pad: + Pad: + + + + Pad 1 + Pad 1 + + + + Pad 2 + Pad 2 + + + + Pad 3 + Pad 3 + + + + Pad 4 + Pad 4 + + + + Learn More + 了解更多 + + + + + Test + 测试 + + + + Mouse (Right Click) + 鼠标 (右键) + + + + + CemuhookUDP + CemuhookUDP + + + + Emulator Window + 模拟器窗口 + + + + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a> + <a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">了解更多</span></a> + + + + Testing + 测试中 + + + + Configuring + 配置中 + + + + Test Successful + 测试成功 + + + + Successfully received data from the server. + 已成功地从服务器获取数据。 + + + + Test Failed + 测试失败 + + + + Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct. + 无法从服务器获取数据。<br>请验证服务器是否正在运行,以及地址和端口是否配置正确。 + + + + Citra + Citra + + + + UDP Test or calibration configuration is in progress.<br>Please wait for them to finish. + UDP 测试或触摸校准正在进行中。<br>请耐心等待。 + + + + ConfigureMouseAdvanced + + + Configure Mouse + 鼠标设置 + + + + Mouse Buttons + 鼠标按键 + + + + Forward: + 前: + + + + Back: + 后: + + + + Left: + 左: + + + + Middle: + 中: + + + + Right: + 右: + + + + + Clear + 清除 + + + + Defaults + 系统默认 + + + + [not set] + [未设置] + + + + Restore Default + 恢复默认 + + + + [press key] + [请按一个键] + + + + ConfigurePerGame + + + Dialog + 对话框 + + + + Info + 信息 + + + + Name + 名称 + + + + Title ID + 游戏 ID + + + + Filename + 文件名 + + + + Format + 格式 + + + + Version + 版本 + + + + Size + 大小 + + + + Developer + 开发商 + + + + Add-Ons + 附加项 + + + + General + 通用 + + + + System + 系统 + + + + Graphics + 图形 + + + + Adv. Graphics + 高级图形 + + + + Audio + 声音 + + + + Properties + 属性 + + + + Use global configuration (%1) + 使用全局设置 (%1) + + + + ConfigurePerGameAddons + + + Form + 类型 + + + + Patch Name + 补丁名称 + + + + Version + 版本 + + + + ConfigureProfileManager + + + Form + 类型 + + + + Profile Manager + 用户配置管理 + + + + Current User + 当前用户 + + + + Username + 用户名 + + + + Set Image + 设置图像 + + + + Add + 添加 + + + + Rename + 重命名 + + + + Remove + 移除 + + + + Profile management is available only when game is not running. + 只有当游戏不在运行时,才能进行用户配置的管理。 + + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Enter Username + 输入用户名 + + + + Users + 用户 + + + + Enter a username for the new user: + 输入新用户的用户名: + + + + Enter a new username: + 输入新的用户名: + + + + Confirm Delete + 确认删除 + + + + You are about to delete user with name "%1". Are you sure? + 您确定要删除用户名为 “%1” 的用户吗? + + + + Select User Image + 选择用户图像 + + + + JPEG Images (*.jpg *.jpeg) + JPEG 图像 (*.jpg *.jpeg) + + + + Error deleting image + 删除图像时出错 + + + + Error occurred attempting to overwrite previous image at: %1. + 尝试覆盖该用户的现有图像时出错: %1 + + + + Error deleting file + 删除文件时出错 + + + + Unable to delete existing file: %1. + 无法删除文件: %1 + + + + Error creating user image directory + 创建用户图像目录时出错 + + + + Unable to create directory %1 for storing user images. + 无法创建存储用户图像的目录 %1 。 + + + + Error copying user image + 复制用户图像时出错 + + + + Unable to copy image from %1 to %2 + 无法将图像从 %1 复制到 %2 + + + + ConfigureService + + + Form + 类型 + + + + BCAT + BCAT + + + + BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content. + BCAT 是任天堂向游戏发送数据的一种方式,以此吸引游戏玩家,并可能解锁额外的内容。 + + + + BCAT Backend + BCAT 后端 + + + + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">Learn more about BCAT, Boxcat, and Current Events</span></a></p></body></html> + <html><head/><body><p><a href="https://yuzu-emu.org/help/feature/boxcat"><span style=" text-decoration: underline; color:#0000ff;">了解关于 BCAT、Boxcat 和当前事件的更多信息</span></a></p></body></html> + + + + The boxcat service is offline or you are not connected to the internet. + Boxcat 服务处于离线状态,或者您没有连接到互联网。 + + + + There was an error while processing the boxcat event data. Contact the yuzu developers. + 处理 Boxcat 事件数据时出错。请联系 yuzu 开发者。 + + + + The version of yuzu you are using is either too new or too old for the server. Try updating to the latest official release of yuzu. + 您使用的 yuzu 版本过新或过旧。尝试更新到官方的最新版本。 + + + + + There are currently no events on boxcat. + 当前 Boxcat 上没有事件。 + + + + + Current Boxcat Events + 当前 Boxcat 事件 + + + + Yuzu is retrieving the latest boxcat status... + Yuzu 正在检索 Boxcat 的最新状态... + + + + ConfigureSystem + + + Form + Form + + + + System Settings + 系统设置 + + + + Region: + 地区: + + + + Auto + 自动 + + + + Default + 系统默认 + + + + CET + 欧洲中部时间 + + + + CST6CDT + 古巴标准时间&古巴夏令时 + + + + Cuba + 古巴 + + + + EET + 东欧时间 + + + + Egypt + 埃及 + + + + Eire + 爱尔兰 + + + + EST + 东部标准时间 + + + + EST5EDT + 东部标准时间&东部夏令时 + + + + GB + 国家标准时间 + + + + GB-Eire + 爱尔兰国家标准时间 + + + + GMT + 格林威治标准时间 (GMT) + + + + GMT+0 + GMT+0 + + + + GMT-0 + GMT-0 + + + + GMT0 + GMT0 + + + + Greenwich + 格林威治 + + + + Hongkong + 中国香港 + + + + HST + 美国夏威夷时间 + + + + Iceland + 冰岛 + + + + Iran + 伊朗 + + + + Israel + 以色列 + + + + Jamaica + 牙买加 + + + + + Japan + 日本 + + + + Kwajalein + 夸贾林环礁 + + + + Libya + 利比亚 + + + + MET + 中欧时间 + + + + MST + 山区标准时间 (北美) + + + + MST7MDT + 山区标准时间&山区夏令时 (北美) + + + + Navajo + 纳瓦霍 + + + + NZ + 新西兰时间 + + + + NZ-CHAT + 新西兰-查塔姆群岛 + + + + Poland + 波兰 + + + + Portugal + 葡萄牙 + + + + PRC + 中国标准时间 + + + + PST8PDT + 太平洋标准时间&太平洋夏令时 + + + + ROC + ROC + + + + ROK + ROK + + + + Singapore + 新加坡 + + + + Turkey + 土耳其 + + + + UCT + UCT + + + + Universal + 世界时间 + + + + UTC + 协调世界时 + + + + W-SU + 欧洲-莫斯科时间 + + + + WET + 西欧时间 + + + + Zulu + 祖鲁 + + + + USA + 美国 + + + + Europe + 欧洲 + + + + Australia + 澳大利亚 + + + + China + 中国 + + + + Korea + 朝鲜 + + + + Taiwan + 中国台湾 + + + + Time Zone: + 时区: + + + + Note: this can be overridden when region setting is auto-select + 注意:当“地区”设置是“自动选择”时,此设置可能会被覆盖。 + + + + Japanese (日本語) + 日语 (日本語) + + + + English + 英语 + + + + French (français) + 法语 (français) + + + + German (Deutsch) + 德语 (Deutsch) + + + + Italian (italiano) + 意大利语 (italiano) + + + + Spanish (español) + 西班牙语 (español) + + + + Chinese + 中文 + + + + Korean (한국어) + 韩语 (한국어) + + + + Dutch (Nederlands) + 荷兰语 (Nederlands) + + + + Portuguese (português) + 葡萄牙语 (português) + + + + Russian (Русский) + 俄语 (Русский) + + + + Taiwanese + 台湾中文 + + + + British English + 英式英语 + + + + Canadian French + 加拿大法语 + + + + Latin American Spanish + 拉美西班牙语 + + + + Simplified Chinese + 简体中文 + + + + Traditional Chinese (正體中文) + 繁体中文 (正體中文) + + + + Custom RTC + 自定义系统时间 + + + + Language + 语言 + + + + RNG Seed + 随机数生成器种子 + + + + Mono + 单声道 + + + + Stereo + 立体声 + + + + Surround + 环绕声 + + + + Console ID: + 设备 ID: + + + + Sound output mode + 声音输出模式 + + + + d MMM yyyy h:mm:ss AP + d MMM yyyy h:mm:ss AP + + + + Regenerate + 重置 ID + + + + System settings are available only when game is not running. + 只有当游戏不在运行时,系统设置才可用。 + + + + This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue? + 这将使用一个新的虚拟 Switch 取代你当前的虚拟 Switch。您当前的虚拟 Switch 将无法恢复。在部分游戏中可能会出现意外效果。如果你使用一个过时的配置存档这可能会失败。确定要继续吗? + + + + Warning + 警告 + + + + Console ID: 0x%1 + 设备 ID: 0x%1 + + + + ConfigureTouchFromButton + + + Configure Touchscreen Mappings + 配置触摸屏映射 + + + + Mapping: + 映射: + + + + New + 新建 + + + + Delete + 删除 + + + + Rename + 重命名 + + + + Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values. + 单击屏幕底部区域添加点位,然后按下按键进行绑定。 +拖动点位以改变位置,或双击列表项更改绑定。 + + + + Delete Point + 删除点位 + + + + Button + 按键 + + + + X + X axis + X + + + + Y + Y axis + Y + + + + New Profile + 保存自定义设置 + + + + Enter the name for the new profile. + 为新的自定义设置命名。 + + + + Delete Profile + 删除自定义设置 + + + + Delete profile %1? + 真的要删除自定义设置 %1 吗? + + + + Rename Profile + 重命名自定义设置 + + + + New name: + 新名称: + + + + [press key] + [请按一个键] + + + + ConfigureTouchscreenAdvanced + + + Configure Touchscreen + 触摸屏设置 + + + + Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing. + 警告:此页面中的设置会影响 yuzu 的模拟触摸屏的内部工作方式。改变它们可能造成不良后果,例如触摸屏完全或部分失效。如果您不知道自己在做什么,请不要使用此页面。 + + + + Touch Parameters + 触摸参数 + + + + Touch Diameter Y + 触摸直径 Y + + + + Finger + 手指 + + + + Touch Diameter X + 触摸直径 X + + + + Rotational Angle + 旋转角度 + + + + Restore Defaults + 恢复默认 + + + + ConfigureUi + + + Form + 类型 + + + + General + 通用 + + + + Note: Changing language will apply your configuration. + 注意: 切换语言将应用您的配置。 + + + + Interface language: + 界面语言: + + + + Theme: + 主题: + + + + Game List + 游戏列表 + + + + Show Add-Ons Column + 显示“附加项”列 + + + + Icon Size: + 图标大小: + + + + Row 1 Text: + 第一行: + + + + Row 2 Text: + 第二行: + + + + Screenshots + 捕获截图 + + + + Ask Where To Save Screenshots (Windows Only) + 询问保存截图的位置 (仅限 Windows ) + + + + Screenshots Path: + 截图保存位置: + + + + ... + ... + + + + Select Screenshots Path... + 选择截图保存位置... + + + + <System> + <System> + + + + English + 英语 + + + + ConfigureWeb + + + Form + Form + + + + yuzu Web Service + yuzu 网络服务 + + + + By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information. + 提供您的用户名和令牌意味着您同意让 yuzu 收集额外的使用数据,其中可能包括用户识别信息。 + + + + + Verify + 验证 + + + + Sign up + 注册 + + + + Token: + 令牌: + + + + Username: + 用户名: + + + + What is my token? + 我的令牌是? + + + + Telemetry + 使用数据共享 + + + + Share anonymous usage data with the yuzu team + 与 yuzu 团队共享匿名使用数据 + + + + Learn more + 了解更多 + + + + Telemetry ID: + 数据 ID: + + + + Regenerate + 重新生成 + + + + Discord Presence + Discord 状态 + + + + Show Current Game in your Discord Status + 在您的 Discord 状态中显示当前游戏 + + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a> + <a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">了解更多</span></a> + + + + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a> + <a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">注册</span></a> + + + + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a> + <a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">我的令牌是?</span></a> + + + + + Telemetry ID: 0x%1 + 数据 ID: 0x%1 + + + + + Unspecified + 未指定 + + + + Token not verified + 令牌未被验证 + + + + Token was not verified. The change to your token has not been saved. + 令牌未被验证。您对用户名和令牌的更改尚未保存。 + + + + Verifying... + 验证中... + + + + Verification failed + 验证失败 + + + + Verification failed. Check that you have entered your token correctly, and that your internet connection is working. + 验证失败。请检查您输入的令牌是否正确,并且确保您的互联网连接正常。 + + + + GMainWindow + + + <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>我们收集匿名数据</a>来帮助改进 yuzu 。<br/><br/>您愿意和我们分享您的使用数据吗? + + + + Telemetry + 使用数据共享 + + + + Text Check Failed + 文本检查失败 + + + + Loading Web Applet... + 正在加载 Web 应用程序... + + + + Exit Web Applet + 退出 Web 应用程序 + + + + Exit + 退出 + + + + To exit the web application, use the game provided controls to select exit, select the 'Exit Web Applet' option in the menu bar, or press the 'Enter' key. + 若要退出 Web 应用程序,请使用游戏内提供的方式退出,在菜单栏中选择“退出 Web 应用程序”选项,或者按 "Enter" 键。 + + + + Web Applet + Web 应用程序 + + + + This version of yuzu was built without QtWebEngine support, meaning that yuzu cannot properly display the game manual or web page requested. + 此版本的 yuzu 没有 QtWebEngine 的支持。这意味着 yuzu 无法正确显示所请求的游戏手册或网页。 + + + + The amount of shaders currently being built + 当前正在构建的着色器的数量 + + + + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. + 当前的模拟速度。高于或低于 100% 的值表示模拟正在运行得比实际 Switch 更快或更慢。 + + + + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. + 游戏当前运行的帧率。这将因游戏和场景的不同而有所变化。 + + + + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. + 在不计算速度限制和垂直同步的情况下,模拟一个 Switch 帧的实际时间。若要进行全速模拟,这个数值不应超过 16.67 毫秒。 + + + + DOCK + DOCK + + + + ASYNC + 异步 + + + + MULTICORE + 多核 + + + + VULKAN + VULKAN + + + + OPENGL + OPENGL + + + + Clear Recent Files + 清除最近文件 + + + + Warning Outdated Game Format + 过时游戏格式警告 + + + + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. + 目前使用的游戏为解体的 ROM 目录格式,这是一种过时的格式,已被其他格式替代,如 NCA,NAX,XCI 或 NSP。解体的 ROM 目录缺少图标、元数据和更新支持。<br><br>有关 yuzu 支持的各种 Switch 格式的说明,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>请查看我们的 wiki</a>。此消息将不会再次出现。 + + + + + Error while loading ROM! + 加载 ROM 时出错! + + + + The ROM format is not supported. + 该 ROM 格式不受支持。 + + + + An error occurred initializing the video core. + 在初始化视频核心时发生错误。 + + + + yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU. + yuzu 在运行视频核心时遇到错误,请查看日志了解更多详细信息。有关查看日志的更多信息,请参阅以下页面:<a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>。请确保您的 GPU 安装了最新的图形驱动程序。 + + + + Error while loading ROM! + 加载 ROM 时出错! + + + + An unknown error occurred. Please see the log for more details. + 发生了未知错误。请查看日志了解详情。 + + + + Start + 开始 + + + + Save Data + 保存数据 + + + + Mod Data + Mod 数据 + + + + Error Opening %1 Folder + 打开 %1 文件夹时出错 + + + + + Folder does not exist! + 文件夹不存在! + + + + Error Opening Transferable Shader Cache + 打开可转移着色器缓存时出错 + + + + + A shader cache for this title does not exist. + 这个游戏的着色器缓存不存在。 + + + + Contents + 目录 + + + + Update + 游戏更新 + + + + DLC + DLC + + + + Remove Entry + 删除项目 + + + + Remove Installed Game %1? + 删除已安装的游戏 %1 ? + + + + + + + + Successfully Removed + 删除成功 + + + + Successfully removed the installed base game. + 成功删除已安装的游戏。 + + + + + + Error Removing %1 + 删除 %1 时出错 + + + + The base game is not installed in the NAND and cannot be removed. + 该游戏未安装于 NAND 中,无法删除。 + + + + Successfully removed the installed update. + 成功删除已安装的游戏更新。 + + + + There is no update installed for this title. + 这个游戏没有任何已安装的更新。 + + + + There are no DLC installed for this title. + 这个游戏没有任何已安装的 DLC 。 + + + + Successfully removed %1 installed DLC. + 成功删除游戏 %1 安装的 DLC 。 + + + + Delete Transferable Shader Cache? + 删除着色器缓存? + + + + Remove Custom Game Configuration? + 移除自定义游戏设置? + + + + Remove File + 删除文件 + + + + + Error Removing Transferable Shader Cache + 删除着色器缓存时出错 + + + + Successfully removed the transferable shader cache. + 成功删除着色器缓存。 + + + + Failed to remove the transferable shader cache. + 删除着色器缓存失败。 + + + + + Error Removing Custom Configuration + 移除自定义游戏设置时出错 + + + + A custom configuration for this title does not exist. + 这个游戏的自定义设置不存在。 + + + + Successfully removed the custom game configuration. + 成功移除自定义游戏设置。 + + + + Failed to remove the custom game configuration. + 移除自定义游戏设置失败。 + + + + RomFS Extraction Failed! + RomFS 提取失败! + + + + There was an error copying the RomFS files or the user cancelled the operation. + 复制 RomFS 文件时出错,或用户取消了操作。 + + + + Full + 完整 + + + + Skeleton + 框架 + + + + Select RomFS Dump Mode + 选择 RomFS 转储模式 + + + + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. + 请选择希望 RomFS 转储的方式。<br>“Full” 会将所有文件复制到新目录中,而<br>“Skeleton” 只会创建目录结构。 + + + + Extracting RomFS... + 正在提取 RomFS... + + + + + Cancel + 取消 + + + + RomFS Extraction Succeeded! + RomFS 提取成功! + + + + The operation completed successfully. + 操作成功完成。 + + + + Error Opening %1 + 打开 %1 时出错 + + + + Select Directory + 选择目录 + + + + Properties + 属性 + + + + The game properties could not be loaded. + 无法加载该游戏的属性信息。 + + + + Switch Executable (%1);;All Files (*.*) + %1 is an identifier for the Switch executable file extensions. + Switch 可执行文件 (%1);;所有文件 (*.*) + + + + Load File + 加载文件 + + + + Open Extracted ROM Directory + 打开提取的 ROM 目录 + + + + Invalid Directory Selected + 选择的目录无效 + + + + The directory you have selected does not contain a 'main' file. + 选择的目录不包含 “main” 文件。 + + + + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) + 可安装的 Switch 文件 (*.nca *.nsp *.xci);;任天堂内容档案 (*.nca);;任天堂应用包 (*.nsp);;NX 卡带镜像 (*.xci) + + + + Install Files + 安装文件 + + + + Installing file "%1"... + 正在安装文件 "%1"... + + + + Install Results + 安装结果 + + + + System Application + 系统应用 + + + + System Archive + 系统档案 + + + + System Application Update + 系统应用更新 + + + + Firmware Package (Type A) + 固件包 (A型) + + + + Firmware Package (Type B) + 固件包 (B型) + + + + Game + 游戏 + + + + Game Update + 游戏更新 + + + + Game DLC + 游戏 DLC + + + + Delta Title + 差量程序 + + + + Select NCA Install Type... + 选择 NCA 安装类型... + + + + Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.) + 请选择此 NCA 的程序类型: +(在大多数情况下,选择默认的“游戏”即可。) + + + + Failed to Install + 安装失败 + + + + The title type you selected for the NCA is invalid. + 选择的 NCA 程序类型无效。 + + + + File not found + 找不到文件 + + + + File "%1" not found + 文件 "%1" 未找到 + + + + + Continue + 继续 + + + + Error Display + 错误显示 + + + + Missing yuzu Account + 未设置 yuzu 账户 + + + + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. + 要提交游戏兼容性测试用例,您必须设置您的 yuzu 帐户。<br><br/>要设置您的 yuzu 帐户,请转到模拟 &gt; 设置 &gt; 网络。 + + + + Error opening URL + 打开 URL 时出错 + + + + Unable to open the URL "%1". + 无法打开 URL : "%1" 。 + + + + Amiibo File (%1);; All Files (*.*) + Amiibo 文件 (%1);; 全部文件 (*.*) + + + + Load Amiibo + 加载 Amiibo + + + + Error opening Amiibo data file + 打开 Amiibo 数据文件时出错 + + + + Unable to open Amiibo file "%1" for reading. + 无法打开 Amiibo 文件 %1。 + + + + Error reading Amiibo data file + 读取 Amiibo 数据文件时出错 + + + + Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes. + 无法完全读取 Amiibo 数据。应读取 %1 个字节,但实际仅能读取 %2 个字节。 + + + + Error loading Amiibo data + 加载 Amiibo 数据时出错 + + + + Unable to load Amiibo data. + 无法加载 Amiibo 数据。 + + + + Capture Screenshot + 捕获截图 + + + + PNG Image (*.png) + PNG 图像 (*.png) + + + + Speed: %1% / %2% + 速度: %1% / %2% + + + + Speed: %1% + 速度: %1% + + + + Game: %1 FPS + FPS: %1 + + + + Frame: %1 ms + 帧延迟:%1 毫秒 + + + + The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + 您正尝试启动的游戏需要从 Switch 转储的其他文件。<br/><br/>有关转储这些文件的更多信息,请参阅以下 wiki 页面:<a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>。<br/><br/>您要退出并返回至游戏列表吗?继续模拟可能会导致崩溃,存档损坏或其他错误。 + + + + yuzu was unable to locate a Switch system archive. %1 + Yuzu 找不到 Switch 系统档案 %1 + + + + yuzu was unable to locate a Switch system archive: %1. %2 + Yuzu 找不到 Switch 系统档案: %1, %2 + + + + System Archive Not Found + 未找到系统档案 + + + + System Archive Missing + 系统档案缺失 + + + + yuzu was unable to locate the Switch shared fonts. %1 + Yuzu 找不到 Swtich 共享字体 %1 + + + + Shared Fonts Not Found + 未找到共享字体 + + + + Shared Font Missing + 共享字体文件缺失 + + + + Fatal Error + 致命错误 + + + + yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs. + yuzu 遇到了致命错误,请查看日志了解详情。有关查找日志的更多信息,请参阅以下页面:<a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>。<br/><br/>您要退出并返回至游戏列表吗?继续模拟可能会导致崩溃,存档损坏或其他错误。 + + + + Fatal Error encountered + 发生致命错误 + + + + Confirm Key Rederivation + 确认重新生成密钥 + + + + You are about to force rederive all of your keys. +If you do not know what this means or what you are doing, +this is a potentially destructive action. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module. + 即将强制重新生成您的全部密钥。 +如果您不清楚这意味着什么,或您在做什么, +这可能具有破坏性后果。 +请确保您希望这样做,并且做好备份。 + +这将删除您自动生成的密钥文件并重新运行密钥生成模块。 + + + + Missing fuses + 项目丢失 + + + + - Missing BOOT0 + - 丢失 BOOT0 + + + + - Missing BCPKG2-1-Normal-Main + - 丢失 BCPKG2-1-Normal-Main + + + + - Missing PRODINFO + - 丢失 PRODINFO + + + + Derivation Components Missing + 组件丢失 + + + + Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small> + 缺少组件可能会影响密钥的使用。<br>请查看<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速导航</a>以获得你的密钥和游戏。<br><br><small>(%1)</small> + + + + Deriving keys... +This may take up to a minute depending +on your system's performance. + 正在生成密钥... +这可能需要最多一分钟,具体取决于 +您的系统性能。 + + + + Deriving Keys + 生成密钥 + + + + Select RomFS Dump Target + 选择 RomFS 转储目标 + + + + Please select which RomFS you would like to dump. + 请选择希望转储的 RomFS。 + + + + + + yuzu + yuzu + + + + Are you sure you want to close yuzu? + 您确定要关闭 yuzu 吗? + + + + Are you sure you want to stop the emulation? Any unsaved progress will be lost. + 您确定要停止模拟吗?未保存的进度将会丢失。 + + + + The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway? + 当前运行的应用程序请求 yuzu 不要退出。 + +您希望忽略并退出吗? + + + + GRenderWindow + + + OpenGL not available! + OpenGL 模式不可用! + + + + yuzu has not been compiled with OpenGL support. + yuzu 没有使用 OpenGL 进行编译。 + + + + Vulkan not available! + Vulkan 模式不可用! + + + + yuzu has not been compiled with Vulkan support. + yuzu 没有使用 Vulkan 进行编译。 + + + + Error while initializing OpenGL 4.3! + 初始化 OpenGL 4.3 时出错! + + + + Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver. + 您的 GPU 可能不支持 OpenGL 4.3 ,或者您没有安装最新的显卡驱动。 + + + + Error while initializing OpenGL! + 初始化 OpenGL 时出错! + + + + Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>Unsupported extensions:<br> + 您的 GPU 可能不支持某些必需的 OpenGL 扩展。请确保您已经安装最新的显卡驱动。<br><br>不支持的扩展:<br> + + + + GameList + + + + Name + 名称 + + + + + Compatibility + 兼容性 + + + + + Add-ons + 附加项 + + + + + + + File type + 文件类型 + + + + + + + Size + 大小 + + + + Open Save Data Location + 打开存档位置 + + + + Open Mod Data Location + 打开 MOD 数据位置 + + + + Open Transferable Shader Cache + 打开可转移着色器缓存 + + + + Remove + 删除 + + + + Remove Installed Update + 删除已安装的游戏更新 + + + + Remove All Installed DLC + 删除所有已安装 DLC + + + + Remove Shader Cache + 删除着色器缓存 + + + + Remove Custom Configuration + 删除自定义设置 + + + + Remove All Installed Contents + 删除所有安装的项目 + + + + Dump RomFS + 转储 RomFS + + + + Copy Title ID to Clipboard + 复制游戏 ID 到剪贴板 + + + + Navigate to GameDB entry + 查看兼容性报告 + + + + Properties + 属性 + + + + Scan Subfolders + 扫描子文件夹 + + + + Remove Game Directory + 移除游戏目录 + + + + ▲ Move Up + ▲ 向上移动 + + + + ▼ Move Down + ▼ 向下移动 + + + + Open Directory Location + 打开目录位置 + + + + GameListItemCompat + + + Perfect + 完美 + + + + Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed. + 游戏功能完美,没有音频或图形问题,所有测试功能按预期工作,无需需要任何解决办法。 + + + + Great + 良好 + + + + Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds. + 游戏运行时会有非常轻微的图像或音频问题,但是能从头玩到尾。可能需要一些技巧才能完成游戏。 + + + + Okay + 一般 + + + + Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds. + 游戏运行时会有很多图像或音频错误,但是在使用一些特殊技巧之后能完整地完成游戏。 + + + + Bad + 较差 + + + + Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds. + 游戏能运行,但是会有大量图像或音频错误。即使使用一些技巧也无法通过游戏的某些区域。 + + + + Intro/Menu + 开场 / 菜单 + + + + Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen. + 游戏完全没法玩,图像或音频有重大错误。通过开场菜单后无法继续。 + + + + Won't Boot + 无法打开 + + + + The game crashes when attempting to startup. + 在启动游戏时直接崩溃了。 + + + + Not Tested + 未测试 + + + + The game has not yet been tested. + 游戏尚未经过测试。 + + + + GameListPlaceholder + + + Double-click to add a new folder to the game list + 双击以添加新的游戏文件夹 + + + + GameListSearchField + + + Filter: + 搜索: + + + + Enter pattern to filter + 搜索游戏 + + + + InstallDialog + + + Please confirm these are the files you wish to install. + 请确认这些您想要安装的文件。 + + + + Installing an Update or DLC will overwrite the previously installed one. + 安装游戏更新或 DLC 时,会覆盖以前安装的内容。 + + + + Install + 安装 + + + + Install Files to NAND + 安装文件到 NAND + + + + LoadingScreen + + + Loading Shaders 387 / 1628 + 正在加载着色器: 387 / 1628 + + + + Loading Shaders %v out of %m + 正在加载着色器: %v / %m + + + + Estimated Time 5m 4s + 所需时间: 5 分 4 秒 + + + + Loading... + 加载中... + + + + Loading Shaders %1 / %2 + 正在加载着色器: %1 / %2 + + + + Launching... + 启动中... + + + + Estimated Time %1 + 所需时间: %1 + + + + MainWindow + + + yuzu + yuzu + + + + &File + 文件 (&F) + + + + Recent Files + 最近文件 + + + + &Emulation + 模拟 (&E) + + + + &View + 视图 (&V) + + + + Debugging + 调试 + + + + Tools + 工具 + + + + &Help + 帮助 (&H) + + + + Install Files to NAND... + 安装文件到 NAND... + + + + Load File... + 加载文件... + + + + Load Folder... + 加载文件夹... + + + + E&xit + 退出 (&X) + + + + &Start + 开始 (&S) + + + + &Pause + 暂停 (&P) + + + + &Stop + 停止 (&S) + + + + Reinitialize keys... + 重新生成密钥... + + + + About yuzu + 关于 yuzu + + + + Single Window Mode + 单窗口模式 + + + + Configure... + 设置... + + + + Display Dock Widget Headers + 显示停靠小部件的标题 + + + + Show Filter Bar + 显示搜索栏 + + + + Show Status Bar + 显示状态栏 + + + + Reset Window Size + 重置窗口大小 + + + + Fullscreen + 全屏 + + + + Restart + 重新启动 + + + + Load Amiibo... + 加载 Amiibo... + + + + Report Compatibility + 报告兼容性 + + + + Open Mods Page + 打开 Mod 页面 + + + + Open Quickstart Guide + 查看快速导航 + + + + FAQ + FAQ + + + + Open yuzu Folder + 打开 yuzu 文件夹 + + + + Capture Screenshot + 捕获截图 + + + + Configure Current Game.. + 配置当前游戏... + + + + MicroProfileDialog + + + MicroProfile + MicroProfile + + + + QObject + + + Installed SD Titles + SD 卡中安装的项目 + + + + Installed NAND Titles + NAND 中安装的项目 + + + + System Titles + 系统项目 + + + + Add New Game Directory + 添加游戏目录 + + + + + + Shift + Shift + + + + + + Ctrl + Ctrl + + + + + + Alt + Alt + + + + + + + [not set] + [未设置] + + + + + + Hat %1 %2 + 方向键 %1 %2 + + + + + + Axis %1%2 + 轴 %1%2 + + + + + + Button %1 + 按键 %1 + + + + + + + [unknown] + [未知] + + + + + Click 0 + 点击 0 + + + + + Click 1 + 点击 1 + + + + + Click 2 + 点击 2 + + + + + Click 3 + 点击 3 + + + + + Click 4 + 点击 4 + + + + GC Axis %1%2 + GC 轴 %1%2 + + + + GC Button %1 + GC 按键 %1 + + + + + [unused] + [未使用] + + + + + Axis %1 + 轴 %1 + + + + + GC Axis %1 + GC 轴 %1 + + + + QtErrorDisplay + + + An error has occured. +Please try again or contact the developer of the software. + +Error Code: %1-%2 (0x%3) + 发生了一个错误。 +请再试一次或联系开发者。 + +错误代码: %1-%2 (0x%3) + + + + An error occured on %1 at %2. +Please try again or contact the developer of the software. + +Error Code: %3-%4 (0x%5) + 在 %2 处的 %1 上发生了一个错误。 +请再试一次或联系开发者。 + +错误代码: %3-%4 (0x%5) + + + + An error has occured. +Error Code: %1-%2 (0x%3) + +%4 + +%5 + 发生了一个错误。 +错误代码: %1-%2 (0x%3) + +%4 + +%5 + + + + QtProfileSelectionDialog + + + %1 +%2 + %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) + %1 +%2 + + + + Select a user: + 选择一个用户: + + + + Users + 用户 + + + + Profile Selector + 选择用户 + + + + QtSoftwareKeyboardDialog + + + Enter text: + 输入文本: + + + + Software Keyboard + 软件键盘 + + + + SequenceDialog + + + Enter a hotkey + 键入热键 + + + + WaitTreeCallstack + + + Call stack + 调用栈 + + + + WaitTreeMutexInfo + + + waiting for mutex 0x%1 + 正在等待互斥锁 0x%1 + + + + has waiters: %1 + 等待中: %1 + + + + owner handle: 0x%1 + 所有者句柄: 0x%1 + + + + WaitTreeObjectList + + + waiting for all objects + 正在等待所有对象 + + + + waiting for one of the following objects + 正在等待下列对象中的一个 + + + + WaitTreeSynchronizationObject + + + [%1]%2 %3 + [%1]%2 %3 + + + + waited by no thread + 没有等待的线程 + + + + WaitTreeThread + + + + running + 运行中 + + + + ready + 就绪 + + + + + paused + 暂停 + + + + waiting for HLE return + 等待 HLE 返回 + + + + sleeping + 睡眠 + + + + waiting for IPC reply + 等待 IPC 响应 + + + + waiting for objects + 等待对象 + + + + waiting for mutex + 等待互斥锁 + + + + waiting for condition variable + 等待条件变量 + + + + waiting for address arbiter + 等待 address arbiter + + + + dormant + 休眠 + + + + dead + 死亡 + + + + PC = 0x%1 LR = 0x%2 + PC = 0x%1 LR = 0x%2 + + + + ideal + ideal + + + + core %1 + 核心 %1 + + + + Unknown processor %1 + 未知的处理器 %1 + + + + processor = %1 + 处理器 = %1 + + + + ideal core = %1 + 理想核心 = %1 + + + + affinity mask = %1 + 关联掩码 = %1 + + + + thread id = %1 + 线程 ID = %1 + + + + priority = %1(current) / %2(normal) + 优先级 = %1 (实时) / %2 (正常) + + + + last running ticks = %1 + 最后运行频率 = %1 + + + + not waiting for mutex + 未等待互斥锁 + + + + WaitTreeThreadList + + + waited by thread + 等待中的线程 + + + + WaitTreeWidget + + + Wait Tree + 等待树 + + + \ No newline at end of file From ffeb4ef83e731bb54a82080749ca22a263466788 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Wed, 23 Sep 2020 15:06:21 -0400 Subject: [PATCH 010/517] shader/registry: Make use of designated initializers where applicable Same behavior, less repetition. --- src/video_core/shader/registry.cpp | 34 ++++++++++++++++-------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/video_core/shader/registry.cpp b/src/video_core/shader/registry.cpp index cdf274e54..de9a3df90 100644 --- a/src/video_core/shader/registry.cpp +++ b/src/video_core/shader/registry.cpp @@ -24,31 +24,33 @@ GraphicsInfo MakeGraphicsInfo(ShaderType shader_stage, ConstBufferEngineInterfac if (shader_stage == ShaderType::Compute) { return {}; } - auto& graphics = static_cast(engine); - GraphicsInfo info; - info.tfb_layouts = graphics.regs.tfb_layouts; - info.tfb_varying_locs = graphics.regs.tfb_varying_locs; - info.primitive_topology = graphics.regs.draw.topology; - info.tessellation_primitive = graphics.regs.tess_mode.prim; - info.tessellation_spacing = graphics.regs.tess_mode.spacing; - info.tfb_enabled = graphics.regs.tfb_enabled; - info.tessellation_clockwise = graphics.regs.tess_mode.cw; - return info; + auto& graphics = dynamic_cast(engine); + + return { + .tfb_layouts = graphics.regs.tfb_layouts, + .tfb_varying_locs = graphics.regs.tfb_varying_locs, + .primitive_topology = graphics.regs.draw.topology, + .tessellation_primitive = graphics.regs.tess_mode.prim, + .tessellation_spacing = graphics.regs.tess_mode.spacing, + .tfb_enabled = graphics.regs.tfb_enabled != 0, + .tessellation_clockwise = graphics.regs.tess_mode.cw.Value() != 0, + }; } ComputeInfo MakeComputeInfo(ShaderType shader_stage, ConstBufferEngineInterface& engine) { if (shader_stage != ShaderType::Compute) { return {}; } - auto& compute = static_cast(engine); + + auto& compute = dynamic_cast(engine); const auto& launch = compute.launch_description; - ComputeInfo info; - info.workgroup_size = {launch.block_dim_x, launch.block_dim_y, launch.block_dim_z}; - info.local_memory_size_in_words = launch.local_pos_alloc; - info.shared_memory_size_in_words = launch.shared_alloc; - return info; + return { + .workgroup_size = {launch.block_dim_x, launch.block_dim_y, launch.block_dim_z}, + .shared_memory_size_in_words = launch.shared_alloc, + .local_memory_size_in_words = launch.local_pos_alloc, + }; } } // Anonymous namespace From cd6f4f7eed24d8562fbc8daec424e5a816ce6233 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Wed, 23 Sep 2020 15:08:31 -0400 Subject: [PATCH 011/517] shader/registry: Remove unnecessary namespace qualifiers Using statements already make these unnecessary. --- src/video_core/shader/registry.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/video_core/shader/registry.cpp b/src/video_core/shader/registry.cpp index de9a3df90..3cf922002 100644 --- a/src/video_core/shader/registry.cpp +++ b/src/video_core/shader/registry.cpp @@ -55,12 +55,11 @@ ComputeInfo MakeComputeInfo(ShaderType shader_stage, ConstBufferEngineInterface& } // Anonymous namespace -Registry::Registry(Tegra::Engines::ShaderType shader_stage, const SerializedRegistryInfo& info) +Registry::Registry(ShaderType shader_stage, const SerializedRegistryInfo& info) : stage{shader_stage}, stored_guest_driver_profile{info.guest_driver_profile}, bound_buffer{info.bound_buffer}, graphics_info{info.graphics}, compute_info{info.compute} {} -Registry::Registry(Tegra::Engines::ShaderType shader_stage, - Tegra::Engines::ConstBufferEngineInterface& engine) +Registry::Registry(ShaderType shader_stage, ConstBufferEngineInterface& engine) : stage{shader_stage}, engine{&engine}, bound_buffer{engine.GetBoundBuffer()}, graphics_info{MakeGraphicsInfo(shader_stage, engine)}, compute_info{MakeComputeInfo( shader_stage, engine)} {} @@ -115,8 +114,7 @@ std::optional Registry::ObtainSeparateSampler return value; } -std::optional Registry::ObtainBindlessSampler(u32 buffer, - u32 offset) { +std::optional Registry::ObtainBindlessSampler(u32 buffer, u32 offset) { const std::pair key = {buffer, offset}; const auto iter = bindless_samplers.find(key); if (iter != bindless_samplers.end()) { From 77532ebde3be78aa9a5471c496784d0151453289 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Wed, 23 Sep 2020 15:10:25 -0400 Subject: [PATCH 012/517] shader/registry: Silence a -Wshadow warning --- src/video_core/shader/registry.cpp | 8 ++++---- src/video_core/shader/registry.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/video_core/shader/registry.cpp b/src/video_core/shader/registry.cpp index 3cf922002..148d91fcb 100644 --- a/src/video_core/shader/registry.cpp +++ b/src/video_core/shader/registry.cpp @@ -59,10 +59,10 @@ Registry::Registry(ShaderType shader_stage, const SerializedRegistryInfo& info) : stage{shader_stage}, stored_guest_driver_profile{info.guest_driver_profile}, bound_buffer{info.bound_buffer}, graphics_info{info.graphics}, compute_info{info.compute} {} -Registry::Registry(ShaderType shader_stage, ConstBufferEngineInterface& engine) - : stage{shader_stage}, engine{&engine}, bound_buffer{engine.GetBoundBuffer()}, - graphics_info{MakeGraphicsInfo(shader_stage, engine)}, compute_info{MakeComputeInfo( - shader_stage, engine)} {} +Registry::Registry(ShaderType shader_stage, ConstBufferEngineInterface& engine_) + : stage{shader_stage}, engine{&engine_}, bound_buffer{engine_.GetBoundBuffer()}, + graphics_info{MakeGraphicsInfo(shader_stage, engine_)}, compute_info{MakeComputeInfo( + shader_stage, engine_)} {} Registry::~Registry() = default; diff --git a/src/video_core/shader/registry.h b/src/video_core/shader/registry.h index 231206765..4bebefdde 100644 --- a/src/video_core/shader/registry.h +++ b/src/video_core/shader/registry.h @@ -94,7 +94,7 @@ public: explicit Registry(Tegra::Engines::ShaderType shader_stage, const SerializedRegistryInfo& info); explicit Registry(Tegra::Engines::ShaderType shader_stage, - Tegra::Engines::ConstBufferEngineInterface& engine); + Tegra::Engines::ConstBufferEngineInterface& engine_); ~Registry(); From ddff03cff57ae6243de895413caf0a1c0b0e7758 Mon Sep 17 00:00:00 2001 From: german Date: Wed, 23 Sep 2020 17:51:09 -0500 Subject: [PATCH 013/517] Use different timing for motion --- .../service/hid/controllers/controller_base.h | 4 + src/core/hle/service/hid/controllers/npad.cpp | 218 +++++++++++------- src/core/hle/service/hid/controllers/npad.h | 4 + src/core/hle/service/hid/hid.cpp | 21 +- src/core/hle/service/hid/hid.h | 2 + 5 files changed, 165 insertions(+), 84 deletions(-) diff --git a/src/core/hle/service/hid/controllers/controller_base.h b/src/core/hle/service/hid/controllers/controller_base.h index 8bc69c372..f47a9e61c 100644 --- a/src/core/hle/service/hid/controllers/controller_base.h +++ b/src/core/hle/service/hid/controllers/controller_base.h @@ -31,6 +31,10 @@ public: virtual void OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* data, std::size_t size) = 0; + // When the controller is requesting a motion update for the shared memory + virtual void OnMotionUpdate(const Core::Timing::CoreTiming& core_timing, u8* data, + std::size_t size) {} + // Called when input devices should be loaded virtual void OnLoadInputDevices() = 0; diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 620386cd1..e34ee519e 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -365,44 +365,6 @@ void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* } const u32 npad_index = static_cast(i); - const std::array controller_sixaxes{ - &npad.sixaxis_full, &npad.sixaxis_handheld, &npad.sixaxis_dual_left, - &npad.sixaxis_dual_right, &npad.sixaxis_left, &npad.sixaxis_right, - }; - - for (auto* sixaxis_sensor : controller_sixaxes) { - sixaxis_sensor->common.entry_count = 16; - sixaxis_sensor->common.total_entry_count = 17; - - const auto& last_entry = - sixaxis_sensor->sixaxis[sixaxis_sensor->common.last_entry_index]; - - sixaxis_sensor->common.timestamp = core_timing.GetCPUTicks(); - sixaxis_sensor->common.last_entry_index = - (sixaxis_sensor->common.last_entry_index + 1) % 17; - - auto& cur_entry = sixaxis_sensor->sixaxis[sixaxis_sensor->common.last_entry_index]; - - cur_entry.timestamp = last_entry.timestamp + 1; - cur_entry.timestamp2 = cur_entry.timestamp; - } - - // Try to read sixaxis sensor states - std::array motion_devices; - - if (sixaxis_sensors_enabled && Settings::values.motion_enabled) { - sixaxis_at_rest = true; - for (std::size_t e = 0; e < motion_devices.size(); ++e) { - const auto& device = motions[i][e]; - if (device) { - std::tie(motion_devices[e].accel, motion_devices[e].gyro, - motion_devices[e].rotation, motion_devices[e].orientation) = - device->GetStatus(); - sixaxis_at_rest = sixaxis_at_rest && motion_devices[e].gyro.Length2() < 0.0001f; - } - } - } - RequestPadStateUpdate(npad_index); auto& pad_state = npad_pad_states[npad_index]; @@ -446,13 +408,6 @@ void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* main_controller.pad.r_stick = pad_state.r_stick; libnx_entry.connection_status.IsWired.Assign(1); - - if (sixaxis_sensors_enabled && motions[i][0]) { - full_sixaxis_entry.accel = motion_devices[0].accel; - full_sixaxis_entry.gyro = motion_devices[0].gyro; - full_sixaxis_entry.rotation = motion_devices[0].rotation; - full_sixaxis_entry.orientation = motion_devices[0].orientation; - } break; case NPadControllerType::Handheld: handheld_entry.connection_status.raw = 0; @@ -471,13 +426,6 @@ void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* libnx_entry.connection_status.IsRightJoyConnected.Assign(1); libnx_entry.connection_status.IsLeftJoyWired.Assign(1); libnx_entry.connection_status.IsRightJoyWired.Assign(1); - - if (sixaxis_sensors_enabled && motions[i][0]) { - handheld_sixaxis_entry.accel = motion_devices[0].accel; - handheld_sixaxis_entry.gyro = motion_devices[0].gyro; - handheld_sixaxis_entry.rotation = motion_devices[0].rotation; - handheld_sixaxis_entry.orientation = motion_devices[0].orientation; - } break; case NPadControllerType::JoyDual: dual_entry.connection_status.raw = 0; @@ -490,21 +438,6 @@ void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* libnx_entry.connection_status.IsLeftJoyConnected.Assign(1); libnx_entry.connection_status.IsRightJoyConnected.Assign(1); - - if (sixaxis_sensors_enabled && motions[i][0]) { - // Set motion for the left joycon - dual_left_sixaxis_entry.accel = motion_devices[0].accel; - dual_left_sixaxis_entry.gyro = motion_devices[0].gyro; - dual_left_sixaxis_entry.rotation = motion_devices[0].rotation; - dual_left_sixaxis_entry.orientation = motion_devices[0].orientation; - } - if (sixaxis_sensors_enabled && motions[i][1]) { - // Set motion for the right joycon - dual_right_sixaxis_entry.accel = motion_devices[1].accel; - dual_right_sixaxis_entry.gyro = motion_devices[1].gyro; - dual_right_sixaxis_entry.rotation = motion_devices[1].rotation; - dual_right_sixaxis_entry.orientation = motion_devices[1].orientation; - } break; case NPadControllerType::JoyLeft: left_entry.connection_status.raw = 0; @@ -515,13 +448,6 @@ void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* left_entry.pad.r_stick = pad_state.r_stick; libnx_entry.connection_status.IsLeftJoyConnected.Assign(1); - - if (sixaxis_sensors_enabled && motions[i][0]) { - left_sixaxis_entry.accel = motion_devices[0].accel; - left_sixaxis_entry.gyro = motion_devices[0].gyro; - left_sixaxis_entry.rotation = motion_devices[0].rotation; - left_sixaxis_entry.orientation = motion_devices[0].orientation; - } break; case NPadControllerType::JoyRight: right_entry.connection_status.raw = 0; @@ -532,13 +458,6 @@ void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* right_entry.pad.r_stick = pad_state.r_stick; libnx_entry.connection_status.IsRightJoyConnected.Assign(1); - - if (sixaxis_sensors_enabled && motions[i][1]) { - right_sixaxis_entry.accel = motion_devices[1].accel; - right_sixaxis_entry.gyro = motion_devices[1].gyro; - right_sixaxis_entry.rotation = motion_devices[1].rotation; - right_sixaxis_entry.orientation = motion_devices[1].orientation; - } break; case NPadControllerType::Pokeball: pokeball_entry.connection_status.raw = 0; @@ -561,6 +480,143 @@ void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* shared_memory_entries.size() * sizeof(NPadEntry)); } +void Controller_NPad::OnMotionUpdate(const Core::Timing::CoreTiming& core_timing, u8* data, + std::size_t data_len) { + if (!IsControllerActivated()) { + return; + } + for (std::size_t i = 0; i < shared_memory_entries.size(); i++) { + auto& npad = shared_memory_entries[i]; + + const auto& controller_type = connected_controllers[i].type; + + if (controller_type == NPadControllerType::None || !connected_controllers[i].is_connected) { + continue; + } + + const std::array controller_sixaxes{ + &npad.sixaxis_full, &npad.sixaxis_handheld, &npad.sixaxis_dual_left, + &npad.sixaxis_dual_right, &npad.sixaxis_left, &npad.sixaxis_right, + }; + + for (auto* sixaxis_sensor : controller_sixaxes) { + sixaxis_sensor->common.entry_count = 16; + sixaxis_sensor->common.total_entry_count = 17; + + const auto& last_entry = + sixaxis_sensor->sixaxis[sixaxis_sensor->common.last_entry_index]; + + sixaxis_sensor->common.timestamp = core_timing.GetCPUTicks(); + sixaxis_sensor->common.last_entry_index = + (sixaxis_sensor->common.last_entry_index + 1) % 17; + + auto& cur_entry = sixaxis_sensor->sixaxis[sixaxis_sensor->common.last_entry_index]; + + cur_entry.timestamp = last_entry.timestamp + 1; + cur_entry.timestamp2 = cur_entry.timestamp; + } + + // Try to read sixaxis sensor states + std::array motion_devices; + + if (sixaxis_sensors_enabled && Settings::values.motion_enabled) { + sixaxis_at_rest = true; + for (std::size_t e = 0; e < motion_devices.size(); ++e) { + const auto& device = motions[i][e]; + if (device) { + std::tie(motion_devices[e].accel, motion_devices[e].gyro, + motion_devices[e].rotation, motion_devices[e].orientation) = + device->GetStatus(); + sixaxis_at_rest = sixaxis_at_rest && motion_devices[e].gyro.Length2() < 0.0001f; + } + } + } + + auto& main_controller = + npad.main_controller_states.npad[npad.main_controller_states.common.last_entry_index]; + auto& handheld_entry = + npad.handheld_states.npad[npad.handheld_states.common.last_entry_index]; + auto& dual_entry = npad.dual_states.npad[npad.dual_states.common.last_entry_index]; + auto& left_entry = npad.left_joy_states.npad[npad.left_joy_states.common.last_entry_index]; + auto& right_entry = + npad.right_joy_states.npad[npad.right_joy_states.common.last_entry_index]; + auto& pokeball_entry = + npad.pokeball_states.npad[npad.pokeball_states.common.last_entry_index]; + auto& libnx_entry = npad.libnx.npad[npad.libnx.common.last_entry_index]; + + auto& full_sixaxis_entry = + npad.sixaxis_full.sixaxis[npad.sixaxis_full.common.last_entry_index]; + auto& handheld_sixaxis_entry = + npad.sixaxis_handheld.sixaxis[npad.sixaxis_handheld.common.last_entry_index]; + auto& dual_left_sixaxis_entry = + npad.sixaxis_dual_left.sixaxis[npad.sixaxis_dual_left.common.last_entry_index]; + auto& dual_right_sixaxis_entry = + npad.sixaxis_dual_right.sixaxis[npad.sixaxis_dual_right.common.last_entry_index]; + auto& left_sixaxis_entry = + npad.sixaxis_left.sixaxis[npad.sixaxis_left.common.last_entry_index]; + auto& right_sixaxis_entry = + npad.sixaxis_right.sixaxis[npad.sixaxis_right.common.last_entry_index]; + + switch (controller_type) { + case NPadControllerType::None: + UNREACHABLE(); + break; + case NPadControllerType::ProController: + if (sixaxis_sensors_enabled && motions[i][0]) { + full_sixaxis_entry.accel = motion_devices[0].accel; + full_sixaxis_entry.gyro = motion_devices[0].gyro; + full_sixaxis_entry.rotation = motion_devices[0].rotation; + full_sixaxis_entry.orientation = motion_devices[0].orientation; + } + break; + case NPadControllerType::Handheld: + if (sixaxis_sensors_enabled && motions[i][0]) { + handheld_sixaxis_entry.accel = motion_devices[0].accel; + handheld_sixaxis_entry.gyro = motion_devices[0].gyro; + handheld_sixaxis_entry.rotation = motion_devices[0].rotation; + handheld_sixaxis_entry.orientation = motion_devices[0].orientation; + } + break; + case NPadControllerType::JoyDual: + if (sixaxis_sensors_enabled && motions[i][0]) { + // Set motion for the left joycon + dual_left_sixaxis_entry.accel = motion_devices[0].accel; + dual_left_sixaxis_entry.gyro = motion_devices[0].gyro; + dual_left_sixaxis_entry.rotation = motion_devices[0].rotation; + dual_left_sixaxis_entry.orientation = motion_devices[0].orientation; + } + if (sixaxis_sensors_enabled && motions[i][1]) { + // Set motion for the right joycon + dual_right_sixaxis_entry.accel = motion_devices[1].accel; + dual_right_sixaxis_entry.gyro = motion_devices[1].gyro; + dual_right_sixaxis_entry.rotation = motion_devices[1].rotation; + dual_right_sixaxis_entry.orientation = motion_devices[1].orientation; + } + break; + case NPadControllerType::JoyLeft: + if (sixaxis_sensors_enabled && motions[i][0]) { + left_sixaxis_entry.accel = motion_devices[0].accel; + left_sixaxis_entry.gyro = motion_devices[0].gyro; + left_sixaxis_entry.rotation = motion_devices[0].rotation; + left_sixaxis_entry.orientation = motion_devices[0].orientation; + } + break; + case NPadControllerType::JoyRight: + if (sixaxis_sensors_enabled && motions[i][1]) { + right_sixaxis_entry.accel = motion_devices[1].accel; + right_sixaxis_entry.gyro = motion_devices[1].gyro; + right_sixaxis_entry.rotation = motion_devices[1].rotation; + right_sixaxis_entry.orientation = motion_devices[1].orientation; + } + break; + case NPadControllerType::Pokeball: + break; + } + } + std::memcpy(data + NPAD_OFFSET, shared_memory_entries.data(), + shared_memory_entries.size() * sizeof(NPadEntry)); +} + void Controller_NPad::SetSupportedStyleSet(NPadType style_set) { style.raw = style_set.raw; } diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index 654d97c3f..0fa7455ba 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h @@ -32,6 +32,10 @@ public: // When the controller is requesting an update for the shared memory void OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* data, std::size_t size) override; + // When the controller is requesting a motion update for the shared memory + void OnMotionUpdate(const Core::Timing::CoreTiming& core_timing, u8* data, + std::size_t size) override; + // Called when input devices should be loaded void OnLoadInputDevices() override; diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 395e83b3f..9a7e5e265 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -40,7 +40,8 @@ namespace Service::HID { // Updating period for each HID device. // HID is polled every 15ms, this value was derived from // https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering#joy-con-status-data-packet -constexpr auto pad_update_ns = std::chrono::nanoseconds{1000 * 1000}; // (1ms, 1000Hz) +constexpr auto pad_update_ns = std::chrono::nanoseconds{1000 * 1000}; // (1ms, 1000Hz) +constexpr auto motion_update_ns = std::chrono::nanoseconds{15 * 1000 * 1000}; // (15ms, 66.666Hz) constexpr std::size_t SHARED_MEMORY_SIZE = 0x40000; IAppletResource::IAppletResource(Core::System& system) @@ -79,10 +80,14 @@ IAppletResource::IAppletResource(Core::System& system) [this](std::uintptr_t user_data, std::chrono::nanoseconds ns_late) { UpdateControllers(user_data, ns_late); }); - - // TODO(shinyquagsire23): Other update callbacks? (accel, gyro?) + motion_update_event = Core::Timing::CreateEvent( + "HID::MotionPadCallback", + [this](std::uintptr_t user_data, std::chrono::nanoseconds ns_late) { + UpdateMotion(user_data, ns_late); + }); system.CoreTiming().ScheduleEvent(pad_update_ns, pad_update_event); + system.CoreTiming().ScheduleEvent(motion_update_ns, motion_update_event); ReloadInputDevices(); } @@ -122,6 +127,16 @@ void IAppletResource::UpdateControllers(std::uintptr_t user_data, core_timing.ScheduleEvent(pad_update_ns - ns_late, pad_update_event); } +void IAppletResource::UpdateMotion(std::uintptr_t user_data, std::chrono::nanoseconds ns_late) { + auto& core_timing = system.CoreTiming(); + + for (const auto& controller : controllers) { + controller->OnMotionUpdate(core_timing, shared_mem->GetPointer(), SHARED_MEMORY_SIZE); + } + + core_timing.ScheduleEvent(motion_update_ns - ns_late, motion_update_event); +} + class IActiveVibrationDeviceList final : public ServiceFramework { public: IActiveVibrationDeviceList() : ServiceFramework("IActiveVibrationDeviceList") { diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h index e04aaf1e9..3cfd72a51 100644 --- a/src/core/hle/service/hid/hid.h +++ b/src/core/hle/service/hid/hid.h @@ -65,10 +65,12 @@ private: void GetSharedMemoryHandle(Kernel::HLERequestContext& ctx); void UpdateControllers(std::uintptr_t user_data, std::chrono::nanoseconds ns_late); + void UpdateMotion(std::uintptr_t user_data, std::chrono::nanoseconds ns_late); std::shared_ptr shared_mem; std::shared_ptr pad_update_event; + std::shared_ptr motion_update_event; Core::System& system; std::array, static_cast(HidController::MaxControllers)> From 67af0323f0599585825895144bcfcaea0e10bf46 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Wed, 23 Sep 2020 21:38:05 -0300 Subject: [PATCH 014/517] video_core: Fix instances where msbuild always regenerated host shaders When HEADER_GENERATOR was included in the DEPENDS section of custom commands, msbuild assumed this was always modified. Changing this file is not common so we can remove it from there. --- src/video_core/host_shaders/CMakeLists.txt | 17 +++++------------ .../host_shaders/StringShaderHeader.cmake | 2 ++ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/video_core/host_shaders/CMakeLists.txt b/src/video_core/host_shaders/CMakeLists.txt index aa62363a7..c157724a9 100644 --- a/src/video_core/host_shaders/CMakeLists.txt +++ b/src/video_core/host_shaders/CMakeLists.txt @@ -1,23 +1,16 @@ -set(SHADER_FILES +set(SHADER_SOURCES opengl_present.frag opengl_present.vert ) set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include) -set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE) - set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders) -add_custom_command( - OUTPUT - ${SHADER_DIR} - COMMAND - ${CMAKE_COMMAND} -E make_directory ${SHADER_DIR} -) +set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE) set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in) set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake) -foreach(FILENAME IN ITEMS ${SHADER_FILES}) +foreach(FILENAME IN ITEMS ${SHADER_SOURCES}) string(REPLACE "." "_" SHADER_NAME ${FILENAME}) set(SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}) set(HEADER_FILE ${SHADER_DIR}/${SHADER_NAME}.h) @@ -29,8 +22,8 @@ foreach(FILENAME IN ITEMS ${SHADER_FILES}) MAIN_DEPENDENCY ${SOURCE_FILE} DEPENDS - ${HEADER_GENERATOR} ${INPUT_FILE} + # HEADER_GENERATOR should be included here but msbuild seems to assume it's always modified ) set(SHADER_HEADERS ${SHADER_HEADERS} ${HEADER_FILE}) endforeach() @@ -39,5 +32,5 @@ add_custom_target(host_shaders DEPENDS ${SHADER_HEADERS} SOURCES - ${SHADER_FILES} + ${SHADER_SOURCES} ) diff --git a/src/video_core/host_shaders/StringShaderHeader.cmake b/src/video_core/host_shaders/StringShaderHeader.cmake index 368bce0ed..c0fc49768 100644 --- a/src/video_core/host_shaders/StringShaderHeader.cmake +++ b/src/video_core/host_shaders/StringShaderHeader.cmake @@ -8,4 +8,6 @@ string(TOUPPER ${CONTENTS_NAME} CONTENTS_NAME) file(READ ${SOURCE_FILE} CONTENTS) +get_filename_component(OUTPUT_DIR ${HEADER_FILE} DIRECTORY) +make_directory(${OUTPUT_DIR}) configure_file(${INPUT_FILE} ${HEADER_FILE} @ONLY) From e3a615a6162460a1eb865a5a78ae9d229a16eb58 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 24 Sep 2020 13:21:22 -0400 Subject: [PATCH 015/517] arithmetic_integer_immediate: Make use of std::move where applicable Same behavior, minus any redundant atomic reference count increments and decrements. --- .../decode/arithmetic_integer_immediate.cpp | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/video_core/shader/decode/arithmetic_integer_immediate.cpp b/src/video_core/shader/decode/arithmetic_integer_immediate.cpp index 73880db0e..2a30aab2b 100644 --- a/src/video_core/shader/decode/arithmetic_integer_immediate.cpp +++ b/src/video_core/shader/decode/arithmetic_integer_immediate.cpp @@ -28,23 +28,26 @@ u32 ShaderIR::DecodeArithmeticIntegerImmediate(NodeBlock& bb, u32 pc) { case OpCode::Id::IADD32I: { UNIMPLEMENTED_IF_MSG(instr.iadd32i.saturate, "IADD32I saturation is not implemented"); - op_a = GetOperandAbsNegInteger(op_a, false, instr.iadd32i.negate_a, true); + op_a = GetOperandAbsNegInteger(std::move(op_a), false, instr.iadd32i.negate_a != 0, true); - const Node value = Operation(OperationCode::IAdd, PRECISE, op_a, op_b); + Node value = Operation(OperationCode::IAdd, PRECISE, std::move(op_a), std::move(op_b)); - SetInternalFlagsFromInteger(bb, value, instr.op_32.generates_cc); - SetRegister(bb, instr.gpr0, value); + SetInternalFlagsFromInteger(bb, value, instr.op_32.generates_cc != 0); + SetRegister(bb, instr.gpr0, std::move(value)); break; } case OpCode::Id::LOP32I: { - if (instr.alu.lop32i.invert_a) - op_a = Operation(OperationCode::IBitwiseNot, NO_PRECISE, op_a); + if (instr.alu.lop32i.invert_a) { + op_a = Operation(OperationCode::IBitwiseNot, NO_PRECISE, std::move(op_a)); + } - if (instr.alu.lop32i.invert_b) - op_b = Operation(OperationCode::IBitwiseNot, NO_PRECISE, op_b); + if (instr.alu.lop32i.invert_b) { + op_b = Operation(OperationCode::IBitwiseNot, NO_PRECISE, std::move(op_b)); + } - WriteLogicOperation(bb, instr.gpr0, instr.alu.lop32i.operation, op_a, op_b, - PredicateResultMode::None, Pred::UnusedIndex, instr.op_32.generates_cc); + WriteLogicOperation(bb, instr.gpr0, instr.alu.lop32i.operation, std::move(op_a), + std::move(op_b), PredicateResultMode::None, Pred::UnusedIndex, + instr.op_32.generates_cc != 0); break; } default: @@ -58,14 +61,14 @@ u32 ShaderIR::DecodeArithmeticIntegerImmediate(NodeBlock& bb, u32 pc) { void ShaderIR::WriteLogicOperation(NodeBlock& bb, Register dest, LogicOperation logic_op, Node op_a, Node op_b, PredicateResultMode predicate_mode, Pred predicate, bool sets_cc) { - const Node result = [&]() { + Node result = [&] { switch (logic_op) { case LogicOperation::And: - return Operation(OperationCode::IBitwiseAnd, PRECISE, op_a, op_b); + return Operation(OperationCode::IBitwiseAnd, PRECISE, std::move(op_a), std::move(op_b)); case LogicOperation::Or: - return Operation(OperationCode::IBitwiseOr, PRECISE, op_a, op_b); + return Operation(OperationCode::IBitwiseOr, PRECISE, std::move(op_a), std::move(op_b)); case LogicOperation::Xor: - return Operation(OperationCode::IBitwiseXor, PRECISE, op_a, op_b); + return Operation(OperationCode::IBitwiseXor, PRECISE, std::move(op_a), std::move(op_b)); case LogicOperation::PassB: return op_b; default: @@ -84,8 +87,8 @@ void ShaderIR::WriteLogicOperation(NodeBlock& bb, Register dest, LogicOperation return; case PredicateResultMode::NotZero: { // Set the predicate to true if the result is not zero. - const Node compare = Operation(OperationCode::LogicalINotEqual, result, Immediate(0)); - SetPredicate(bb, static_cast(predicate), compare); + Node compare = Operation(OperationCode::LogicalINotEqual, std::move(result), Immediate(0)); + SetPredicate(bb, static_cast(predicate), std::move(compare)); break; } default: From 3602df7f1f58e1009af1f100892f8a439da7d1b6 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Thu, 24 Sep 2020 08:55:51 -0400 Subject: [PATCH 016/517] submission_package: Fix updates integrated into cartridge images. --- src/core/file_sys/submission_package.cpp | 25 +++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/core/file_sys/submission_package.cpp b/src/core/file_sys/submission_package.cpp index aab957bf2..07ae90819 100644 --- a/src/core/file_sys/submission_package.cpp +++ b/src/core/file_sys/submission_package.cpp @@ -286,12 +286,31 @@ void NSP::ReadNCAs(const std::vector& files) { } auto next_nca = std::make_shared(std::move(next_file), nullptr, 0); + if (next_nca->GetType() == NCAContentType::Program) { program_status[next_nca->GetTitleId()] = next_nca->GetStatus(); } - if (next_nca->GetStatus() == Loader::ResultStatus::Success || - (next_nca->GetStatus() == Loader::ResultStatus::ErrorMissingBKTRBaseRomFS && - (next_nca->GetTitleId() & 0x800) != 0)) { + + if (next_nca->GetStatus() != Loader::ResultStatus::Success && + next_nca->GetStatus() != Loader::ResultStatus::ErrorMissingBKTRBaseRomFS) { + continue; + } + + // If the last 3 hexadecimal digits of the CNMT TitleID is 0x800 or is missing the + // BKTRBaseRomFS, this is an update NCA. Otherwise, this is a base NCA. + if ((cnmt.GetTitleID() & 0x800) != 0 || + next_nca->GetStatus() == Loader::ResultStatus::ErrorMissingBKTRBaseRomFS) { + // If the last 3 hexadecimal digits of the NCA's TitleID is between 0x1 and + // 0x7FF, this is a multi-program update NCA. Otherwise, this is a regular + // update NCA. + if ((next_nca->GetTitleId() & 0x7FF) != 0 && + (next_nca->GetTitleId() & 0x800) == 0) { + ncas[next_nca->GetTitleId()][{cnmt.GetType(), rec.type}] = + std::move(next_nca); + } else { + ncas[cnmt.GetTitleID()][{cnmt.GetType(), rec.type}] = std::move(next_nca); + } + } else { ncas[next_nca->GetTitleId()][{cnmt.GetType(), rec.type}] = std::move(next_nca); } } From f3a1bf53f94336b2863baf14eecc714b510fee39 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 00:05:12 -0400 Subject: [PATCH 017/517] service: Restore "unused" function Turns out this function is actually used, but within a trace log. --- src/core/hle/service/service.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index 76b3533ec..ba9159ee0 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp @@ -72,6 +72,23 @@ namespace Service { +/** + * Creates a function string for logging, complete with the name (or header code, depending + * on what's passed in) the port name, and all the cmd_buff arguments. + */ +[[maybe_unused]] static std::string MakeFunctionString(std::string_view name, + std::string_view port_name, + const u32* cmd_buff) { + // Number of params == bits 0-5 + bits 6-11 + int num_params = (cmd_buff[0] & 0x3F) + ((cmd_buff[0] >> 6) & 0x3F); + + std::string function_string = fmt::format("function '{}': port={}", name, port_name); + for (int i = 1; i <= num_params; ++i) { + function_string += fmt::format(", cmd_buff[{}]=0x{:X}", i, cmd_buff[i]); + } + return function_string; +} + ServiceFrameworkBase::ServiceFrameworkBase(const char* service_name, u32 max_sessions, InvokerFn* handler_invoker) : service_name(service_name), max_sessions(max_sessions), handler_invoker(handler_invoker) {} From e0f2db437650c33e797bb33ee51c753a3c14fe86 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 00:12:45 -0400 Subject: [PATCH 018/517] vk_command_pool: Add missing header guard --- src/video_core/renderer_vulkan/vk_command_pool.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/video_core/renderer_vulkan/vk_command_pool.h b/src/video_core/renderer_vulkan/vk_command_pool.h index 3aee239b9..fb98f72fc 100644 --- a/src/video_core/renderer_vulkan/vk_command_pool.h +++ b/src/video_core/renderer_vulkan/vk_command_pool.h @@ -2,6 +2,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#pragma once + #include #include From 4ed4bba3050584cfe3e31a4bcc694c818c5baf2d Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 00:14:10 -0400 Subject: [PATCH 019/517] vk_command_pool: Make use of override on destructor --- src/video_core/renderer_vulkan/vk_command_pool.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/video_core/renderer_vulkan/vk_command_pool.h b/src/video_core/renderer_vulkan/vk_command_pool.h index fb98f72fc..92d8a9f4d 100644 --- a/src/video_core/renderer_vulkan/vk_command_pool.h +++ b/src/video_core/renderer_vulkan/vk_command_pool.h @@ -18,7 +18,7 @@ class VKDevice; class CommandPool final : public ResourcePool { public: explicit CommandPool(MasterSemaphore& master_semaphore, const VKDevice& device); - virtual ~CommandPool(); + ~CommandPool() override; void Allocate(size_t begin, size_t end) override; From 940d85241bbd1f7fdbd65373e4c80b10025f8b1b Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 00:15:50 -0400 Subject: [PATCH 020/517] vk_command_pool: Move definition of Pool into the cpp file Allows the implementation details to be changed without recompiling any files that include this header. --- src/video_core/renderer_vulkan/vk_command_pool.cpp | 5 +++++ src/video_core/renderer_vulkan/vk_command_pool.h | 5 +---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_command_pool.cpp b/src/video_core/renderer_vulkan/vk_command_pool.cpp index f1abd4b1a..6339f4fe0 100644 --- a/src/video_core/renderer_vulkan/vk_command_pool.cpp +++ b/src/video_core/renderer_vulkan/vk_command_pool.cpp @@ -12,6 +12,11 @@ namespace Vulkan { constexpr size_t COMMAND_BUFFER_POOL_SIZE = 0x1000; +struct CommandPool::Pool { + vk::CommandPool handle; + vk::CommandBuffers cmdbufs; +}; + CommandPool::CommandPool(MasterSemaphore& master_semaphore, const VKDevice& device) : ResourcePool(master_semaphore, COMMAND_BUFFER_POOL_SIZE), device{device} {} diff --git a/src/video_core/renderer_vulkan/vk_command_pool.h b/src/video_core/renderer_vulkan/vk_command_pool.h index 92d8a9f4d..b9cb3fb5d 100644 --- a/src/video_core/renderer_vulkan/vk_command_pool.h +++ b/src/video_core/renderer_vulkan/vk_command_pool.h @@ -25,10 +25,7 @@ public: VkCommandBuffer Commit(); private: - struct Pool { - vk::CommandPool handle; - vk::CommandBuffers cmdbufs; - }; + struct Pool; const VKDevice& device; std::vector pools; From 111852a9831a57b9ce19299ebf28f1e1e6b61914 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 00:27:08 -0400 Subject: [PATCH 021/517] effect_context: Make use of explicit where applicable While we're at it we can make the destructor of the base class virtual to ensure that any polymorphism issues never occur. --- src/audio_core/effect_context.h | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/audio_core/effect_context.h b/src/audio_core/effect_context.h index 2f2da72dd..c2d2aa3ba 100644 --- a/src/audio_core/effect_context.h +++ b/src/audio_core/effect_context.h @@ -166,13 +166,13 @@ public: std::array raw; }; }; - static_assert(sizeof(EffectInfo::InParams) == 0xc0, "InParams is an invalid size"); + static_assert(sizeof(InParams) == 0xc0, "InParams is an invalid size"); struct OutParams { UsageStatus status{}; INSERT_PADDING_BYTES(15); }; - static_assert(sizeof(EffectInfo::OutParams) == 0x10, "OutParams is an invalid size"); + static_assert(sizeof(OutParams) == 0x10, "OutParams is an invalid size"); }; struct AuxAddress { @@ -184,8 +184,8 @@ struct AuxAddress { class EffectBase { public: - EffectBase(EffectType effect_type); - ~EffectBase(); + explicit EffectBase(EffectType effect_type); + virtual ~EffectBase(); virtual void Update(EffectInfo::InParams& in_params) = 0; virtual void UpdateForCommandGeneration() = 0; @@ -206,8 +206,7 @@ protected: template class EffectGeneric : public EffectBase { public: - EffectGeneric(EffectType effect_type) : EffectBase::EffectBase(effect_type) {} - ~EffectGeneric() = default; + explicit EffectGeneric(EffectType effect_type) : EffectBase(effect_type) {} T& GetParams() { return internal_params; @@ -224,7 +223,7 @@ private: class EffectStubbed : public EffectBase { public: explicit EffectStubbed(); - ~EffectStubbed(); + ~EffectStubbed() override; void Update(EffectInfo::InParams& in_params) override; void UpdateForCommandGeneration() override; @@ -233,7 +232,7 @@ public: class EffectI3dl2Reverb : public EffectGeneric { public: explicit EffectI3dl2Reverb(); - ~EffectI3dl2Reverb(); + ~EffectI3dl2Reverb() override; void Update(EffectInfo::InParams& in_params) override; void UpdateForCommandGeneration() override; @@ -245,7 +244,7 @@ private: class EffectBiquadFilter : public EffectGeneric { public: explicit EffectBiquadFilter(); - ~EffectBiquadFilter(); + ~EffectBiquadFilter() override; void Update(EffectInfo::InParams& in_params) override; void UpdateForCommandGeneration() override; @@ -254,7 +253,7 @@ public: class EffectAuxInfo : public EffectGeneric { public: explicit EffectAuxInfo(); - ~EffectAuxInfo(); + ~EffectAuxInfo() override; void Update(EffectInfo::InParams& in_params) override; void UpdateForCommandGeneration() override; @@ -275,7 +274,7 @@ private: class EffectDelay : public EffectGeneric { public: explicit EffectDelay(); - ~EffectDelay(); + ~EffectDelay() override; void Update(EffectInfo::InParams& in_params) override; void UpdateForCommandGeneration() override; @@ -287,7 +286,7 @@ private: class EffectBufferMixer : public EffectGeneric { public: explicit EffectBufferMixer(); - ~EffectBufferMixer(); + ~EffectBufferMixer() override; void Update(EffectInfo::InParams& in_params) override; void UpdateForCommandGeneration() override; @@ -296,7 +295,7 @@ public: class EffectReverb : public EffectGeneric { public: explicit EffectReverb(); - ~EffectReverb(); + ~EffectReverb() override; void Update(EffectInfo::InParams& in_params) override; void UpdateForCommandGeneration() override; From 8b4ecf22d485958f69ecbd2fa4ca55d9ce393826 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 00:28:35 -0400 Subject: [PATCH 022/517] audio_core: Resolve sign conversion warnings While were at it, we can also enable sign conversion warnings and other common warnings as errors to prevent these from creeping back into the codebase. --- src/audio_core/CMakeLists.txt | 10 ++++++++++ src/audio_core/command_generator.cpp | 12 ++++++------ src/audio_core/effect_context.cpp | 8 ++++---- src/audio_core/effect_context.h | 8 ++++---- src/audio_core/info_updater.cpp | 7 +++---- src/audio_core/mix_context.cpp | 4 ++-- src/audio_core/splitter_context.cpp | 6 +++--- src/audio_core/voice_context.cpp | 4 ++-- 8 files changed, 34 insertions(+), 25 deletions(-) diff --git a/src/audio_core/CMakeLists.txt b/src/audio_core/CMakeLists.txt index cb00ef60e..6a7075f73 100644 --- a/src/audio_core/CMakeLists.txt +++ b/src/audio_core/CMakeLists.txt @@ -44,6 +44,16 @@ add_library(audio_core STATIC create_target_directory_groups(audio_core) +if (NOT MSVC) + target_compile_options(audio_core PRIVATE + -Werror=ignored-qualifiers + -Werror=implicit-fallthrough + -Werror=reorder + -Werror=sign-compare + -Werror=unused-variable + ) +endif() + target_link_libraries(audio_core PUBLIC common core) target_link_libraries(audio_core PRIVATE SoundTouch) diff --git a/src/audio_core/command_generator.cpp b/src/audio_core/command_generator.cpp index 8f7da49e6..7f2597257 100644 --- a/src/audio_core/command_generator.cpp +++ b/src/audio_core/command_generator.cpp @@ -152,7 +152,7 @@ void CommandGenerator::GenerateVoiceCommand(ServerVoiceInfo& voice_info) { if (!destination_data->IsConfigured()) { continue; } - if (destination_data->GetMixId() >= mix_context.GetCount()) { + if (destination_data->GetMixId() >= static_cast(mix_context.GetCount())) { continue; } @@ -435,7 +435,7 @@ void CommandGenerator::GenerateAuxCommand(s32 mix_buffer_offset, EffectBase* inf GetMixBuffer(output_index), worker_params.sample_count, offset, write_count); memory.WriteBlock(aux->GetRecvInfo(), &recv_info, sizeof(AuxInfoDSP)); - if (samples_read != worker_params.sample_count && + if (samples_read != static_cast(worker_params.sample_count) && samples_read <= params.sample_count) { std::memset(GetMixBuffer(output_index), 0, params.sample_count - samples_read); } @@ -611,7 +611,8 @@ void CommandGenerator::GenerateMixCommands(ServerMixInfo& mix_info) { const auto& dest_mix = mix_context.GetInfo(destination_data->GetMixId()); const auto& dest_in_params = dest_mix.GetInParams(); const auto mix_index = (base - 1) % in_params.buffer_count + in_params.buffer_offset; - for (std::size_t i = 0; i < dest_in_params.buffer_count; i++) { + for (std::size_t i = 0; i < static_cast(dest_in_params.buffer_count); + i++) { const auto mixed_volume = in_params.volume * destination_data->GetMixVolume(i); if (mixed_volume != 0.0f) { GenerateMixCommand(dest_in_params.buffer_offset + i, mix_index, mixed_volume, @@ -704,7 +705,7 @@ s32 CommandGenerator::DecodePcm16(ServerVoiceInfo& voice_info, VoiceState& dsp_s std::vector buffer(samples_processed * channel_count); memory.ReadBlock(buffer_pos, buffer.data(), buffer.size() * sizeof(s16)); - for (std::size_t i = 0; i < samples_processed; i++) { + for (std::size_t i = 0; i < static_cast(samples_processed); i++) { sample_buffer[mix_offset + i] = buffer[i * channel_count + channel]; } } @@ -789,7 +790,7 @@ s32 CommandGenerator::DecodeAdpcm(ServerVoiceInfo& voice_info, VoiceState& dsp_s position_in_frame += 2; // Decode entire frame - if (remaining_samples >= SAMPLES_PER_FRAME) { + if (remaining_samples >= static_cast(SAMPLES_PER_FRAME)) { for (std::size_t i = 0; i < SAMPLES_PER_FRAME / 2; i++) { // Sample 1 @@ -866,7 +867,6 @@ void CommandGenerator::DecodeFromWaveBuffers(ServerVoiceInfo& voice_info, s32* o const auto resample_rate = static_cast( static_cast(in_params.sample_rate) / static_cast(target_sample_rate) * static_cast(static_cast(in_params.pitch * 32768.0f))); - auto* output_base = output; if (dsp_state.fraction + sample_count * resample_rate > static_cast(SCALED_MIX_BUFFER_SIZE - 4ULL)) { return; diff --git a/src/audio_core/effect_context.cpp b/src/audio_core/effect_context.cpp index adfec3df5..4d9cdf524 100644 --- a/src/audio_core/effect_context.cpp +++ b/src/audio_core/effect_context.cpp @@ -184,19 +184,19 @@ void EffectAuxInfo::UpdateForCommandGeneration() { } } -const VAddr EffectAuxInfo::GetSendInfo() const { +VAddr EffectAuxInfo::GetSendInfo() const { return send_info; } -const VAddr EffectAuxInfo::GetSendBuffer() const { +VAddr EffectAuxInfo::GetSendBuffer() const { return send_buffer; } -const VAddr EffectAuxInfo::GetRecvInfo() const { +VAddr EffectAuxInfo::GetRecvInfo() const { return recv_info; } -const VAddr EffectAuxInfo::GetRecvBuffer() const { +VAddr EffectAuxInfo::GetRecvBuffer() const { return recv_buffer; } diff --git a/src/audio_core/effect_context.h b/src/audio_core/effect_context.h index c2d2aa3ba..2c4ce53ef 100644 --- a/src/audio_core/effect_context.h +++ b/src/audio_core/effect_context.h @@ -257,10 +257,10 @@ public: void Update(EffectInfo::InParams& in_params) override; void UpdateForCommandGeneration() override; - const VAddr GetSendInfo() const; - const VAddr GetSendBuffer() const; - const VAddr GetRecvInfo() const; - const VAddr GetRecvBuffer() const; + VAddr GetSendInfo() const; + VAddr GetSendBuffer() const; + VAddr GetRecvInfo() const; + VAddr GetRecvBuffer() const; private: VAddr send_info{}; diff --git a/src/audio_core/info_updater.cpp b/src/audio_core/info_updater.cpp index f53ce21a5..2940e53a9 100644 --- a/src/audio_core/info_updater.cpp +++ b/src/audio_core/info_updater.cpp @@ -64,7 +64,6 @@ bool InfoUpdater::UpdateBehaviorInfo(BehaviorInfo& in_behavior_info) { } bool InfoUpdater::UpdateMemoryPools(std::vector& memory_pool_info) { - const auto force_mapping = behavior_info.IsMemoryPoolForceMappingEnabled(); const auto memory_pool_count = memory_pool_info.size(); const auto total_memory_pool_in = sizeof(ServerMemoryPoolInfo::InParams) * memory_pool_count; const auto total_memory_pool_out = sizeof(ServerMemoryPoolInfo::OutParams) * memory_pool_count; @@ -174,7 +173,7 @@ bool InfoUpdater::UpdateVoices(VoiceContext& voice_context, } // Voice states for each channel std::array voice_states{}; - ASSERT(in_params.id < voice_count); + ASSERT(static_cast(in_params.id) < voice_count); // Grab our current voice info auto& voice_info = voice_context.GetInfo(static_cast(in_params.id)); @@ -352,8 +351,8 @@ ResultCode InfoUpdater::UpdateMixes(MixContext& mix_context, std::size_t mix_buf for (std::size_t i = 0; i < mix_count; i++) { const auto& in = mix_in_params[i]; total_buffer_count += in.buffer_count; - if (in.dest_mix_id > mix_count && in.dest_mix_id != AudioCommon::NO_MIX && - in.mix_id != AudioCommon::FINAL_MIX) { + if (static_cast(in.dest_mix_id) > mix_count && + in.dest_mix_id != AudioCommon::NO_MIX && in.mix_id != AudioCommon::FINAL_MIX) { LOG_ERROR( Audio, "Invalid mix destination, mix_id={:X}, dest_mix_id={:X}, mix_buffer_count={:X}", diff --git a/src/audio_core/mix_context.cpp b/src/audio_core/mix_context.cpp index 042891490..4bca72eb0 100644 --- a/src/audio_core/mix_context.cpp +++ b/src/audio_core/mix_context.cpp @@ -53,7 +53,7 @@ void MixContext::UpdateDistancesFromFinalMix() { auto mix_id = in_params.mix_id; // Needs to be referenced out of scope s32 distance_to_final_mix{AudioCommon::FINAL_MIX}; - for (; distance_to_final_mix < info_count; distance_to_final_mix++) { + for (; distance_to_final_mix < static_cast(info_count); distance_to_final_mix++) { if (mix_id == AudioCommon::FINAL_MIX) { // If we're at the final mix, we're done break; @@ -77,7 +77,7 @@ void MixContext::UpdateDistancesFromFinalMix() { } // If we're out of range for our distance, mark it as no final mix - if (distance_to_final_mix >= info_count) { + if (distance_to_final_mix >= static_cast(info_count)) { distance_to_final_mix = AudioCommon::NO_FINAL_MIX; } diff --git a/src/audio_core/splitter_context.cpp b/src/audio_core/splitter_context.cpp index 79bb2f516..f21b53147 100644 --- a/src/audio_core/splitter_context.cpp +++ b/src/audio_core/splitter_context.cpp @@ -306,7 +306,7 @@ bool SplitterContext::UpdateInfo(const std::vector& input, std::size_t& inpu break; } - if (header.send_id < 0 || header.send_id > info_count) { + if (header.send_id < 0 || static_cast(header.send_id) > info_count) { LOG_ERROR(Audio, "Bad splitter data id"); break; } @@ -348,7 +348,7 @@ bool SplitterContext::UpdateData(const std::vector& input, std::size_t& inpu break; } - if (header.splitter_id < 0 || header.splitter_id > data_count) { + if (header.splitter_id < 0 || static_cast(header.splitter_id) > data_count) { LOG_ERROR(Audio, "Bad splitter data id"); break; } @@ -434,7 +434,7 @@ const std::vector& NodeStates::GetIndexList() const { } void NodeStates::PushTsortResult(s32 index) { - ASSERT(index < node_count); + ASSERT(index < static_cast(node_count)); index_list[index_pos++] = index; } diff --git a/src/audio_core/voice_context.cpp b/src/audio_core/voice_context.cpp index 1d8f69844..863ac9267 100644 --- a/src/audio_core/voice_context.cpp +++ b/src/audio_core/voice_context.cpp @@ -488,11 +488,11 @@ s32 VoiceContext::DecodePcm16(s32* output_buffer, ServerWaveBuffer* wave_buffer, // Fast path if (channel_count == 1) { - for (std::size_t i = 0; i < samples_processed; i++) { + for (std::ptrdiff_t i = 0; i < samples_processed; i++) { output_buffer[i] = buffer_data[i]; } } else { - for (std::size_t i = 0; i < samples_processed; i++) { + for (std::ptrdiff_t i = 0; i < samples_processed; i++) { output_buffer[i] = buffer_data[i * channel_count + channel]; } } From 966966dc0260077b9e607995e1930afa1a2ecc40 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 13:19:39 -0400 Subject: [PATCH 023/517] audio_core: Remove unnecessary inclusions Same behavior, but removes header dependencies where they don't need to be. --- src/audio_core/audio_renderer.cpp | 5 +---- src/audio_core/audio_renderer.h | 1 - src/audio_core/command_generator.h | 1 - src/audio_core/common.h | 1 + src/audio_core/stream.cpp | 1 - 5 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/audio_core/audio_renderer.cpp b/src/audio_core/audio_renderer.cpp index 56dc892b1..a7e851bb8 100644 --- a/src/audio_core/audio_renderer.cpp +++ b/src/audio_core/audio_renderer.cpp @@ -3,16 +3,13 @@ // Refer to the license.txt file included. #include -#include "audio_core/algorithm/interpolate.h" + #include "audio_core/audio_out.h" #include "audio_core/audio_renderer.h" -#include "audio_core/codec.h" #include "audio_core/common.h" #include "audio_core/info_updater.h" #include "audio_core/voice_context.h" -#include "common/assert.h" #include "common/logging/log.h" -#include "core/core.h" #include "core/hle/kernel/writable_event.h" #include "core/memory.h" #include "core/settings.h" diff --git a/src/audio_core/audio_renderer.h b/src/audio_core/audio_renderer.h index 2bca795ba..2fd93e058 100644 --- a/src/audio_core/audio_renderer.h +++ b/src/audio_core/audio_renderer.h @@ -21,7 +21,6 @@ #include "common/common_funcs.h" #include "common/common_types.h" #include "common/swap.h" -#include "core/hle/kernel/object.h" #include "core/hle/result.h" namespace Core::Timing { diff --git a/src/audio_core/command_generator.h b/src/audio_core/command_generator.h index 967d24078..53e57748b 100644 --- a/src/audio_core/command_generator.h +++ b/src/audio_core/command_generator.h @@ -7,7 +7,6 @@ #include #include "audio_core/common.h" #include "audio_core/voice_context.h" -#include "common/common_funcs.h" #include "common/common_types.h" namespace Core::Memory { diff --git a/src/audio_core/common.h b/src/audio_core/common.h index 72ebce221..7b4a1e9e8 100644 --- a/src/audio_core/common.h +++ b/src/audio_core/common.h @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #pragma once + #include "common/common_funcs.h" #include "common/common_types.h" #include "common/swap.h" diff --git a/src/audio_core/stream.cpp b/src/audio_core/stream.cpp index cb33926bc..4bbb1e0c4 100644 --- a/src/audio_core/stream.cpp +++ b/src/audio_core/stream.cpp @@ -12,7 +12,6 @@ #include "common/assert.h" #include "common/logging/log.h" #include "core/core_timing.h" -#include "core/core_timing_util.h" #include "core/settings.h" namespace AudioCore { From 7c0908f301867b7f8667d7720094a3ad3616dd53 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 14:18:09 -0400 Subject: [PATCH 024/517] codec: Make lookup table static constexpr Allows compilers to elide needing to push these values on the stack every time the function is called. --- src/audio_core/codec.cpp | 5 +++-- src/audio_core/codec.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/audio_core/codec.cpp b/src/audio_core/codec.cpp index c5a0d98ce..2fb91c13a 100644 --- a/src/audio_core/codec.cpp +++ b/src/audio_core/codec.cpp @@ -16,8 +16,9 @@ std::vector DecodeADPCM(const u8* const data, std::size_t size, const ADPCM constexpr std::size_t FRAME_LEN = 8; constexpr std::size_t SAMPLES_PER_FRAME = 14; - constexpr std::array SIGNED_NIBBLES = { - {0, 1, 2, 3, 4, 5, 6, 7, -8, -7, -6, -5, -4, -3, -2, -1}}; + static constexpr std::array SIGNED_NIBBLES{ + 0, 1, 2, 3, 4, 5, 6, 7, -8, -7, -6, -5, -4, -3, -2, -1, + }; const std::size_t sample_count = (size / FRAME_LEN) * SAMPLES_PER_FRAME; const std::size_t ret_size = diff --git a/src/audio_core/codec.h b/src/audio_core/codec.h index ef2ce01a8..9507abb1b 100644 --- a/src/audio_core/codec.h +++ b/src/audio_core/codec.h @@ -38,7 +38,7 @@ using ADPCM_Coeff = std::array; * @param state ADPCM state, this is updated with new state * @return Decoded stereo signed PCM16 data, sample_count in length */ -std::vector DecodeADPCM(const u8* const data, std::size_t size, const ADPCM_Coeff& coeff, +std::vector DecodeADPCM(const u8* data, std::size_t size, const ADPCM_Coeff& coeff, ADPCMState& state); }; // namespace AudioCore::Codec From 407393130589abe4d68ab7e144a4a74fe58e1b5a Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 17:09:59 -0400 Subject: [PATCH 025/517] cubeb_sink: Use static_cast instead of reinterpret_cast in DataCallback() Conversions from void* to the proper data type are well-defined and supported by static_cast. We don't need to use reinterpret_cast here. --- src/audio_core/cubeb_sink.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/audio_core/cubeb_sink.cpp b/src/audio_core/cubeb_sink.cpp index 83c06c0ed..eb82791f6 100644 --- a/src/audio_core/cubeb_sink.cpp +++ b/src/audio_core/cubeb_sink.cpp @@ -192,8 +192,8 @@ SinkStream& CubebSink::AcquireSinkStream(u32 sample_rate, u32 num_channels, long CubebSinkStream::DataCallback(cubeb_stream* stream, void* user_data, const void* input_buffer, void* output_buffer, long num_frames) { - CubebSinkStream* impl = static_cast(user_data); - u8* buffer = reinterpret_cast(output_buffer); + auto* impl = static_cast(user_data); + auto* buffer = static_cast(output_buffer); if (!impl) { return {}; From dc83ca8914222230873c6a3b6056d8f9c183f42c Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 17:14:02 -0400 Subject: [PATCH 026/517] behavior_info: Fix typo Renerer -> Renderer --- src/audio_core/behavior_info.cpp | 6 +++--- src/audio_core/behavior_info.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/audio_core/behavior_info.cpp b/src/audio_core/behavior_info.cpp index 5d62adb0b..3c2e3e6f1 100644 --- a/src/audio_core/behavior_info.cpp +++ b/src/audio_core/behavior_info.cpp @@ -57,15 +57,15 @@ bool BehaviorInfo::IsLongSizePreDelaySupported() const { return AudioCommon::IsRevisionSupported(3, user_revision); } -bool BehaviorInfo::IsAudioRenererProcessingTimeLimit80PercentSupported() const { +bool BehaviorInfo::IsAudioRendererProcessingTimeLimit80PercentSupported() const { return AudioCommon::IsRevisionSupported(5, user_revision); } -bool BehaviorInfo::IsAudioRenererProcessingTimeLimit75PercentSupported() const { +bool BehaviorInfo::IsAudioRendererProcessingTimeLimit75PercentSupported() const { return AudioCommon::IsRevisionSupported(4, user_revision); } -bool BehaviorInfo::IsAudioRenererProcessingTimeLimit70PercentSupported() const { +bool BehaviorInfo::IsAudioRendererProcessingTimeLimit70PercentSupported() const { return AudioCommon::IsRevisionSupported(1, user_revision); } diff --git a/src/audio_core/behavior_info.h b/src/audio_core/behavior_info.h index 50948e8df..512a4ebe3 100644 --- a/src/audio_core/behavior_info.h +++ b/src/audio_core/behavior_info.h @@ -49,9 +49,9 @@ public: bool IsAdpcmLoopContextBugFixed() const; bool IsSplitterSupported() const; bool IsLongSizePreDelaySupported() const; - bool IsAudioRenererProcessingTimeLimit80PercentSupported() const; - bool IsAudioRenererProcessingTimeLimit75PercentSupported() const; - bool IsAudioRenererProcessingTimeLimit70PercentSupported() const; + bool IsAudioRendererProcessingTimeLimit80PercentSupported() const; + bool IsAudioRendererProcessingTimeLimit75PercentSupported() const; + bool IsAudioRendererProcessingTimeLimit70PercentSupported() const; bool IsElapsedFrameCountSupported() const; bool IsMemoryPoolForceMappingEnabled() const; bool IsFlushVoiceWaveBuffersSupported() const; From ca26fd0f4297bc5cdf495c5304ed0bd9737f40b2 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Fri, 25 Sep 2020 17:42:59 -0400 Subject: [PATCH 027/517] vk_stream_buffer: Fix initializing Vulkan with NVIDIA on Linux The previous fix only partially solved the issue, as only certain GPUs that needed 9 or less MiB subtracted would work (i.e. GTX 980 Ti, GT 730). This takes from DXVK's example to divide `heap_size` by 2 to determine `allocable_size`. Additionally tested on my Quadro K4200, which previously required setting it to 12 to boot. --- src/video_core/renderer_vulkan/vk_stream_buffer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/video_core/renderer_vulkan/vk_stream_buffer.cpp b/src/video_core/renderer_vulkan/vk_stream_buffer.cpp index 5218c875b..1b59612b9 100644 --- a/src/video_core/renderer_vulkan/vk_stream_buffer.cpp +++ b/src/video_core/renderer_vulkan/vk_stream_buffer.cpp @@ -120,7 +120,8 @@ void VKStreamBuffer::CreateBuffers(VkBufferUsageFlags usage) { // Substract from the preferred heap size some bytes to avoid getting out of memory. const VkDeviceSize heap_size = memory_properties.memoryHeaps[preferred_heap].size; - const VkDeviceSize allocable_size = heap_size - 9 * 1024 * 1024; + // As per DXVK's example, using `heap_size / 2` + const VkDeviceSize allocable_size = heap_size / 2; buffer = device.GetLogical().CreateBuffer({ .sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, .pNext = nullptr, From 90c61411640c049c6a5c376782b37d94f949f1f5 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 18:30:49 -0400 Subject: [PATCH 028/517] command_generator: Make lookup table static constexpr Allows compilers to elide needing to push these values on the stack every time the function is called. --- src/audio_core/command_generator.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/audio_core/command_generator.cpp b/src/audio_core/command_generator.cpp index 8f7da49e6..07c932e93 100644 --- a/src/audio_core/command_generator.cpp +++ b/src/audio_core/command_generator.cpp @@ -726,8 +726,9 @@ s32 CommandGenerator::DecodeAdpcm(ServerVoiceInfo& voice_info, VoiceState& dsp_s return 0; } - constexpr std::array SIGNED_NIBBLES = { - {0, 1, 2, 3, 4, 5, 6, 7, -8, -7, -6, -5, -4, -3, -2, -1}}; + static constexpr std::array SIGNED_NIBBLES{ + 0, 1, 2, 3, 4, 5, 6, 7, -8, -7, -6, -5, -4, -3, -2, -1, + }; constexpr std::size_t FRAME_LEN = 8; constexpr std::size_t NIBBLES_PER_SAMPLE = 16; From 03b574ae2272fc8465e7d38f21b198fcb1885186 Mon Sep 17 00:00:00 2001 From: german Date: Thu, 17 Sep 2020 20:26:34 -0500 Subject: [PATCH 029/517] Add random motion input to SDL --- src/input_common/motion_input.cpp | 32 +++++ src/input_common/motion_input.h | 3 + src/input_common/sdl/sdl_impl.cpp | 190 ++++++++++++++++++++++++++++++ src/input_common/sdl/sdl_impl.h | 2 + src/input_common/udp/client.cpp | 8 +- 5 files changed, 230 insertions(+), 5 deletions(-) diff --git a/src/input_common/motion_input.cpp b/src/input_common/motion_input.cpp index 22a849866..b99d3497f 100644 --- a/src/input_common/motion_input.cpp +++ b/src/input_common/motion_input.cpp @@ -2,6 +2,7 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included +#include #include "common/math_util.h" #include "input_common/motion_input.h" @@ -159,6 +160,37 @@ Common::Vec3f MotionInput::GetRotations() const { return rotations; } +Input::MotionStatus MotionInput::GetMotion() const { + const Common::Vec3f gyroscope = GetGyroscope(); + const Common::Vec3f accelerometer = GetAcceleration(); + const Common::Vec3f rotation = GetRotations(); + const std::array orientation = GetOrientation(); + return {accelerometer, gyroscope, rotation, orientation}; +} + +Input::MotionStatus MotionInput::GetRandomMotion(int accel_magnitude, int gyro_magnitude) const { + std::random_device device; + std::mt19937 gen(device()); + std::uniform_int_distribution distribution(-1000, 1000); + const Common::Vec3f gyroscope = { + distribution(gen) * 0.001f, + distribution(gen) * 0.001f, + distribution(gen) * 0.001f, + }; + const Common::Vec3f accelerometer = { + distribution(gen) * 0.001f, + distribution(gen) * 0.001f, + distribution(gen) * 0.001f, + }; + const Common::Vec3f rotation = {}; + const std::array orientation = { + Common::Vec3f{1.0f, 0, 0}, + Common::Vec3f{0, 1.0f, 0}, + Common::Vec3f{0, 0, 1.0f}, + }; + return {accelerometer * accel_magnitude, gyroscope * gyro_magnitude, rotation, orientation}; +} + void MotionInput::ResetOrientation() { if (!reset_enabled) { return; diff --git a/src/input_common/motion_input.h b/src/input_common/motion_input.h index 54b4439d9..12b7d0d3f 100644 --- a/src/input_common/motion_input.h +++ b/src/input_common/motion_input.h @@ -7,6 +7,7 @@ #include "common/common_types.h" #include "common/quaternion.h" #include "common/vector_math.h" +#include "core/frontend/input.h" namespace InputCommon { @@ -37,6 +38,8 @@ public: Common::Vec3f GetGyroscope() const; Common::Vec3f GetRotations() const; Common::Quaternion GetQuaternion() const; + Input::MotionStatus GetMotion() const; + Input::MotionStatus GetRandomMotion(int accel_magnitude, int gyro_magnitude) const; bool IsMoving(f32 sensitivity) const; bool IsCalibrated(f32 sensitivity) const; diff --git a/src/input_common/sdl/sdl_impl.cpp b/src/input_common/sdl/sdl_impl.cpp index a9e676f4b..0b0095978 100644 --- a/src/input_common/sdl/sdl_impl.cpp +++ b/src/input_common/sdl/sdl_impl.cpp @@ -21,6 +21,7 @@ #include "common/param_package.h" #include "common/threadsafe_queue.h" #include "core/frontend/input.h" +#include "input_common/motion_input.h" #include "input_common/sdl/sdl_impl.h" #include "input_common/settings.h" @@ -95,6 +96,10 @@ public: return std::make_tuple(x, y); } + const InputCommon::MotionInput& GetMotion() const { + return motion; + } + void SetHat(int hat, Uint8 direction) { std::lock_guard lock{mutex}; state.hats.insert_or_assign(hat, direction); @@ -142,6 +147,9 @@ private: std::unique_ptr sdl_joystick; std::unique_ptr sdl_controller; mutable std::mutex mutex; + + // motion is initalized without PID values as motion input is not aviable for SDL2 + InputCommon::MotionInput motion{0.0f, 0.0f, 0.0f}; }; std::shared_ptr SDLState::GetSDLJoystickByGUID(const std::string& guid, int port) { @@ -386,6 +394,68 @@ private: const float range; }; +class SDLDirectionMotion final : public Input::MotionDevice { +public: + explicit SDLDirectionMotion(std::shared_ptr joystick_, int hat_, Uint8 direction_) + : joystick(std::move(joystick_)), hat(hat_), direction(direction_) {} + + Input::MotionStatus GetStatus() const override { + if (joystick->GetHatDirection(hat, direction)) { + return joystick->GetMotion().GetRandomMotion(2, 6); + } + return joystick->GetMotion().GetRandomMotion(0, 0); + } + +private: + std::shared_ptr joystick; + int hat; + Uint8 direction; +}; + +class SDLAxisMotion final : public Input::MotionDevice { +public: + explicit SDLAxisMotion(std::shared_ptr joystick_, int axis_, float threshold_, + bool trigger_if_greater_) + : joystick(std::move(joystick_)), axis(axis_), threshold(threshold_), + trigger_if_greater(trigger_if_greater_) {} + + Input::MotionStatus GetStatus() const override { + const float axis_value = joystick->GetAxis(axis, 1.0f); + bool trigger = axis_value < threshold; + if (trigger_if_greater) { + trigger = axis_value > threshold; + } + + if (trigger) { + return joystick->GetMotion().GetRandomMotion(2, 6); + } + return joystick->GetMotion().GetRandomMotion(0, 0); + } + +private: + std::shared_ptr joystick; + int axis; + float threshold; + bool trigger_if_greater; +}; + +class SDLButtonMotion final : public Input::MotionDevice { +public: + explicit SDLButtonMotion(std::shared_ptr joystick_, int button_) + : joystick(std::move(joystick_)), button(button_) {} + + Input::MotionStatus GetStatus() const override { + if (joystick->GetButton(button)) { + return joystick->GetMotion().GetRandomMotion(2, 6); + } + return joystick->GetMotion().GetRandomMotion(0, 0); + } + +private: + std::shared_ptr joystick; + int button; +}; + /// A button device factory that creates button devices from SDL joystick class SDLButtonFactory final : public Input::Factory { public: @@ -492,12 +562,78 @@ private: SDLState& state; }; +/// A motion device factory that creates motion devices from SDL joystick +class SDLMotionFactory final : public Input::Factory { +public: + explicit SDLMotionFactory(SDLState& state_) : state(state_) {} + /** + * Creates motion device from joystick axes + * @param params contains parameters for creating the device: + * - "guid": the guid of the joystick to bind + * - "port": the nth joystick of the same type + */ + std::unique_ptr Create(const Common::ParamPackage& params) override { + const std::string guid = params.Get("guid", "0"); + const int port = params.Get("port", 0); + + auto joystick = state.GetSDLJoystickByGUID(guid, port); + + if (params.Has("hat")) { + const int hat = params.Get("hat", 0); + const std::string direction_name = params.Get("direction", ""); + Uint8 direction; + if (direction_name == "up") { + direction = SDL_HAT_UP; + } else if (direction_name == "down") { + direction = SDL_HAT_DOWN; + } else if (direction_name == "left") { + direction = SDL_HAT_LEFT; + } else if (direction_name == "right") { + direction = SDL_HAT_RIGHT; + } else { + direction = 0; + } + // This is necessary so accessing GetHat with hat won't crash + joystick->SetHat(hat, SDL_HAT_CENTERED); + return std::make_unique(joystick, hat, direction); + } + + if (params.Has("axis")) { + const int axis = params.Get("axis", 0); + const float threshold = params.Get("threshold", 0.5f); + const std::string direction_name = params.Get("direction", ""); + bool trigger_if_greater; + if (direction_name == "+") { + trigger_if_greater = true; + } else if (direction_name == "-") { + trigger_if_greater = false; + } else { + trigger_if_greater = true; + LOG_ERROR(Input, "Unknown direction {}", direction_name); + } + // This is necessary so accessing GetAxis with axis won't crash + joystick->SetAxis(axis, 0); + return std::make_unique(joystick, axis, threshold, trigger_if_greater); + } + + const int button = params.Get("button", 0); + // This is necessary so accessing GetButton with button won't crash + joystick->SetButton(button, false); + return std::make_unique(joystick, button); + } + +private: + SDLState& state; +}; + SDLState::SDLState() { using namespace Input; analog_factory = std::make_shared(*this); button_factory = std::make_shared(*this); + motion_factory = std::make_shared(*this); RegisterFactory("sdl", analog_factory); RegisterFactory("sdl", button_factory); + RegisterFactory("sdl", motion_factory); // If the frontend is going to manage the event loop, then we dont start one here start_thread = !SDL_WasInit(SDL_INIT_JOYSTICK); @@ -533,6 +669,7 @@ SDLState::~SDLState() { using namespace Input; UnregisterFactory("sdl"); UnregisterFactory("sdl"); + UnregisterFactory("sdl"); CloseJoysticks(); SDL_DelEventWatch(&SDLEventWatcher, this); @@ -644,6 +781,27 @@ Common::ParamPackage SDLEventToButtonParamPackage(SDLState& state, const SDL_Eve return {}; } +Common::ParamPackage SDLEventToMotionParamPackage(SDLState& state, const SDL_Event& event) { + switch (event.type) { + case SDL_JOYAXISMOTION: { + const auto joystick = state.GetSDLJoystickBySDLID(event.jaxis.which); + return BuildAnalogParamPackageForButton(joystick->GetPort(), joystick->GetGUID(), + event.jaxis.axis, event.jaxis.value); + } + case SDL_JOYBUTTONUP: { + const auto joystick = state.GetSDLJoystickBySDLID(event.jbutton.which); + return BuildButtonParamPackageForButton(joystick->GetPort(), joystick->GetGUID(), + event.jbutton.button); + } + case SDL_JOYHATMOTION: { + const auto joystick = state.GetSDLJoystickBySDLID(event.jhat.which); + return BuildHatParamPackageForButton(joystick->GetPort(), joystick->GetGUID(), + event.jhat.hat, event.jhat.value); + } + } + return {}; +} + Common::ParamPackage BuildParamPackageForBinding(int port, const std::string& guid, const SDL_GameControllerButtonBind& binding) { switch (binding.bindType) { @@ -809,6 +967,35 @@ public: } }; +class SDLMotionPoller final : public SDLPoller { +public: + explicit SDLMotionPoller(SDLState& state_) : SDLPoller(state_) {} + + Common::ParamPackage GetNextInput() override { + SDL_Event event; + while (state.event_queue.Pop(event)) { + const auto package = FromEvent(event); + if (package) { + return *package; + } + } + return {}; + } + [[nodiscard]] std::optional FromEvent(const SDL_Event& event) const { + switch (event.type) { + case SDL_JOYAXISMOTION: + if (std::abs(event.jaxis.value / 32767.0) < 0.5) { + break; + } + [[fallthrough]]; + case SDL_JOYBUTTONUP: + case SDL_JOYHATMOTION: + return {SDLEventToMotionParamPackage(state, event)}; + } + return std::nullopt; + } +}; + /** * Attempts to match the press to a controller joy axis (left/right stick) and if a match * isn't found, checks if the event matches anything from SDLButtonPoller and uses that @@ -900,6 +1087,9 @@ SDLState::Pollers SDLState::GetPollers(InputCommon::Polling::DeviceType type) { case InputCommon::Polling::DeviceType::Button: pollers.emplace_back(std::make_unique(*this)); break; + case InputCommon::Polling::DeviceType::Motion: + pollers.emplace_back(std::make_unique(*this)); + break; } return pollers; diff --git a/src/input_common/sdl/sdl_impl.h b/src/input_common/sdl/sdl_impl.h index bd19ba61d..b9bb4dc56 100644 --- a/src/input_common/sdl/sdl_impl.h +++ b/src/input_common/sdl/sdl_impl.h @@ -21,6 +21,7 @@ namespace InputCommon::SDL { class SDLAnalogFactory; class SDLButtonFactory; +class SDLMotionFactory; class SDLJoystick; class SDLState : public State { @@ -71,6 +72,7 @@ private: std::shared_ptr button_factory; std::shared_ptr analog_factory; + std::shared_ptr motion_factory; bool start_thread = false; std::atomic initialized = false; diff --git a/src/input_common/udp/client.cpp b/src/input_common/udp/client.cpp index 2b6a68d4b..b6323d56f 100644 --- a/src/input_common/udp/client.cpp +++ b/src/input_common/udp/client.cpp @@ -219,14 +219,10 @@ void Client::OnPadData(Response::PadData data) { clients[client].motion.SetGyroscope(raw_gyroscope / 312.0f); clients[client].motion.UpdateRotation(time_difference); clients[client].motion.UpdateOrientation(time_difference); - Common::Vec3f gyroscope = clients[client].motion.GetGyroscope(); - Common::Vec3f accelerometer = clients[client].motion.GetAcceleration(); - Common::Vec3f rotation = clients[client].motion.GetRotations(); - std::array orientation = clients[client].motion.GetOrientation(); { std::lock_guard guard(clients[client].status.update_mutex); - clients[client].status.motion_status = {accelerometer, gyroscope, rotation, orientation}; + clients[client].status.motion_status = clients[client].motion.GetMotion(); // TODO: add a setting for "click" touch. Click touch refers to a device that differentiates // between a simple "tap" and a hard press that causes the touch screen to click. @@ -250,6 +246,8 @@ void Client::OnPadData(Response::PadData data) { clients[client].status.touch_status = {x, y, is_active}; if (configuring) { + const Common::Vec3f gyroscope = clients[client].motion.GetGyroscope(); + const Common::Vec3f accelerometer = clients[client].motion.GetAcceleration(); UpdateYuzuSettings(client, accelerometer, gyroscope, is_active); } } From 297823239026d1b5487f9b07f63646ca4a2e3a79 Mon Sep 17 00:00:00 2001 From: german Date: Fri, 25 Sep 2020 17:58:27 -0500 Subject: [PATCH 030/517] Add random motion input to keyboard --- src/input_common/CMakeLists.txt | 2 ++ src/input_common/main.cpp | 4 +++ src/input_common/motion_from_button.cpp | 34 +++++++++++++++++++++++++ src/input_common/motion_from_button.h | 25 ++++++++++++++++++ 4 files changed, 65 insertions(+) create mode 100644 src/input_common/motion_from_button.cpp create mode 100644 src/input_common/motion_from_button.h diff --git a/src/input_common/CMakeLists.txt b/src/input_common/CMakeLists.txt index 09361e37e..c84685214 100644 --- a/src/input_common/CMakeLists.txt +++ b/src/input_common/CMakeLists.txt @@ -7,6 +7,8 @@ add_library(input_common STATIC main.h motion_emu.cpp motion_emu.h + motion_from_button.cpp + motion_from_button.h motion_input.cpp motion_input.h settings.cpp diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 8da829132..3d97d95f7 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -11,6 +11,7 @@ #include "input_common/keyboard.h" #include "input_common/main.h" #include "input_common/motion_emu.h" +#include "input_common/motion_from_button.h" #include "input_common/touch_from_button.h" #include "input_common/udp/client.h" #include "input_common/udp/udp.h" @@ -32,6 +33,8 @@ struct InputSubsystem::Impl { Input::RegisterFactory("keyboard", keyboard); Input::RegisterFactory("analog_from_button", std::make_shared()); + Input::RegisterFactory("keyboard", + std::make_shared()); motion_emu = std::make_shared(); Input::RegisterFactory("motion_emu", motion_emu); Input::RegisterFactory("touch_from_button", @@ -50,6 +53,7 @@ struct InputSubsystem::Impl { void Shutdown() { Input::UnregisterFactory("keyboard"); + Input::UnregisterFactory("keyboard"); keyboard.reset(); Input::UnregisterFactory("analog_from_button"); Input::UnregisterFactory("motion_emu"); diff --git a/src/input_common/motion_from_button.cpp b/src/input_common/motion_from_button.cpp new file mode 100644 index 000000000..9d459f963 --- /dev/null +++ b/src/input_common/motion_from_button.cpp @@ -0,0 +1,34 @@ +// Copyright 2020 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "input_common/motion_from_button.h" +#include "input_common/motion_input.h" + +namespace InputCommon { + +class MotionKey final : public Input::MotionDevice { +public: + using Button = std::unique_ptr; + + MotionKey(Button key_) : key(std::move(key_)) {} + + Input::MotionStatus GetStatus() const override { + + if (key->GetStatus()) { + return motion.GetRandomMotion(2, 6); + } + return motion.GetRandomMotion(0, 0); + } + +private: + Button key; + InputCommon::MotionInput motion{0.0f, 0.0f, 0.0f}; +}; + +std::unique_ptr MotionFromButton::Create(const Common::ParamPackage& params) { + auto key = Input::CreateDevice(params.Serialize()); + return std::make_unique(std::move(key)); +} + +} // namespace InputCommon diff --git a/src/input_common/motion_from_button.h b/src/input_common/motion_from_button.h new file mode 100644 index 000000000..a959046fb --- /dev/null +++ b/src/input_common/motion_from_button.h @@ -0,0 +1,25 @@ +// Copyright 2020 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/frontend/input.h" + +namespace InputCommon { + +/** + * An motion device factory that takes a keyboard button and uses it as a random + * motion device. + */ +class MotionFromButton final : public Input::Factory { +public: + /** + * Creates an motion device from button devices + * @param params contains parameters for creating the device: + * - "key": a serialized ParamPackage for creating a button device + */ + std::unique_ptr Create(const Common::ParamPackage& params) override; +}; + +} // namespace InputCommon From 3e4a0a13cb2f2e02bdb623d763a63a71c2c5da7a Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 19:13:10 -0400 Subject: [PATCH 031/517] frontend/controller: Eliminate dependency on the global system instance --- src/core/frontend/applets/controller.cpp | 8 ++++---- src/core/frontend/applets/controller.h | 8 ++++++++ src/core/hle/service/am/applets/applets.cpp | 3 ++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/core/frontend/applets/controller.cpp b/src/core/frontend/applets/controller.cpp index 4505da758..c5d65f2d0 100644 --- a/src/core/frontend/applets/controller.cpp +++ b/src/core/frontend/applets/controller.cpp @@ -4,7 +4,6 @@ #include "common/assert.h" #include "common/logging/log.h" -#include "core/core.h" #include "core/frontend/applets/controller.h" #include "core/hle/service/hid/controllers/npad.h" #include "core/hle/service/hid/hid.h" @@ -14,6 +13,9 @@ namespace Core::Frontend { ControllerApplet::~ControllerApplet() = default; +DefaultControllerApplet::DefaultControllerApplet(Service::SM::ServiceManager& service_manager_) + : service_manager{service_manager_} {} + DefaultControllerApplet::~DefaultControllerApplet() = default; void DefaultControllerApplet::ReconfigureControllers(std::function callback, @@ -21,9 +23,7 @@ void DefaultControllerApplet::ReconfigureControllers(std::function callb LOG_INFO(Service_HID, "called, deducing the best configuration based on the given parameters!"); auto& npad = - Core::System::GetInstance() - .ServiceManager() - .GetService("hid") + service_manager.GetService("hid") ->GetAppletResource() ->GetController(Service::HID::HidController::NPad); diff --git a/src/core/frontend/applets/controller.h b/src/core/frontend/applets/controller.h index a227f15cd..3e49cdbb9 100644 --- a/src/core/frontend/applets/controller.h +++ b/src/core/frontend/applets/controller.h @@ -8,6 +8,10 @@ #include "common/common_types.h" +namespace Service::SM { +class ServiceManager; +} + namespace Core::Frontend { using BorderColor = std::array; @@ -39,10 +43,14 @@ public: class DefaultControllerApplet final : public ControllerApplet { public: + explicit DefaultControllerApplet(Service::SM::ServiceManager& service_manager_); ~DefaultControllerApplet() override; void ReconfigureControllers(std::function callback, ControllerParameters parameters) const override; + +private: + Service::SM::ServiceManager& service_manager; }; } // namespace Core::Frontend diff --git a/src/core/hle/service/am/applets/applets.cpp b/src/core/hle/service/am/applets/applets.cpp index 4e0800f9a..2b626bb40 100644 --- a/src/core/hle/service/am/applets/applets.cpp +++ b/src/core/hle/service/am/applets/applets.cpp @@ -206,7 +206,8 @@ void AppletManager::SetDefaultAppletFrontendSet() { void AppletManager::SetDefaultAppletsIfMissing() { if (frontend.controller == nullptr) { - frontend.controller = std::make_unique(); + frontend.controller = + std::make_unique(system.ServiceManager()); } if (frontend.e_commerce == nullptr) { From 5c4e23790283f744be75d866318342bddd064234 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 25 Sep 2020 19:15:21 -0400 Subject: [PATCH 032/517] core: Mark GetInstance() as deprecated This way it's obvious that this function shouldn't be used in any future code. --- src/core/core.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/core.h b/src/core/core.h index 83ded63a5..27efe30bb 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -120,7 +120,7 @@ public: * Gets the instance of the System singleton class. * @returns Reference to the instance of the System singleton class. */ - static System& GetInstance() { + [[deprecated("Use of the global system instance is deprecated")]] static System& GetInstance() { return s_instance; } From 86e4aa81e9e5a7857ee6b56c83a4e55c4c98ed5a Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Sat, 26 Sep 2020 06:55:47 -0400 Subject: [PATCH 033/517] main: Allow applets to display on top while fullscreen Using the Qt::WindowStaysOnTopHint flag allows these dialogs to show up on top while running in fullscreen. However, if yuzu goes out of focus (by alt-tabbing or otherwise), this flag does not seem to have an effect. --- src/yuzu/main.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 6a2a88dd8..e3de0f0e1 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -288,8 +288,8 @@ GMainWindow::~GMainWindow() { void GMainWindow::ControllerSelectorReconfigureControllers( const Core::Frontend::ControllerParameters& parameters) { QtControllerSelectorDialog dialog(this, parameters, input_subsystem.get()); - dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | - Qt::WindowSystemMenuHint); + dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint | + Qt::WindowTitleHint | Qt::WindowSystemMenuHint); dialog.setWindowModality(Qt::WindowModal); dialog.exec(); @@ -307,8 +307,9 @@ void GMainWindow::ProfileSelectorSelectProfile() { int index = 0; if (manager.GetUserCount() != 1) { QtProfileSelectionDialog dialog(this); - dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | - Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint); + dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint | + Qt::WindowTitleHint | Qt::WindowSystemMenuHint | + Qt::WindowCloseButtonHint); dialog.setWindowModality(Qt::WindowModal); if (dialog.exec() == QDialog::Rejected) { @@ -331,8 +332,9 @@ void GMainWindow::ProfileSelectorSelectProfile() { void GMainWindow::SoftwareKeyboardGetText( const Core::Frontend::SoftwareKeyboardParameters& parameters) { QtSoftwareKeyboardDialog dialog(this, parameters); - dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | - Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint); + dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint | + Qt::WindowTitleHint | Qt::WindowSystemMenuHint | + Qt::WindowCloseButtonHint); dialog.setWindowModality(Qt::WindowModal); if (dialog.exec() == QDialog::Rejected) { From 9d665cb8dbc560e5f5492d34aeab4bf41b9353d3 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Mon, 28 Sep 2020 20:28:47 -0400 Subject: [PATCH 034/517] CMakeLists: fix for finding zstd on linux-mingw --- src/common/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 5d54516eb..ea0191c4b 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -192,4 +192,4 @@ create_target_directory_groups(common) find_package(Boost 1.71 COMPONENTS context headers REQUIRED) target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile) -target_link_libraries(common PRIVATE lz4::lz4 zstd::zstd xbyak) +target_link_libraries(common PRIVATE lz4::lz4 zstd xbyak) From 2cbce77b925c4320d90d5845563928a838c3372c Mon Sep 17 00:00:00 2001 From: lat9nq Date: Mon, 28 Sep 2020 21:11:39 -0400 Subject: [PATCH 035/517] CMakeLists: use system zstd on Linux From what I understand, this tells CMake to use the system, not conan, version of zstd. Required to build on the coming MinGW Docker container. --- src/common/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index ea0191c4b..0fb5d9708 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -192,4 +192,9 @@ create_target_directory_groups(common) find_package(Boost 1.71 COMPONENTS context headers REQUIRED) target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile) -target_link_libraries(common PRIVATE lz4::lz4 zstd xbyak) +target_link_libraries(common PRIVATE lz4::lz4 xbyak) +if (MSVC) + target_link_libraries(common PRIVATE zstd::zstd) +else() + target_link_libraries(common PRIVATE zstd) +endif() From ab88c2f6112edba35bfa91ee8864e760728d16e8 Mon Sep 17 00:00:00 2001 From: german Date: Fri, 10 Jul 2020 21:20:50 -0500 Subject: [PATCH 036/517] First implementation of controller rumble --- src/core/frontend/input.h | 3 ++ src/core/hle/service/hid/controllers/npad.cpp | 25 ++++++++---- src/core/hle/service/hid/controllers/npad.h | 2 +- src/core/hle/service/hid/hid.cpp | 8 ++-- src/input_common/sdl/sdl_impl.cpp | 39 ++++++++++++++++++- 5 files changed, 63 insertions(+), 14 deletions(-) diff --git a/src/core/frontend/input.h b/src/core/frontend/input.h index 9da0d2829..277b70e53 100644 --- a/src/core/frontend/input.h +++ b/src/core/frontend/input.h @@ -33,6 +33,9 @@ public: virtual bool GetAnalogDirectionStatus(AnalogDirection direction) const { return {}; } + virtual bool SetRumblePlay(f32 amp_high, f32 amp_low, f32 freq_high, f32 freq_low) const { + return {}; + } }; /// An abstract class template for a factory that can create input devices. diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 620386cd1..83c3beab6 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -609,20 +609,31 @@ void Controller_NPad::SetNpadMode(u32 npad_id, NPadAssignments assignment_mode) } } -void Controller_NPad::VibrateController(const std::vector& controller_ids, +void Controller_NPad::VibrateController(const std::vector& controllers, const std::vector& vibrations) { - LOG_DEBUG(Service_HID, "(STUBBED) called"); + LOG_TRACE(Service_HID, "called"); if (!Settings::values.vibration_enabled || !can_controllers_vibrate) { return; } - for (std::size_t i = 0; i < controller_ids.size(); i++) { - std::size_t controller_pos = NPadIdToIndex(static_cast(i)); - if (connected_controllers[controller_pos].is_connected) { - // TODO(ogniK): Vibrate the physical controller + bool success = true; + for (std::size_t i = 0; i < controllers.size(); ++i) { + if (!connected_controllers[i].is_connected) { + continue; + } + using namespace Settings::NativeButton; + const auto& button_state = buttons[i]; + if (button_state[A - BUTTON_HID_BEGIN]) { + if (button_state[A - BUTTON_HID_BEGIN]->SetRumblePlay( + vibrations[0].amp_high, vibrations[0].amp_low, vibrations[0].freq_high, + vibrations[0].freq_low)) { + success = false; + } } } - last_processed_vibration = vibrations.back(); + if (success) { + last_processed_vibration = vibrations.back(); + } } Controller_NPad::Vibration Controller_NPad::GetLastVibration() const { diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index 654d97c3f..0cff6821f 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h @@ -121,7 +121,7 @@ public: void SetNpadMode(u32 npad_id, NPadAssignments assignment_mode); - void VibrateController(const std::vector& controller_ids, + void VibrateController(const std::vector& controllers, const std::vector& vibrations); Vibration GetLastVibration() const; diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 395e83b3f..dc198791d 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -802,18 +802,18 @@ void Hid::EndPermitVibrationSession(Kernel::HLERequestContext& ctx) { void Hid::SendVibrationValue(Kernel::HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; - const auto controller_id{rp.Pop()}; + const auto controller{rp.Pop()}; const auto vibration_values{rp.PopRaw()}; const auto applet_resource_user_id{rp.Pop()}; - LOG_DEBUG(Service_HID, "called, controller_id={}, applet_resource_user_id={}", controller_id, + LOG_DEBUG(Service_HID, "called, controller={}, applet_resource_user_id={}", controller, applet_resource_user_id); IPC::ResponseBuilder rb{ctx, 2}; rb.Push(RESULT_SUCCESS); applet_resource->GetController(HidController::NPad) - .VibrateController({controller_id}, {vibration_values}); + .VibrateController({controller}, {vibration_values}); } void Hid::SendVibrationValues(Kernel::HLERequestContext& ctx) { @@ -831,8 +831,6 @@ void Hid::SendVibrationValues(Kernel::HLERequestContext& ctx) { std::memcpy(controller_list.data(), controllers.data(), controllers.size()); std::memcpy(vibration_list.data(), vibrations.data(), vibrations.size()); - std::transform(controller_list.begin(), controller_list.end(), controller_list.begin(), - [](u32 controller_id) { return controller_id - 3; }); applet_resource->GetController(HidController::NPad) .VibrateController(controller_list, vibration_list); diff --git a/src/input_common/sdl/sdl_impl.cpp b/src/input_common/sdl/sdl_impl.cpp index a9e676f4b..27a96c18b 100644 --- a/src/input_common/sdl/sdl_impl.cpp +++ b/src/input_common/sdl/sdl_impl.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -78,6 +79,33 @@ public: return state.axes.at(axis) / (32767.0f * range); } + bool RumblePlay(f32 amp_low, f32 amp_high, int time) { + const u16 raw_amp_low = static_cast(amp_low * 0xFFFF); + const u16 raw_amp_high = static_cast(amp_high * 0xFFFF); + // Lower drastically the number of state changes + if (raw_amp_low >> 11 == last_state_rumble_low >> 11 && + raw_amp_high >> 11 == last_state_rumble_high >> 11) { + if (raw_amp_low + raw_amp_high != 0 || + last_state_rumble_low + last_state_rumble_high == 0) { + return false; + } + } + // Don't change state if last vibration was < 20ms + const auto now = std::chrono::system_clock::now(); + if (std::chrono::duration_cast(now - last_vibration) < + std::chrono::milliseconds(20)) { + return raw_amp_low + raw_amp_high == 0; + } + + last_vibration = now; + last_state_rumble_low = raw_amp_low; + last_state_rumble_high = raw_amp_high; + if (sdl_joystick) { + SDL_JoystickRumble(sdl_joystick.get(), raw_amp_low, raw_amp_high, time); + } + return false; + } + std::tuple GetAnalog(int axis_x, int axis_y, float range) const { float x = GetAxis(axis_x, range); float y = GetAxis(axis_y, range); @@ -139,6 +167,9 @@ private: } state; std::string guid; int port; + u16 last_state_rumble_high; + u16 last_state_rumble_low; + std::chrono::time_point last_vibration; std::unique_ptr sdl_joystick; std::unique_ptr sdl_controller; mutable std::mutex mutex; @@ -207,7 +238,7 @@ void SDLState::InitJoystick(int joystick_index) { sdl_gamecontroller = SDL_GameControllerOpen(joystick_index); } if (!sdl_joystick) { - LOG_ERROR(Input, "failed to open joystick {}", joystick_index); + LOG_ERROR(Input, "Failed to open joystick {}", joystick_index); return; } const std::string guid = GetGUID(sdl_joystick); @@ -303,6 +334,12 @@ public: return joystick->GetButton(button); } + bool SetRumblePlay(f32 amp_high, f32 amp_low, f32 freq_high, f32 freq_low) const override { + const f32 new_amp_low = pow(amp_low, 0.5f) * (3.0f - 2.0f * pow(amp_low, 0.15f)); + const f32 new_amp_high = pow(amp_high, 0.5f) * (3.0f - 2.0f * pow(amp_high, 0.15f)); + return joystick->RumblePlay(new_amp_low, new_amp_high, 250); + } + private: std::shared_ptr joystick; int button; From ae6df703f5e15548b7dd076d5763adee547d6444 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Tue, 29 Sep 2020 16:22:50 -0300 Subject: [PATCH 037/517] qt/game_list: Give GameListSearchField::KeyReleaseEater a parent This fixes a memory leak as KeyReleaseEater's destructor was never called. --- src/yuzu/game_list.cpp | 5 +++-- src/yuzu/game_list_p.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/yuzu/game_list.cpp b/src/yuzu/game_list.cpp index a9738e298..70d865112 100644 --- a/src/yuzu/game_list.cpp +++ b/src/yuzu/game_list.cpp @@ -25,7 +25,8 @@ #include "yuzu/main.h" #include "yuzu/uisettings.h" -GameListSearchField::KeyReleaseEater::KeyReleaseEater(GameList* gamelist) : gamelist{gamelist} {} +GameListSearchField::KeyReleaseEater::KeyReleaseEater(GameList* gamelist, QObject* parent) + : QObject(parent), gamelist{gamelist} {} // EventFilter in order to process systemkeys while editing the searchfield bool GameListSearchField::KeyReleaseEater::eventFilter(QObject* obj, QEvent* event) { @@ -116,7 +117,7 @@ void GameListSearchField::setFocus() { } GameListSearchField::GameListSearchField(GameList* parent) : QWidget{parent} { - auto* const key_release_eater = new KeyReleaseEater(parent); + auto* const key_release_eater = new KeyReleaseEater(parent, this); layout_filter = new QHBoxLayout; layout_filter->setMargin(8); label_filter = new QLabel; diff --git a/src/yuzu/game_list_p.h b/src/yuzu/game_list_p.h index 92779a9c7..248855aff 100644 --- a/src/yuzu/game_list_p.h +++ b/src/yuzu/game_list_p.h @@ -330,7 +330,7 @@ public: private: class KeyReleaseEater : public QObject { public: - explicit KeyReleaseEater(GameList* gamelist); + explicit KeyReleaseEater(GameList* gamelist, QObject* parent = nullptr); private: GameList* gamelist = nullptr; From 385b5602e42c22fe89246534fe1305a727d75462 Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 29 Sep 2020 22:17:50 -0700 Subject: [PATCH 038/517] Update yuzu-patreon-step2.yml to set build timeout to 120 min This is currently necessary to build ffmpeg --- .ci/yuzu-patreon-step2.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/yuzu-patreon-step2.yml b/.ci/yuzu-patreon-step2.yml index 41eccd973..3f338e2a0 100644 --- a/.ci/yuzu-patreon-step2.yml +++ b/.ci/yuzu-patreon-step2.yml @@ -9,6 +9,7 @@ stages: displayName: 'build' jobs: - job: build + timeoutInMinutes: 120 displayName: 'windows-msvc' pool: vmImage: windows-2019 From 771a9c21cc2f401cb9fd653cefcfe9da78b8f1a7 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Tue, 29 Sep 2020 16:19:37 -0300 Subject: [PATCH 039/517] common/wall_clock: Add virtual destructors From -fsanitize=address, this code wasn't calling the proper destructor. Adding virtual destructors for each inherited class and the base class fixes this bug. While we are at it, mark the functions as final. --- src/common/wall_clock.cpp | 2 +- src/common/wall_clock.h | 2 ++ src/common/x64/native_clock.h | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/common/wall_clock.cpp b/src/common/wall_clock.cpp index 3afbdb898..7a20e95b7 100644 --- a/src/common/wall_clock.cpp +++ b/src/common/wall_clock.cpp @@ -15,7 +15,7 @@ namespace Common { using base_timer = std::chrono::steady_clock; using base_time_point = std::chrono::time_point; -class StandardWallClock : public WallClock { +class StandardWallClock final : public WallClock { public: StandardWallClock(u64 emulated_cpu_frequency, u64 emulated_clock_frequency) : WallClock(emulated_cpu_frequency, emulated_clock_frequency, false) { diff --git a/src/common/wall_clock.h b/src/common/wall_clock.h index 5db30083d..bc7adfbf8 100644 --- a/src/common/wall_clock.h +++ b/src/common/wall_clock.h @@ -13,6 +13,8 @@ namespace Common { class WallClock { public: + virtual ~WallClock() = default; + /// Returns current wall time in nanoseconds [[nodiscard]] virtual std::chrono::nanoseconds GetTimeNS() = 0; diff --git a/src/common/x64/native_clock.h b/src/common/x64/native_clock.h index 891a3bbfd..7c503df26 100644 --- a/src/common/x64/native_clock.h +++ b/src/common/x64/native_clock.h @@ -12,7 +12,7 @@ namespace Common { namespace X64 { -class NativeClock : public WallClock { +class NativeClock final : public WallClock { public: NativeClock(u64 emulated_cpu_frequency, u64 emulated_clock_frequency, u64 rtsc_frequency); From d7843b8ef2449a6af0bfd31b32bddae35bf99f6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas=20Locatti?= <42481638+goldenx86@users.noreply.github.com> Date: Wed, 30 Sep 2020 03:13:38 -0300 Subject: [PATCH 040/517] Remove ext_extended_dynamic_state blacklist Latest AMD 20.9.2 driver fixed this, there's no reason to keep it blocked, as the previous stable signed driver release doesn't include the extension. --- src/video_core/renderer_vulkan/vk_device.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_device.cpp b/src/video_core/renderer_vulkan/vk_device.cpp index 05e31f1de..3d8d3213d 100644 --- a/src/video_core/renderer_vulkan/vk_device.cpp +++ b/src/video_core/renderer_vulkan/vk_device.cpp @@ -388,14 +388,6 @@ bool VKDevice::Create() { CollectTelemetryParameters(); - if (ext_extended_dynamic_state && driver_id == VK_DRIVER_ID_AMD_PROPRIETARY_KHR) { - // AMD's proprietary driver supports VK_EXT_extended_dynamic_state but the field - // seems to be bugged. Blacklisting it for now. - LOG_WARNING(Render_Vulkan, - "Blacklisting AMD proprietary from VK_EXT_extended_dynamic_state"); - ext_extended_dynamic_state = false; - } - graphics_queue = logical.GetQueue(graphics_family); present_queue = logical.GetQueue(present_family); From 6ee1a784b8af5725b65e87cf0d7d87586a1873d1 Mon Sep 17 00:00:00 2001 From: Lukas Senionis Date: Sat, 26 Sep 2020 11:32:28 +0300 Subject: [PATCH 041/517] Reduce the "shake" requirements when configuring UDP. --- src/input_common/udp/client.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/input_common/udp/client.cpp b/src/input_common/udp/client.cpp index 2b6a68d4b..cf72f6fef 100644 --- a/src/input_common/udp/client.cpp +++ b/src/input_common/udp/client.cpp @@ -274,18 +274,22 @@ void Client::Reset() { void Client::UpdateYuzuSettings(std::size_t client, const Common::Vec3& acc, const Common::Vec3& gyro, bool touch) { + if (gyro.Length() > 0.2f) { + LOG_DEBUG(Input, "UDP Controller {}: gyro=({}, {}, {}), accel=({}, {}, {}), touch={}", + client, gyro[0], gyro[1], gyro[2], acc[0], acc[1], acc[2], touch); + } UDPPadStatus pad; if (touch) { pad.touch = PadTouch::Click; pad_queue[client].Push(pad); } for (size_t i = 0; i < 3; ++i) { - if (gyro[i] > 6.0f || gyro[i] < -6.0f) { + if (gyro[i] > 5.0f || gyro[i] < -5.0f) { pad.motion = static_cast(i); pad.motion_value = gyro[i]; pad_queue[client].Push(pad); } - if (acc[i] > 2.0f || acc[i] < -2.0f) { + if (acc[i] > 1.75f || acc[i] < -1.75f) { pad.motion = static_cast(i + 3); pad.motion_value = acc[i]; pad_queue[client].Push(pad); From 6380731486e687a0a6b60ac3a1bd68812e538e66 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Wed, 30 Sep 2020 06:34:08 -0400 Subject: [PATCH 042/517] hid: Stub HomeButtonInputProtection service commands - Used in 1-2 Switch. Given that we do not emulate the functionality of the home button yet, we can stub this for now. --- src/core/hle/service/hid/controllers/npad.cpp | 9 +++++ src/core/hle/service/hid/controllers/npad.h | 3 ++ src/core/hle/service/hid/hid.cpp | 38 ++++++++++++++++++- src/core/hle/service/hid/hid.h | 2 + 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index e34ee519e..548517a1f 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -826,6 +826,15 @@ Controller_NPad::LedPattern Controller_NPad::GetLedPattern(u32 npad_id) { } } +bool Controller_NPad::IsUnintendedHomeButtonInputProtectionEnabled(u32 npad_id) const { + return unintended_home_button_input_protection[NPadIdToIndex(npad_id)]; +} + +void Controller_NPad::SetUnintendedHomeButtonInputProtectionEnabled(bool is_protection_enabled, + u32 npad_id) { + unintended_home_button_input_protection[NPadIdToIndex(npad_id)] = is_protection_enabled; +} + void Controller_NPad::SetVibrationEnabled(bool can_vibrate) { can_controllers_vibrate = can_vibrate; } diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index 0fa7455ba..cd49f49be 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h @@ -146,6 +146,8 @@ public: bool IsSixAxisSensorAtRest() const; void SetSixAxisEnabled(bool six_axis_status); LedPattern GetLedPattern(u32 npad_id); + bool IsUnintendedHomeButtonInputProtectionEnabled(u32 npad_id) const; + void SetUnintendedHomeButtonInputProtectionEnabled(bool is_protection_enabled, u32 npad_id); void SetVibrationEnabled(bool can_vibrate); bool IsVibrationEnabled() const; void ClearAllConnectedControllers(); @@ -387,6 +389,7 @@ private: std::array styleset_changed_events; Vibration last_processed_vibration{}; std::array connected_controllers{}; + std::array unintended_home_button_input_protection{}; GyroscopeZeroDriftMode gyroscope_zero_drift_mode{GyroscopeZeroDriftMode::Standard}; bool can_controllers_vibrate{true}; bool sixaxis_sensors_enabled{true}; diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 9a7e5e265..eaa7038d9 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -224,8 +224,8 @@ Hid::Hid(Core::System& system) : ServiceFramework("hid"), system(system) { {128, &Hid::SetNpadHandheldActivationMode, "SetNpadHandheldActivationMode"}, {129, &Hid::GetNpadHandheldActivationMode, "GetNpadHandheldActivationMode"}, {130, &Hid::SwapNpadAssignment, "SwapNpadAssignment"}, - {131, nullptr, "IsUnintendedHomeButtonInputProtectionEnabled"}, - {132, nullptr, "EnableUnintendedHomeButtonInputProtection"}, + {131, &Hid::IsUnintendedHomeButtonInputProtectionEnabled, "IsUnintendedHomeButtonInputProtectionEnabled"}, + {132, &Hid::EnableUnintendedHomeButtonInputProtection, "EnableUnintendedHomeButtonInputProtection"}, {133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"}, {134, nullptr, "SetNpadAnalogStickUseCenterClamp"}, {135, nullptr, "SetNpadCaptureButtonAssignment"}, @@ -796,6 +796,40 @@ void Hid::SwapNpadAssignment(Kernel::HLERequestContext& ctx) { } } +void Hid::IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const auto npad_id{rp.Pop()}; + const auto applet_resource_user_id{rp.Pop()}; + + LOG_WARNING(Service_HID, "(STUBBED) called, npad_id={}, applet_resource_user_id={}", npad_id, + applet_resource_user_id); + + auto& controller = applet_resource->GetController(HidController::NPad); + + IPC::ResponseBuilder rb{ctx, 3}; + rb.Push(RESULT_SUCCESS); + rb.Push(controller.IsUnintendedHomeButtonInputProtectionEnabled(npad_id)); +} + +void Hid::EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const auto unintended_home_button_input_protection{rp.Pop()}; + const auto npad_id{rp.Pop()}; + const auto applet_resource_user_id{rp.Pop()}; + + LOG_WARNING(Service_HID, + "(STUBBED) called, unintended_home_button_input_protection={}, npad_id={}," + "applet_resource_user_id={}", + npad_id, unintended_home_button_input_protection, applet_resource_user_id); + + auto& controller = applet_resource->GetController(HidController::NPad); + controller.SetUnintendedHomeButtonInputProtectionEnabled( + unintended_home_button_input_protection, npad_id); + + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(RESULT_SUCCESS); +} + void Hid::BeginPermitVibrationSession(Kernel::HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const auto applet_resource_user_id{rp.Pop()}; diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h index 3cfd72a51..820e101c7 100644 --- a/src/core/hle/service/hid/hid.h +++ b/src/core/hle/service/hid/hid.h @@ -122,6 +122,8 @@ private: void SetNpadHandheldActivationMode(Kernel::HLERequestContext& ctx); void GetNpadHandheldActivationMode(Kernel::HLERequestContext& ctx); void SwapNpadAssignment(Kernel::HLERequestContext& ctx); + void IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext& ctx); + void EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& ctx); void BeginPermitVibrationSession(Kernel::HLERequestContext& ctx); void EndPermitVibrationSession(Kernel::HLERequestContext& ctx); void SendVibrationValue(Kernel::HLERequestContext& ctx); From 9a251339dc5073fd579a319e618e263f3c030081 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Wed, 30 Sep 2020 07:11:51 -0400 Subject: [PATCH 043/517] caps_su: Properly stub SetShimLibraryVersion --- src/core/hle/service/caps/caps_su.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/hle/service/caps/caps_su.cpp b/src/core/hle/service/caps/caps_su.cpp index fffb2ecf9..e386470f7 100644 --- a/src/core/hle/service/caps/caps_su.cpp +++ b/src/core/hle/service/caps/caps_su.cpp @@ -25,7 +25,12 @@ CAPS_SU::CAPS_SU() : ServiceFramework("caps:su") { CAPS_SU::~CAPS_SU() = default; void CAPS_SU::SetShimLibraryVersion(Kernel::HLERequestContext& ctx) { - LOG_WARNING(Service_Capture, "(STUBBED) called"); + IPC::RequestParser rp{ctx}; + const auto library_version{rp.Pop()}; + const auto applet_resource_user_id{rp.Pop()}; + + LOG_WARNING(Service_Capture, "(STUBBED) called. library_version={}, applet_resource_user_id={}", + library_version, applet_resource_user_id); IPC::ResponseBuilder rb{ctx, 2}; rb.Push(RESULT_SUCCESS); From 7d287a6fb01114da166fcbc29e3c57f1df22da57 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Wed, 30 Sep 2020 07:12:21 -0400 Subject: [PATCH 044/517] caps_u: Stub SetShimLibraryVersion - Used in Super Smash Bros. Ultimate --- src/core/hle/service/caps/caps_u.cpp | 15 +++++++++++++-- src/core/hle/service/caps/caps_u.h | 1 + 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/core/hle/service/caps/caps_u.cpp b/src/core/hle/service/caps/caps_u.cpp index f36d8de2d..8e2b83629 100644 --- a/src/core/hle/service/caps/caps_u.cpp +++ b/src/core/hle/service/caps/caps_u.cpp @@ -31,8 +31,7 @@ public: CAPS_U::CAPS_U() : ServiceFramework("caps:u") { // clang-format off static const FunctionInfo functions[] = { - {31, nullptr, "GetShimLibraryVersion"}, - {32, nullptr, "SetShimLibraryVersion"}, + {32, &CAPS_U::SetShimLibraryVersion, "SetShimLibraryVersion"}, {102, &CAPS_U::GetAlbumContentsFileListForApplication, "GetAlbumContentsFileListForApplication"}, {103, nullptr, "DeleteAlbumContentsFileForApplication"}, {104, nullptr, "GetAlbumContentsFileSizeForApplication"}, @@ -53,6 +52,18 @@ CAPS_U::CAPS_U() : ServiceFramework("caps:u") { CAPS_U::~CAPS_U() = default; +void CAPS_U::SetShimLibraryVersion(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const auto library_version{rp.Pop()}; + const auto applet_resource_user_id{rp.Pop()}; + + LOG_WARNING(Service_Capture, "(STUBBED) called. library_version={}, applet_resource_user_id={}", + library_version, applet_resource_user_id); + + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(RESULT_SUCCESS); +} + void CAPS_U::GetAlbumContentsFileListForApplication(Kernel::HLERequestContext& ctx) { // Takes a type-0x6 output buffer containing an array of ApplicationAlbumFileEntry, a PID, an // u8 ContentType, two s64s, and an u64 AppletResourceUserId. Returns an output u64 for total diff --git a/src/core/hle/service/caps/caps_u.h b/src/core/hle/service/caps/caps_u.h index 689364de4..e04e56bbc 100644 --- a/src/core/hle/service/caps/caps_u.h +++ b/src/core/hle/service/caps/caps_u.h @@ -18,6 +18,7 @@ public: ~CAPS_U() override; private: + void SetShimLibraryVersion(Kernel::HLERequestContext& ctx); void GetAlbumContentsFileListForApplication(Kernel::HLERequestContext& ctx); }; From 91bd2281bf7501804da488cabc5a557860f9aa38 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Wed, 30 Sep 2020 07:13:39 -0400 Subject: [PATCH 045/517] caps_c: Stub SetShimLibraryVersion - Used by caps_su SetShimLibraryVersion --- src/core/hle/service/caps/caps_c.cpp | 16 +++++++++++++++- src/core/hle/service/caps/caps_c.h | 3 +++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/core/hle/service/caps/caps_c.cpp b/src/core/hle/service/caps/caps_c.cpp index ab17a187e..a0ee116fa 100644 --- a/src/core/hle/service/caps/caps_c.cpp +++ b/src/core/hle/service/caps/caps_c.cpp @@ -2,6 +2,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include "common/logging/log.h" +#include "core/hle/ipc_helpers.h" #include "core/hle/service/caps/caps_c.h" namespace Service::Capture { @@ -47,7 +49,7 @@ CAPS_C::CAPS_C() : ServiceFramework("caps:c") { static const FunctionInfo functions[] = { {1, nullptr, "CaptureRawImage"}, {2, nullptr, "CaptureRawImageWithTimeout"}, - {33, nullptr, "Unknown33"}, + {33, &CAPS_C::SetShimLibraryVersion, "SetShimLibraryVersion"}, {1001, nullptr, "RequestTakingScreenShot"}, {1002, nullptr, "RequestTakingScreenShotWithTimeout"}, {1011, nullptr, "NotifyTakingScreenShotRefused"}, @@ -72,4 +74,16 @@ CAPS_C::CAPS_C() : ServiceFramework("caps:c") { CAPS_C::~CAPS_C() = default; +void CAPS_C::SetShimLibraryVersion(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const auto library_version{rp.Pop()}; + const auto applet_resource_user_id{rp.Pop()}; + + LOG_WARNING(Service_Capture, "(STUBBED) called. library_version={}, applet_resource_user_id={}", + library_version, applet_resource_user_id); + + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(RESULT_SUCCESS); +} + } // namespace Service::Capture diff --git a/src/core/hle/service/caps/caps_c.h b/src/core/hle/service/caps/caps_c.h index a9d028689..b110301d4 100644 --- a/src/core/hle/service/caps/caps_c.h +++ b/src/core/hle/service/caps/caps_c.h @@ -16,6 +16,9 @@ class CAPS_C final : public ServiceFramework { public: explicit CAPS_C(); ~CAPS_C() override; + +private: + void SetShimLibraryVersion(Kernel::HLERequestContext& ctx); }; } // namespace Service::Capture From 283616dbd8e7af7440156da2be0b2e8047a87936 Mon Sep 17 00:00:00 2001 From: german Date: Tue, 29 Sep 2020 19:37:22 -0500 Subject: [PATCH 046/517] Stubbed EnableSixAxisSensorFusion --- src/core/hle/service/hid/hid.cpp | 15 ++++++++++++++- src/core/hle/service/hid/hid.h | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 395e83b3f..6bb79622d 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -173,7 +173,7 @@ Hid::Hid(Core::System& system) : ServiceFramework("hid"), system(system) { {66, &Hid::StartSixAxisSensor, "StartSixAxisSensor"}, {67, &Hid::StopSixAxisSensor, "StopSixAxisSensor"}, {68, nullptr, "IsSixAxisSensorFusionEnabled"}, - {69, nullptr, "EnableSixAxisSensorFusion"}, + {69, &Hid::EnableSixAxisSensorFusion, "EnableSixAxisSensorFusion"}, {70, nullptr, "SetSixAxisSensorFusionParameters"}, {71, nullptr, "GetSixAxisSensorFusionParameters"}, {72, nullptr, "ResetSixAxisSensorFusionParameters"}, @@ -458,6 +458,19 @@ void Hid::StopSixAxisSensor(Kernel::HLERequestContext& ctx) { rb.Push(RESULT_SUCCESS); } +void Hid::EnableSixAxisSensorFusion(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const auto enable{rp.Pop()}; + const auto handle{rp.Pop()}; + const auto applet_resource_user_id{rp.Pop()}; + + LOG_WARNING(Service_HID, "(STUBBED) called, handle={}, applet_resource_user_id={}", handle, + applet_resource_user_id); + + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(RESULT_SUCCESS); +} + void Hid::SetGyroscopeZeroDriftMode(Kernel::HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const auto handle{rp.Pop()}; diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h index e04aaf1e9..b7f6f4aa4 100644 --- a/src/core/hle/service/hid/hid.h +++ b/src/core/hle/service/hid/hid.h @@ -97,6 +97,7 @@ private: void ActivateNpadWithRevision(Kernel::HLERequestContext& ctx); void StartSixAxisSensor(Kernel::HLERequestContext& ctx); void StopSixAxisSensor(Kernel::HLERequestContext& ctx); + void EnableSixAxisSensorFusion(Kernel::HLERequestContext& ctx); void SetGyroscopeZeroDriftMode(Kernel::HLERequestContext& ctx); void GetGyroscopeZeroDriftMode(Kernel::HLERequestContext& ctx); void ResetGyroscopeZeroDriftMode(Kernel::HLERequestContext& ctx); From 2f47b2765408aaa0d6617c3afc298dd1da92014e Mon Sep 17 00:00:00 2001 From: german Date: Thu, 1 Oct 2020 19:39:53 -0500 Subject: [PATCH 047/517] Only use inputs corresponding to controller type --- src/core/hle/service/hid/controllers/npad.cpp | 99 ++++++++++--------- 1 file changed, 54 insertions(+), 45 deletions(-) diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index fb007767d..a03af8df4 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -260,7 +260,7 @@ void Controller_NPad::OnRelease() {} void Controller_NPad::RequestPadStateUpdate(u32 npad_id) { const auto controller_idx = NPadIdToIndex(npad_id); - [[maybe_unused]] const auto controller_type = connected_controllers[controller_idx].type; + const auto controller_type = connected_controllers[controller_idx].type; if (!connected_controllers[controller_idx].is_connected) { return; } @@ -276,54 +276,63 @@ void Controller_NPad::RequestPadStateUpdate(u32 npad_id) { analog_state[static_cast(JoystickId::Joystick_Right)]->GetStatus(); using namespace Settings::NativeButton; - pad_state.a.Assign(button_state[A - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.b.Assign(button_state[B - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.x.Assign(button_state[X - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.y.Assign(button_state[Y - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.l_stick.Assign(button_state[LStick - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.r_stick.Assign(button_state[RStick - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.l.Assign(button_state[L - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.r.Assign(button_state[R - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.zl.Assign(button_state[ZL - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.zr.Assign(button_state[ZR - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.plus.Assign(button_state[Plus - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.minus.Assign(button_state[Minus - BUTTON_HID_BEGIN]->GetStatus()); + if (controller_type != NPadControllerType::JoyLeft) { + pad_state.a.Assign(button_state[A - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.b.Assign(button_state[B - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.x.Assign(button_state[X - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.y.Assign(button_state[Y - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.r_stick.Assign(button_state[RStick - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.r.Assign(button_state[R - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.zr.Assign(button_state[ZR - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.plus.Assign(button_state[Plus - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.d_left.Assign(button_state[DLeft - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.d_up.Assign(button_state[DUp - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.d_right.Assign(button_state[DRight - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.d_down.Assign(button_state[DDown - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.r_stick_right.Assign( + analog_state[static_cast(JoystickId::Joystick_Right)] + ->GetAnalogDirectionStatus(Input::AnalogDirection::RIGHT)); + pad_state.r_stick_left.Assign( + analog_state[static_cast(JoystickId::Joystick_Right)] + ->GetAnalogDirectionStatus(Input::AnalogDirection::LEFT)); + pad_state.r_stick_up.Assign( + analog_state[static_cast(JoystickId::Joystick_Right)] + ->GetAnalogDirectionStatus(Input::AnalogDirection::UP)); + pad_state.r_stick_down.Assign( + analog_state[static_cast(JoystickId::Joystick_Right)] + ->GetAnalogDirectionStatus(Input::AnalogDirection::DOWN)); + rstick_entry.x = static_cast(stick_r_x_f * HID_JOYSTICK_MAX); + rstick_entry.y = static_cast(stick_r_y_f * HID_JOYSTICK_MAX); + } - pad_state.l_stick_right.Assign( - analog_state[static_cast(JoystickId::Joystick_Left)]->GetAnalogDirectionStatus( - Input::AnalogDirection::RIGHT)); - pad_state.l_stick_left.Assign( - analog_state[static_cast(JoystickId::Joystick_Left)]->GetAnalogDirectionStatus( - Input::AnalogDirection::LEFT)); - pad_state.l_stick_up.Assign( - analog_state[static_cast(JoystickId::Joystick_Left)]->GetAnalogDirectionStatus( - Input::AnalogDirection::UP)); - pad_state.l_stick_down.Assign( - analog_state[static_cast(JoystickId::Joystick_Left)]->GetAnalogDirectionStatus( - Input::AnalogDirection::DOWN)); + if (controller_type != NPadControllerType::JoyRight) { + pad_state.d_left.Assign(button_state[DLeft - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.d_up.Assign(button_state[DUp - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.d_right.Assign(button_state[DRight - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.d_down.Assign(button_state[DDown - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.l_stick.Assign(button_state[LStick - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.l.Assign(button_state[L - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.zl.Assign(button_state[ZL - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.minus.Assign(button_state[Minus - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.r_stick_right.Assign( - analog_state[static_cast(JoystickId::Joystick_Right)] - ->GetAnalogDirectionStatus(Input::AnalogDirection::RIGHT)); - pad_state.r_stick_left.Assign(analog_state[static_cast(JoystickId::Joystick_Right)] - ->GetAnalogDirectionStatus(Input::AnalogDirection::LEFT)); - pad_state.r_stick_up.Assign(analog_state[static_cast(JoystickId::Joystick_Right)] - ->GetAnalogDirectionStatus(Input::AnalogDirection::UP)); - pad_state.r_stick_down.Assign(analog_state[static_cast(JoystickId::Joystick_Right)] - ->GetAnalogDirectionStatus(Input::AnalogDirection::DOWN)); + pad_state.l_stick_right.Assign( + analog_state[static_cast(JoystickId::Joystick_Left)] + ->GetAnalogDirectionStatus(Input::AnalogDirection::RIGHT)); + pad_state.l_stick_left.Assign( + analog_state[static_cast(JoystickId::Joystick_Left)] + ->GetAnalogDirectionStatus(Input::AnalogDirection::LEFT)); + pad_state.l_stick_up.Assign( + analog_state[static_cast(JoystickId::Joystick_Left)] + ->GetAnalogDirectionStatus(Input::AnalogDirection::UP)); + pad_state.l_stick_down.Assign( + analog_state[static_cast(JoystickId::Joystick_Left)] + ->GetAnalogDirectionStatus(Input::AnalogDirection::DOWN)); + lstick_entry.x = static_cast(stick_l_x_f * HID_JOYSTICK_MAX); + lstick_entry.y = static_cast(stick_l_y_f * HID_JOYSTICK_MAX); + } - pad_state.left_sl.Assign(button_state[SL - BUTTON_HID_BEGIN]->GetStatus()); - pad_state.left_sr.Assign(button_state[SR - BUTTON_HID_BEGIN]->GetStatus()); - - lstick_entry.x = static_cast(stick_l_x_f * HID_JOYSTICK_MAX); - lstick_entry.y = static_cast(stick_l_y_f * HID_JOYSTICK_MAX); - rstick_entry.x = static_cast(stick_r_x_f * HID_JOYSTICK_MAX); - rstick_entry.y = static_cast(stick_r_y_f * HID_JOYSTICK_MAX); + if (controller_type == NPadControllerType::JoyLeft || + controller_type == NPadControllerType::JoyRight) { + pad_state.left_sl.Assign(button_state[SL - BUTTON_HID_BEGIN]->GetStatus()); + pad_state.left_sr.Assign(button_state[SR - BUTTON_HID_BEGIN]->GetStatus()); + } } void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* data, From 2a24b1c9734a916e9a14579d4c550c84e83039b8 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Fri, 2 Oct 2020 21:19:35 -0300 Subject: [PATCH 048/517] video_core: Enforce -Wunused-variable and -Wunused-but-set-variable --- src/video_core/CMakeLists.txt | 8 +++++++- src/video_core/engines/maxwell_dma.cpp | 2 -- src/video_core/renderer_opengl/gl_device.cpp | 1 - 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt index da9e9fdda..2be455679 100644 --- a/src/video_core/CMakeLists.txt +++ b/src/video_core/CMakeLists.txt @@ -273,5 +273,11 @@ endif() if (MSVC) target_compile_options(video_core PRIVATE /we4267) else() - target_compile_options(video_core PRIVATE -Werror=conversion -Wno-error=sign-conversion -Werror=switch) + target_compile_options(video_core PRIVATE + -Werror=conversion + -Wno-error=sign-conversion + -Werror=switch + -Werror=unused-variable + -Werror=unused-but-set-variable + ) endif() diff --git a/src/video_core/engines/maxwell_dma.cpp b/src/video_core/engines/maxwell_dma.cpp index e88290754..8fa359d0a 100644 --- a/src/video_core/engines/maxwell_dma.cpp +++ b/src/video_core/engines/maxwell_dma.cpp @@ -114,8 +114,6 @@ void MaxwellDMA::CopyBlockLinearToPitch() { const u32 block_depth = src_params.block_size.depth; const size_t src_size = CalculateSize(true, bytes_per_pixel, width, height, depth, block_height, block_depth); - const size_t src_layer_size = - CalculateSize(true, bytes_per_pixel, width, height, 1, block_height, block_depth); if (read_buffer.size() < src_size) { read_buffer.resize(src_size); diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp index e7d95149f..a94e4f72e 100644 --- a/src/video_core/renderer_opengl/gl_device.cpp +++ b/src/video_core/renderer_opengl/gl_device.cpp @@ -193,7 +193,6 @@ bool IsASTCSupported() { Device::Device() : max_uniform_buffers{BuildMaxUniformBuffers()}, base_bindings{BuildBaseBindings()} { const std::string_view vendor = reinterpret_cast(glGetString(GL_VENDOR)); - const std::string_view renderer = reinterpret_cast(glGetString(GL_RENDERER)); const std::string_view version = reinterpret_cast(glGetString(GL_VERSION)); const std::vector extensions = GetExtensions(); From a220d8799ed332c1d8f2231b18079b1210511bcd Mon Sep 17 00:00:00 2001 From: german Date: Sat, 3 Oct 2020 22:22:01 -0500 Subject: [PATCH 049/517] Add compatibility with only accelerometer and auto calibrate for drift --- src/input_common/motion_input.cpp | 112 +++++++++++++++++++++++++++--- src/input_common/motion_input.h | 6 +- 2 files changed, 106 insertions(+), 12 deletions(-) diff --git a/src/input_common/motion_input.cpp b/src/input_common/motion_input.cpp index 22a849866..d3e736044 100644 --- a/src/input_common/motion_input.cpp +++ b/src/input_common/motion_input.cpp @@ -16,8 +16,16 @@ void MotionInput::SetAcceleration(const Common::Vec3f& acceleration) { void MotionInput::SetGyroscope(const Common::Vec3f& gyroscope) { gyro = gyroscope - gyro_drift; + + // Auto adjust drift to minimize drift + if (!IsMoving(0.1f)) { + gyro_drift = (gyro_drift * 0.9999f) + (gyroscope * 0.0001f); + } + if (gyro.Length2() < gyro_threshold) { gyro = {}; + } else { + only_accelerometer = false; } } @@ -49,7 +57,7 @@ bool MotionInput::IsCalibrated(f32 sensitivity) const { return real_error.Length() < sensitivity; } -void MotionInput::UpdateRotation(u64 elapsed_time) { +void MotionInput::UpdateRotation(const u64 elapsed_time) { const f32 sample_period = elapsed_time / 1000000.0f; if (sample_period > 0.1f) { return; @@ -57,7 +65,7 @@ void MotionInput::UpdateRotation(u64 elapsed_time) { rotations += gyro * sample_period; } -void MotionInput::UpdateOrientation(u64 elapsed_time) { +void MotionInput::UpdateOrientation(const u64 elapsed_time) { if (!IsCalibrated(0.1f)) { ResetOrientation(); } @@ -68,7 +76,7 @@ void MotionInput::UpdateOrientation(u64 elapsed_time) { f32 q4 = quat.xyz[2]; const f32 sample_period = elapsed_time / 1000000.0f; - // ignore invalid elapsed time + // Ignore invalid elapsed time if (sample_period > 0.1f) { return; } @@ -80,6 +88,13 @@ void MotionInput::UpdateOrientation(u64 elapsed_time) { rad_gyro.y = -swap; rad_gyro.z = -rad_gyro.z; + // Clear gyro values if there is no gyro present + if (only_accelerometer) { + rad_gyro.x = 0; + rad_gyro.y = 0; + rad_gyro.z = 0; + } + // Ignore drift correction if acceleration is not reliable if (accel.Length() >= 0.75f && accel.Length() <= 1.25f) { const f32 ax = -normal_accel.x; @@ -92,8 +107,11 @@ void MotionInput::UpdateOrientation(u64 elapsed_time) { const f32 vz = q1 * q1 - q2 * q2 - q3 * q3 + q4 * q4; // Error is cross product between estimated direction and measured direction of gravity - const Common::Vec3f new_real_error = {az * vx - ax * vz, ay * vz - az * vy, - ax * vy - ay * vx}; + const Common::Vec3f new_real_error = { + az * vx - ax * vz, + ay * vz - az * vy, + ax * vy - ay * vx, + }; derivative_error = new_real_error - real_error; real_error = new_real_error; @@ -106,9 +124,22 @@ void MotionInput::UpdateOrientation(u64 elapsed_time) { } // Apply feedback terms - rad_gyro += kp * real_error; - rad_gyro += ki * integral_error; - rad_gyro += kd * derivative_error; + if (!only_accelerometer) { + rad_gyro += kp * real_error; + rad_gyro += ki * integral_error; + rad_gyro += kd * derivative_error; + } else { + // Give more weight to acelerometer values to compensate for the lack of gyro + rad_gyro += 35.0f * kp * real_error; + rad_gyro += 10.0f * ki * integral_error; + rad_gyro += 10.0f * kd * derivative_error; + + // Emulate gyro values for games that need them + gyro.x = -rad_gyro.y; + gyro.y = rad_gyro.x; + gyro.z = -rad_gyro.z; + UpdateRotation(elapsed_time); + } } const f32 gx = rad_gyro.y; @@ -143,6 +174,67 @@ std::array MotionInput::GetOrientation() const { Common::Vec3f(-matrix4x4[8], -matrix4x4[9], matrix4x4[10])}; } +void MotionInput::SetOrientationFromAccelerometer() { + int iterations = 0; + const f32 sample_period = 0.015f; + + const auto normal_accel = accel.Normalized(); + const f32 ax = -normal_accel.x; + const f32 ay = normal_accel.y; + const f32 az = -normal_accel.z; + + while (!IsCalibrated(0.01f) && ++iterations < 100) { + // Short name local variable for readability + f32 q1 = quat.w; + f32 q2 = quat.xyz[0]; + f32 q3 = quat.xyz[1]; + f32 q4 = quat.xyz[2]; + + Common::Vec3f rad_gyro = {}; + const f32 ax = -normal_accel.x; + const f32 ay = normal_accel.y; + const f32 az = -normal_accel.z; + + // Estimated direction of gravity + const f32 vx = 2.0f * (q2 * q4 - q1 * q3); + const f32 vy = 2.0f * (q1 * q2 + q3 * q4); + const f32 vz = q1 * q1 - q2 * q2 - q3 * q3 + q4 * q4; + + // Error is cross product between estimated direction and measured direction of gravity + const Common::Vec3f new_real_error = { + az * vx - ax * vz, + ay * vz - az * vy, + ax * vy - ay * vx, + }; + + derivative_error = new_real_error - real_error; + real_error = new_real_error; + + rad_gyro += 10.0f * kp * real_error; + rad_gyro += 5.0f * ki * integral_error; + rad_gyro += 10.0f * kd * derivative_error; + + const f32 gx = rad_gyro.y; + const f32 gy = rad_gyro.x; + const f32 gz = rad_gyro.z; + + // Integrate rate of change of quaternion + const f32 pa = q2; + const f32 pb = q3; + const f32 pc = q4; + q1 = q1 + (-q2 * gx - q3 * gy - q4 * gz) * (0.5f * sample_period); + q2 = pa + (q1 * gx + pb * gz - pc * gy) * (0.5f * sample_period); + q3 = pb + (q1 * gy - pa * gz + pc * gx) * (0.5f * sample_period); + q4 = pc + (q1 * gz + pa * gy - pb * gx) * (0.5f * sample_period); + + quat.w = q1; + quat.xyz[0] = q2; + quat.xyz[1] = q3; + quat.xyz[2] = q4; + quat = quat.Normalized(); + } +} + Common::Vec3f MotionInput::GetAcceleration() const { return accel; } @@ -160,17 +252,17 @@ Common::Vec3f MotionInput::GetRotations() const { } void MotionInput::ResetOrientation() { - if (!reset_enabled) { + if (!reset_enabled || only_accelerometer) { return; } if (!IsMoving(0.5f) && accel.z <= -0.9f) { ++reset_counter; if (reset_counter > 900) { - // TODO: calculate quaternion from gravity vector quat.w = 0; quat.xyz[0] = 0; quat.xyz[1] = 0; quat.xyz[2] = -1; + SetOrientationFromAccelerometer(); integral_error = {}; reset_counter = 0; } diff --git a/src/input_common/motion_input.h b/src/input_common/motion_input.h index 54b4439d9..f6c1fece7 100644 --- a/src/input_common/motion_input.h +++ b/src/input_common/motion_input.h @@ -29,8 +29,8 @@ public: void EnableReset(bool reset); void ResetRotations(); - void UpdateRotation(u64 elapsed_time); - void UpdateOrientation(u64 elapsed_time); + void UpdateRotation(const u64 elapsed_time); + void UpdateOrientation(const u64 elapsed_time); std::array GetOrientation() const; Common::Vec3f GetAcceleration() const; @@ -43,6 +43,7 @@ public: private: void ResetOrientation(); + void SetOrientationFromAccelerometer(); // PID constants const f32 kp; @@ -63,6 +64,7 @@ private: f32 gyro_threshold = 0.0f; u32 reset_counter = 0; bool reset_enabled = true; + bool only_accelerometer = true; }; } // namespace InputCommon From a54aee290ff8f94d1fefc70121512dbc46f6c190 Mon Sep 17 00:00:00 2001 From: german Date: Sun, 4 Oct 2020 18:15:53 -0500 Subject: [PATCH 050/517] Address comments --- src/input_common/motion_input.cpp | 76 +++++++++++++++---------------- src/input_common/motion_input.h | 4 +- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/src/input_common/motion_input.cpp b/src/input_common/motion_input.cpp index d3e736044..182a2869a 100644 --- a/src/input_common/motion_input.cpp +++ b/src/input_common/motion_input.cpp @@ -57,7 +57,7 @@ bool MotionInput::IsCalibrated(f32 sensitivity) const { return real_error.Length() < sensitivity; } -void MotionInput::UpdateRotation(const u64 elapsed_time) { +void MotionInput::UpdateRotation(u64 elapsed_time) { const f32 sample_period = elapsed_time / 1000000.0f; if (sample_period > 0.1f) { return; @@ -65,7 +65,7 @@ void MotionInput::UpdateRotation(const u64 elapsed_time) { rotations += gyro * sample_period; } -void MotionInput::UpdateOrientation(const u64 elapsed_time) { +void MotionInput::UpdateOrientation(u64 elapsed_time) { if (!IsCalibrated(0.1f)) { ResetOrientation(); } @@ -174,6 +174,42 @@ std::array MotionInput::GetOrientation() const { Common::Vec3f(-matrix4x4[8], -matrix4x4[9], matrix4x4[10])}; } +Common::Vec3f MotionInput::GetAcceleration() const { + return accel; +} + +Common::Vec3f MotionInput::GetGyroscope() const { + return gyro; +} + +Common::Quaternion MotionInput::GetQuaternion() const { + return quat; +} + +Common::Vec3f MotionInput::GetRotations() const { + return rotations; +} + +void MotionInput::ResetOrientation() { + if (!reset_enabled || only_accelerometer) { + return; + } + if (!IsMoving(0.5f) && accel.z <= -0.9f) { + ++reset_counter; + if (reset_counter > 900) { + quat.w = 0; + quat.xyz[0] = 0; + quat.xyz[1] = 0; + quat.xyz[2] = -1; + SetOrientationFromAccelerometer(); + integral_error = {}; + reset_counter = 0; + } + } else { + reset_counter = 0; + } +} + void MotionInput::SetOrientationFromAccelerometer() { int iterations = 0; const f32 sample_period = 0.015f; @@ -234,40 +270,4 @@ void MotionInput::SetOrientationFromAccelerometer() { quat = quat.Normalized(); } } - -Common::Vec3f MotionInput::GetAcceleration() const { - return accel; -} - -Common::Vec3f MotionInput::GetGyroscope() const { - return gyro; -} - -Common::Quaternion MotionInput::GetQuaternion() const { - return quat; -} - -Common::Vec3f MotionInput::GetRotations() const { - return rotations; -} - -void MotionInput::ResetOrientation() { - if (!reset_enabled || only_accelerometer) { - return; - } - if (!IsMoving(0.5f) && accel.z <= -0.9f) { - ++reset_counter; - if (reset_counter > 900) { - quat.w = 0; - quat.xyz[0] = 0; - quat.xyz[1] = 0; - quat.xyz[2] = -1; - SetOrientationFromAccelerometer(); - integral_error = {}; - reset_counter = 0; - } - } else { - reset_counter = 0; - } -} } // namespace InputCommon diff --git a/src/input_common/motion_input.h b/src/input_common/motion_input.h index f6c1fece7..c90ee64e5 100644 --- a/src/input_common/motion_input.h +++ b/src/input_common/motion_input.h @@ -29,8 +29,8 @@ public: void EnableReset(bool reset); void ResetRotations(); - void UpdateRotation(const u64 elapsed_time); - void UpdateOrientation(const u64 elapsed_time); + void UpdateRotation(u64 elapsed_time); + void UpdateOrientation(u64 elapsed_time); std::array GetOrientation() const; Common::Vec3f GetAcceleration() const; From cd3e959f237352f863e16ce7ca94f837c4f611db Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Wed, 7 Oct 2020 17:13:20 -0300 Subject: [PATCH 051/517] renderer_vulkan/wrapper: Fix physical device sorting The old code had a sort function that was invalid and it didn't work as expected when the base vector had a different order (e.g. renderdoc was attached). This sorts devices as expected and fixes a debug assert on MSVC. --- src/video_core/renderer_vulkan/wrapper.cpp | 48 ++++++++++++++++------ 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/src/video_core/renderer_vulkan/wrapper.cpp b/src/video_core/renderer_vulkan/wrapper.cpp index 1fb14e190..2598440fb 100644 --- a/src/video_core/renderer_vulkan/wrapper.cpp +++ b/src/video_core/renderer_vulkan/wrapper.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -17,21 +18,42 @@ namespace Vulkan::vk { namespace { -void SortPhysicalDevices(std::vector& devices, const InstanceDispatch& dld) { - std::stable_sort(devices.begin(), devices.end(), [&](auto lhs, auto rhs) { - // This will call Vulkan more than needed, but these calls are cheap. - const auto lhs_properties = vk::PhysicalDevice(lhs, dld).GetProperties(); - const auto rhs_properties = vk::PhysicalDevice(rhs, dld).GetProperties(); +template +void SortPhysicalDevices(std::vector& devices, const InstanceDispatch& dld, + Func&& func) { + // Calling GetProperties calls Vulkan more than needed. But they are supposed to be cheap + // functions. + std::stable_sort(devices.begin(), devices.end(), + [&dld, &func](VkPhysicalDevice lhs, VkPhysicalDevice rhs) { + return func(vk::PhysicalDevice(lhs, dld).GetProperties(), + vk::PhysicalDevice(rhs, dld).GetProperties()); + }); +} - // Prefer discrete GPUs, Nvidia over AMD, AMD over Intel, Intel over the rest. - const bool preferred = - (lhs_properties.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU && - rhs_properties.deviceType != VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU) || - (lhs_properties.vendorID == 0x10DE && rhs_properties.vendorID != 0x10DE) || - (lhs_properties.vendorID == 0x1002 && rhs_properties.vendorID != 0x1002) || - (lhs_properties.vendorID == 0x8086 && rhs_properties.vendorID != 0x8086); - return !preferred; +void SortPhysicalDevicesPerVendor(std::vector& devices, + const InstanceDispatch& dld, + std::initializer_list vendor_ids) { + for (auto it = vendor_ids.end(); it != vendor_ids.begin();) { + --it; + SortPhysicalDevices(devices, dld, [id = *it](const auto& lhs, const auto& rhs) { + return lhs.vendorID == id && rhs.vendorID != id; + }); + } +} + +void SortPhysicalDevices(std::vector& devices, const InstanceDispatch& dld) { + // Sort by name, this will set a base and make GPUs with higher numbers appear first + // (e.g. GTX 1650 will intentionally be listed before a GTX 1080). + SortPhysicalDevices(devices, dld, [](const auto& lhs, const auto& rhs) { + return std::string_view{lhs.deviceName} > std::string_view{rhs.deviceName}; }); + // Prefer discrete over non-discrete + SortPhysicalDevices(devices, dld, [](const auto& lhs, const auto& rhs) { + return lhs.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU && + rhs.deviceType != VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU; + }); + // Prefer Nvidia over AMD, AMD over Intel, Intel over the rest. + SortPhysicalDevicesPerVendor(devices, dld, {0x10DE, 0x1002, 0x8086}); } template From dffaffaac1eb633d5907202df1ca0dbf338a6095 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Wed, 7 Oct 2020 23:17:46 -0300 Subject: [PATCH 052/517] shader/texture: Implement CUBE texture type for TMML and fix arrays TMML takes an array argument that has no known meaning, this one appears as the first component in gpr8 followed by s, t and r. Skip this component when arrays are being used. Also implement CUBE texture types. - Used by Pikmin 3: Deluxe Demo. --- src/video_core/shader/decode/texture.cpp | 41 +++++++++++++----------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/src/video_core/shader/decode/texture.cpp b/src/video_core/shader/decode/texture.cpp index a03b50e39..4e932a4b6 100644 --- a/src/video_core/shader/decode/texture.cpp +++ b/src/video_core/shader/decode/texture.cpp @@ -292,33 +292,36 @@ u32 ShaderIR::DecodeTexture(NodeBlock& bb, u32 pc) { break; } + const u64 base_index = is_array ? 1 : 0; + const u64 num_components = [texture_type] { + switch (texture_type) { + case TextureType::Texture1D: + return 1; + case TextureType::Texture2D: + return 2; + case TextureType::TextureCube: + return 3; + default: + UNIMPLEMENTED_MSG("Unhandled texture type {}", static_cast(texture_type)); + return 2; + } + }(); + // TODO: What's the array component used for? + std::vector coords; - - // TODO: Add coordinates for different samplers once other texture types are implemented. - switch (texture_type) { - case TextureType::Texture1D: - coords.push_back(GetRegister(instr.gpr8)); - break; - case TextureType::Texture2D: - coords.push_back(GetRegister(instr.gpr8.Value() + 0)); - coords.push_back(GetRegister(instr.gpr8.Value() + 1)); - break; - default: - UNIMPLEMENTED_MSG("Unhandled texture type {}", static_cast(texture_type)); - - // Fallback to interpreting as a 2D texture for now - coords.push_back(GetRegister(instr.gpr8.Value() + 0)); - coords.push_back(GetRegister(instr.gpr8.Value() + 1)); + coords.reserve(num_components); + for (u64 component = 0; component < num_components; ++component) { + coords.push_back(GetRegister(instr.gpr8.Value() + base_index + component)); } + u32 indexer = 0; for (u32 element = 0; element < 2; ++element) { if (!instr.tmml.IsComponentEnabled(element)) { continue; } - auto params = coords; MetaTexture meta{*sampler, {}, {}, {}, {}, {}, {}, {}, {}, element, index_var}; - const Node value = Operation(OperationCode::TextureQueryLod, meta, std::move(params)); - SetTemporary(bb, indexer++, value); + Node value = Operation(OperationCode::TextureQueryLod, meta, coords); + SetTemporary(bb, indexer++, std::move(value)); } for (u32 i = 0; i < indexer; ++i) { SetRegister(bb, instr.gpr0.Value() + i, GetTemporary(i)); From 0120e5b1d97f1ebbdd23eed359804221eb697ad2 Mon Sep 17 00:00:00 2001 From: goldenx86 Date: Thu, 8 Oct 2020 21:17:08 -0300 Subject: [PATCH 053/517] vk_device: Block VK_EXT_extended_dynamic_state for RDNA devices RDNA devices seem to crash when using VK_EXT_extended_dynamic_state in the latest 20.9.2 proprietary Windows drivers. As a workaround, for now we block device names corresponding to current RDNA released products. --- src/video_core/renderer_vulkan/vk_device.cpp | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/video_core/renderer_vulkan/vk_device.cpp b/src/video_core/renderer_vulkan/vk_device.cpp index 3d8d3213d..1f057b43b 100644 --- a/src/video_core/renderer_vulkan/vk_device.cpp +++ b/src/video_core/renderer_vulkan/vk_device.cpp @@ -79,6 +79,21 @@ VkFormatFeatureFlags GetFormatFeatures(VkFormatProperties properties, FormatType } } +[[nodiscard]] bool IsRDNA(std::string_view device_name, VkDriverIdKHR driver_id) { + static constexpr std::array RDNA_DEVICES{ + "5700", + "5600", + "5500", + "5300", + }; + if (driver_id != VK_DRIVER_ID_AMD_PROPRIETARY_KHR) { + return false; + } + return std::any_of(RDNA_DEVICES.begin(), RDNA_DEVICES.end(), [device_name](const char* name) { + return device_name.find(name) != std::string_view::npos; + }); +} + std::unordered_map GetFormatProperties( vk::PhysicalDevice physical, const vk::InstanceDispatch& dld) { static constexpr std::array formats{ @@ -388,6 +403,15 @@ bool VKDevice::Create() { CollectTelemetryParameters(); + if (ext_extended_dynamic_state && IsRDNA(properties.deviceName, driver_id)) { + // AMD's proprietary driver supports VK_EXT_extended_dynamic_state but on RDNA devices it + // seems to cause stability issues + LOG_WARNING( + Render_Vulkan, + "Blacklisting AMD proprietary on RDNA devices from VK_EXT_extended_dynamic_state"); + ext_extended_dynamic_state = false; + } + graphics_queue = logical.GetQueue(graphics_family); present_queue = logical.GetQueue(present_family); From e1600b0962c78302b05d4b98d75245b980a03831 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Fri, 2 Oct 2020 21:24:22 -0300 Subject: [PATCH 054/517] video_core: Enforce -Wclass-memaccess --- src/video_core/CMakeLists.txt | 1 + src/video_core/engines/shader_header.h | 13 ++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt index 2be455679..3df54816d 100644 --- a/src/video_core/CMakeLists.txt +++ b/src/video_core/CMakeLists.txt @@ -279,5 +279,6 @@ else() -Werror=switch -Werror=unused-variable -Werror=unused-but-set-variable + -Werror=class-memaccess ) endif() diff --git a/src/video_core/engines/shader_header.h b/src/video_core/engines/shader_header.h index 72e2a33d5..ceec05459 100644 --- a/src/video_core/engines/shader_header.h +++ b/src/video_core/engines/shader_header.h @@ -41,30 +41,30 @@ struct Header { BitField<26, 1, u32> does_load_or_store; BitField<27, 1, u32> does_fp64; BitField<28, 4, u32> stream_out_mask; - } common0{}; + } common0; union { BitField<0, 24, u32> shader_local_memory_low_size; BitField<24, 8, u32> per_patch_attribute_count; - } common1{}; + } common1; union { BitField<0, 24, u32> shader_local_memory_high_size; BitField<24, 8, u32> threads_per_input_primitive; - } common2{}; + } common2; union { BitField<0, 24, u32> shader_local_memory_crs_size; BitField<24, 4, OutputTopology> output_topology; BitField<28, 4, u32> reserved; - } common3{}; + } common3; union { BitField<0, 12, u32> max_output_vertices; BitField<12, 8, u32> store_req_start; // NOTE: not used by geometry shaders. BitField<20, 4, u32> reserved; BitField<24, 8, u32> store_req_end; // NOTE: not used by geometry shaders. - } common4{}; + } common4; union { struct { @@ -145,7 +145,7 @@ struct Header { } } ps; - std::array raw{}; + std::array raw; }; u64 GetLocalMemorySize() const { @@ -153,7 +153,6 @@ struct Header { (common2.shader_local_memory_high_size << 24)); } }; - static_assert(sizeof(Header) == 0x50, "Incorrect structure size"); } // namespace Tegra::Shader From b2608472181e07eccb642c444dbbfadca9dc1bc2 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 12 Oct 2020 17:36:52 -0700 Subject: [PATCH 055/517] hle: service: nvdrv: Implement nvhost_as_gpu::FreeSpace. - This is used by Super Mario 3D All-Stars. --- .../hle/service/nvdrv/devices/nvhost_as_gpu.cpp | 16 ++++++++++++++++ .../hle/service/nvdrv/devices/nvhost_as_gpu.h | 9 +++++++++ 2 files changed, 25 insertions(+) diff --git a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp index 39bd2a45b..f2529a12e 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp @@ -46,6 +46,8 @@ u32 nvhost_as_gpu::ioctl(Ioctl command, const std::vector& input, const std: return GetVARegions(input, output); case IoctlCommand::IocUnmapBufferCommand: return UnmapBuffer(input, output); + case IoctlCommand::IocFreeSpaceCommand: + return FreeSpace(input, output); default: break; } @@ -91,6 +93,20 @@ u32 nvhost_as_gpu::AllocateSpace(const std::vector& input, std::vector& return result; } +u32 nvhost_as_gpu::FreeSpace(const std::vector& input, std::vector& output) { + IoctlFreeSpace params{}; + std::memcpy(¶ms, input.data(), input.size()); + + LOG_DEBUG(Service_NVDRV, "called, offset={:X}, pages={:X}, page_size={:X}", params.offset, + params.pages, params.page_size); + + system.GPU().MemoryManager().Unmap(params.offset, + static_cast(params.pages) * params.page_size); + + std::memcpy(output.data(), ¶ms, output.size()); + return NvErrCodes::Success; +} + u32 nvhost_as_gpu::Remap(const std::vector& input, std::vector& output) { const auto num_entries = input.size() / sizeof(IoctlRemapEntry); diff --git a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.h b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.h index 9a0cdff0c..fcdb40d93 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.h @@ -82,6 +82,7 @@ private: IocBindChannelCommand = 0x40044101, IocGetVaRegionsCommand = 0xC0404108, IocUnmapBufferCommand = 0xC0084105, + IocFreeSpaceCommand = 0xC0104103, }; struct IoctlInitalizeEx { @@ -107,6 +108,13 @@ private: }; static_assert(sizeof(IoctlAllocSpace) == 24, "IoctlInitalizeEx is incorrect size"); + struct IoctlFreeSpace { + u64_le offset; + u32_le pages; + u32_le page_size; + }; + static_assert(sizeof(IoctlFreeSpace) == 16, "IoctlFreeSpace is incorrect size"); + struct IoctlRemapEntry { u16_le flags; u16_le kind; @@ -162,6 +170,7 @@ private: u32 Remap(const std::vector& input, std::vector& output); u32 MapBufferEx(const std::vector& input, std::vector& output); u32 UnmapBuffer(const std::vector& input, std::vector& output); + u32 FreeSpace(const std::vector& input, std::vector& output); u32 BindChannel(const std::vector& input, std::vector& output); u32 GetVARegions(const std::vector& input, std::vector& output); From 62c6c9f6a6dbc44de5fa8e03187fb34037958d5f Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 12 Oct 2020 18:09:15 -0700 Subject: [PATCH 056/517] service: time: Update current time with changes to RTC setting. - This can be used to advance time, e.g. for Pokemon Sword/Shield pokejobs. --- src/core/core.cpp | 15 +- src/core/core.h | 8 + src/core/hle/service/time/time.cpp | 28 +- src/core/hle/service/time/time.h | 9 +- src/core/hle/service/time/time_manager.cpp | 385 ++++++++++++------ src/core/hle/service/time/time_manager.h | 83 +--- .../time/time_zone_content_manager.cpp | 5 +- .../service/time/time_zone_content_manager.h | 4 +- src/yuzu/configuration/configure_system.cpp | 26 +- 9 files changed, 353 insertions(+), 210 deletions(-) diff --git a/src/core/core.cpp b/src/core/core.cpp index 81e8cc338..fde2ccc09 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -40,6 +40,7 @@ #include "core/hle/service/lm/manager.h" #include "core/hle/service/service.h" #include "core/hle/service/sm/sm.h" +#include "core/hle/service/time/time_manager.h" #include "core/loader/loader.h" #include "core/memory.h" #include "core/memory/cheat_engine.h" @@ -121,7 +122,7 @@ FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs, struct System::Impl { explicit Impl(System& system) : kernel{system}, fs_controller{system}, memory{system}, - cpu_manager{system}, reporter{system}, applet_manager{system} {} + cpu_manager{system}, reporter{system}, applet_manager{system}, time_manager{system} {} ResultStatus Run() { status = ResultStatus::Success; @@ -189,6 +190,9 @@ struct System::Impl { return ResultStatus::ErrorVideoCore; } + // Initialize time manager, which must happen after kernel is created + time_manager.Initialize(); + is_powered_on = true; exit_lock = false; @@ -387,6 +391,7 @@ struct System::Impl { /// Service State Service::Glue::ARPManager arp_manager; Service::LM::Manager lm_manager{reporter}; + Service::Time::TimeManager time_manager; /// Service manager std::shared_ptr service_manager; @@ -717,6 +722,14 @@ const Service::LM::Manager& System::GetLogManager() const { return impl->lm_manager; } +Service::Time::TimeManager& System::GetTimeManager() { + return impl->time_manager; +} + +const Service::Time::TimeManager& System::GetTimeManager() const { + return impl->time_manager; +} + void System::SetExitLock(bool locked) { impl->exit_lock = locked; } diff --git a/src/core/core.h b/src/core/core.h index 27efe30bb..6db896bae 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -69,6 +69,10 @@ namespace SM { class ServiceManager; } // namespace SM +namespace Time { +class TimeManager; +} // namespace Time + } // namespace Service namespace Tegra { @@ -361,6 +365,10 @@ public: const Service::LM::Manager& GetLogManager() const; + Service::Time::TimeManager& GetTimeManager(); + + const Service::Time::TimeManager& GetTimeManager() const; + void SetExitLock(bool locked); bool GetExitLock() const; diff --git a/src/core/hle/service/time/time.cpp b/src/core/hle/service/time/time.cpp index ee4fa4b48..7d0474e0b 100644 --- a/src/core/hle/service/time/time.cpp +++ b/src/core/hle/service/time/time.cpp @@ -10,6 +10,7 @@ #include "core/hle/ipc_helpers.h" #include "core/hle/kernel/client_port.h" #include "core/hle/kernel/client_session.h" +#include "core/hle/kernel/kernel.h" #include "core/hle/kernel/scheduler.h" #include "core/hle/service/time/interface.h" #include "core/hle/service/time/time.h" @@ -125,7 +126,7 @@ ResultCode Module::Interface::GetClockSnapshotFromSystemClockContextInternal( Kernel::Thread* thread, Clock::SystemClockContext user_context, Clock::SystemClockContext network_context, u8 type, Clock::ClockSnapshot& clock_snapshot) { - auto& time_manager{module->GetTimeManager()}; + auto& time_manager{system.GetTimeManager()}; clock_snapshot.is_automatic_correction_enabled = time_manager.GetStandardUserSystemClockCore().IsAutomaticCorrectionEnabled(); @@ -182,7 +183,7 @@ void Module::Interface::GetStandardUserSystemClock(Kernel::HLERequestContext& ct LOG_DEBUG(Service_Time, "called"); IPC::ResponseBuilder rb{ctx, 2, 0, 1}; rb.Push(RESULT_SUCCESS); - rb.PushIpcInterface(module->GetTimeManager().GetStandardUserSystemClockCore(), + rb.PushIpcInterface(system.GetTimeManager().GetStandardUserSystemClockCore(), system); } @@ -190,7 +191,7 @@ void Module::Interface::GetStandardNetworkSystemClock(Kernel::HLERequestContext& LOG_DEBUG(Service_Time, "called"); IPC::ResponseBuilder rb{ctx, 2, 0, 1}; rb.Push(RESULT_SUCCESS); - rb.PushIpcInterface(module->GetTimeManager().GetStandardNetworkSystemClockCore(), + rb.PushIpcInterface(system.GetTimeManager().GetStandardNetworkSystemClockCore(), system); } @@ -198,29 +199,28 @@ void Module::Interface::GetStandardSteadyClock(Kernel::HLERequestContext& ctx) { LOG_DEBUG(Service_Time, "called"); IPC::ResponseBuilder rb{ctx, 2, 0, 1}; rb.Push(RESULT_SUCCESS); - rb.PushIpcInterface(module->GetTimeManager().GetStandardSteadyClockCore(), - system); + rb.PushIpcInterface(system.GetTimeManager().GetStandardSteadyClockCore(), system); } void Module::Interface::GetTimeZoneService(Kernel::HLERequestContext& ctx) { LOG_DEBUG(Service_Time, "called"); IPC::ResponseBuilder rb{ctx, 2, 0, 1}; rb.Push(RESULT_SUCCESS); - rb.PushIpcInterface(module->GetTimeManager().GetTimeZoneContentManager()); + rb.PushIpcInterface(system.GetTimeManager().GetTimeZoneContentManager()); } void Module::Interface::GetStandardLocalSystemClock(Kernel::HLERequestContext& ctx) { LOG_DEBUG(Service_Time, "called"); IPC::ResponseBuilder rb{ctx, 2, 0, 1}; rb.Push(RESULT_SUCCESS); - rb.PushIpcInterface(module->GetTimeManager().GetStandardLocalSystemClockCore(), + rb.PushIpcInterface(system.GetTimeManager().GetStandardLocalSystemClockCore(), system); } void Module::Interface::IsStandardNetworkSystemClockAccuracySufficient( Kernel::HLERequestContext& ctx) { LOG_DEBUG(Service_Time, "called"); - auto& clock_core{module->GetTimeManager().GetStandardNetworkSystemClockCore()}; + auto& clock_core{system.GetTimeManager().GetStandardNetworkSystemClockCore()}; IPC::ResponseBuilder rb{ctx, 3}; rb.Push(RESULT_SUCCESS); rb.Push(clock_core.IsStandardNetworkSystemClockAccuracySufficient(system)); @@ -229,7 +229,7 @@ void Module::Interface::IsStandardNetworkSystemClockAccuracySufficient( void Module::Interface::CalculateMonotonicSystemClockBaseTimePoint(Kernel::HLERequestContext& ctx) { LOG_DEBUG(Service_Time, "called"); - auto& steady_clock_core{module->GetTimeManager().GetStandardSteadyClockCore()}; + auto& steady_clock_core{system.GetTimeManager().GetStandardSteadyClockCore()}; if (!steady_clock_core.IsInitialized()) { IPC::ResponseBuilder rb{ctx, 2}; rb.Push(ERROR_UNINITIALIZED_CLOCK); @@ -262,8 +262,8 @@ void Module::Interface::GetClockSnapshot(Kernel::HLERequestContext& ctx) { Clock::SystemClockContext user_context{}; if (const ResultCode result{ - module->GetTimeManager().GetStandardUserSystemClockCore().GetClockContext( - system, user_context)}; + system.GetTimeManager().GetStandardUserSystemClockCore().GetClockContext(system, + user_context)}; result.IsError()) { IPC::ResponseBuilder rb{ctx, 2}; rb.Push(result); @@ -271,7 +271,7 @@ void Module::Interface::GetClockSnapshot(Kernel::HLERequestContext& ctx) { } Clock::SystemClockContext network_context{}; if (const ResultCode result{ - module->GetTimeManager().GetStandardNetworkSystemClockCore().GetClockContext( + system.GetTimeManager().GetStandardNetworkSystemClockCore().GetClockContext( system, network_context)}; result.IsError()) { IPC::ResponseBuilder rb{ctx, 2}; @@ -372,7 +372,7 @@ void Module::Interface::GetSharedMemoryNativeHandle(Kernel::HLERequestContext& c LOG_DEBUG(Service_Time, "called"); IPC::ResponseBuilder rb{ctx, 2, 1}; rb.Push(RESULT_SUCCESS); - rb.PushCopyObjects(module->GetTimeManager().GetSharedMemory().GetSharedMemoryHolder()); + rb.PushCopyObjects(SharedFrom(&system.Kernel().GetTimeSharedMem())); } Module::Interface::Interface(std::shared_ptr module, Core::System& system, const char* name) @@ -381,7 +381,7 @@ Module::Interface::Interface(std::shared_ptr module, Core::System& syste Module::Interface::~Interface() = default; void InstallInterfaces(Core::System& system) { - auto module{std::make_shared(system)}; + auto module{std::make_shared()}; std::make_shared