2023-05-07 09:49:47 -04:00
|
|
|
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
|
2023-05-07 09:48:26 -04:00
|
|
|
|
#include <forward_list>
|
|
|
|
|
#include <map>
|
|
|
|
|
#include <memory>
|
|
|
|
|
#include <string>
|
|
|
|
|
#include <typeindex>
|
|
|
|
|
#include <utility>
|
|
|
|
|
#include <QString>
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
#include "common/settings.h"
|
|
|
|
|
#include "yuzu/configuration/shared_translation.h"
|
2023-05-09 01:36:17 -04:00
|
|
|
|
#include "yuzu/uisettings.h"
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
|
|
|
|
namespace ConfigurationShared {
|
|
|
|
|
|
|
|
|
|
std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) {
|
|
|
|
|
std::unique_ptr<TranslationMap> translations = std::make_unique<TranslationMap>();
|
|
|
|
|
const auto& tr = [parent](const char* text) -> QString { return parent->tr(text); };
|
|
|
|
|
|
2023-05-09 01:36:17 -04:00
|
|
|
|
#define INSERT(SETTINGS, ID, NAME, TOOLTIP) \
|
|
|
|
|
translations->insert(std::pair{SETTINGS::values.ID.Id(), std::pair{tr((NAME)), tr((TOOLTIP))}})
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
2023-05-07 10:34:39 -04:00
|
|
|
|
// A setting can be ignored by giving it a blank name
|
|
|
|
|
|
2023-05-07 09:48:26 -04:00
|
|
|
|
// Audio
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, sink_id, "Output Engine:", "");
|
|
|
|
|
INSERT(Settings, audio_output_device_id, "Output Device:", "");
|
|
|
|
|
INSERT(Settings, audio_input_device_id, "Input Device:", "");
|
|
|
|
|
INSERT(Settings, audio_muted, "Mute audio when in background", "");
|
|
|
|
|
INSERT(Settings, volume, "Volume:", "");
|
2023-05-18 17:54:22 -04:00
|
|
|
|
INSERT(Settings, dump_audio_commands, "", "");
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
|
|
|
|
// Core
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, use_multi_core, "Multicore CPU Emulation", "");
|
|
|
|
|
INSERT(Settings, use_unsafe_extended_memory_layout, "Unsafe extended memory layout (8GB DRAM)",
|
|
|
|
|
"");
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
|
|
|
|
// Cpu
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, cpu_accuracy, "Accuracy:", "");
|
|
|
|
|
INSERT(Settings, cpu_accuracy_first_time, "", "");
|
2023-05-07 10:34:39 -04:00
|
|
|
|
|
|
|
|
|
// Cpu Debug
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
2023-05-07 10:34:39 -04:00
|
|
|
|
// Cpu Unsafe
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, cpuopt_unsafe_unfuse_fma,
|
|
|
|
|
"Unfuse FMA (improve performance on CPUs without FMA)", "");
|
|
|
|
|
INSERT(Settings, cpuopt_unsafe_reduce_fp_error, "Faster FRSQRTE and FRECPE", "");
|
|
|
|
|
INSERT(Settings, cpuopt_unsafe_ignore_standard_fpcr, "Faster ASIMD instructions (32 bits only)",
|
|
|
|
|
"");
|
|
|
|
|
INSERT(Settings, cpuopt_unsafe_inaccurate_nan, "Inaccurate NaN handling", "");
|
|
|
|
|
INSERT(Settings, cpuopt_unsafe_fastmem_check, "Disable address space checks", "");
|
|
|
|
|
INSERT(Settings, cpuopt_unsafe_ignore_global_monitor, "Ignore global monitor", "");
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
|
|
|
|
// Renderer
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, renderer_backend, "API:", "");
|
|
|
|
|
INSERT(Settings, vulkan_device, "Device:", "");
|
|
|
|
|
INSERT(Settings, shader_backend, "Shader Backend:", "");
|
|
|
|
|
INSERT(Settings, resolution_setup, "Resolution:", "");
|
|
|
|
|
INSERT(Settings, scaling_filter, "Window Adapting Filter:", "");
|
|
|
|
|
INSERT(Settings, fsr_sharpening_slider, "AMD FidelityFX™ Super Resolution Sharpness:", "");
|
|
|
|
|
INSERT(Settings, anti_aliasing, "Anti-Aliasing Method:", "");
|
|
|
|
|
INSERT(Settings, fullscreen_mode, "Fullscreen Mode:", "");
|
|
|
|
|
INSERT(Settings, aspect_ratio, "Aspect Ratio:", "");
|
|
|
|
|
INSERT(Settings, use_disk_shader_cache, "Use disk pipeline cache", "");
|
|
|
|
|
INSERT(Settings, use_asynchronous_gpu_emulation, "Use asynchronous GPU emulation", "");
|
|
|
|
|
INSERT(Settings, nvdec_emulation, "NVDEC emulation:", "");
|
|
|
|
|
INSERT(Settings, accelerate_astc, "ASTC Decoding Method:", "");
|
|
|
|
|
INSERT(Settings, vsync_mode, "VSync Mode:",
|
2023-05-08 10:05:37 -04:00
|
|
|
|
"FIFO (VSync) does not drop frames or exhibit tearing but is limited by the screen "
|
|
|
|
|
"refresh rate.\nFIFO Relaxed is similar to FIFO but allows tearing as it recovers from "
|
|
|
|
|
"a slow down.\nMailbox can have lower latency than FIFO and does not tear but may drop "
|
|
|
|
|
"frames.\nImmediate (no synchronization) just presents whatever is available and can "
|
|
|
|
|
"exhibit tearing.");
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, bg_red, "", "");
|
|
|
|
|
INSERT(Settings, bg_green, "", "");
|
|
|
|
|
INSERT(Settings, bg_blue, "", "");
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
|
|
|
|
// Renderer (Advanced Graphics)
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, async_presentation, "Enable asynchronous presentation (Vulkan only)", "");
|
|
|
|
|
INSERT(Settings, renderer_force_max_clock, "Force maximum clocks (Vulkan only)",
|
2023-05-07 09:48:26 -04:00
|
|
|
|
"Runs work in the background while waiting for graphics commands to keep the GPU from "
|
|
|
|
|
"lowering its clock speed.");
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, max_anisotropy, "Anisotropic Filtering:", "");
|
|
|
|
|
INSERT(Settings, gpu_accuracy, "Accuracy Level:", "");
|
|
|
|
|
INSERT(Settings, use_asynchronous_shaders, "Use asynchronous shader building (Hack)",
|
2023-05-07 09:48:26 -04:00
|
|
|
|
"Enables asynchronous shader compilation, which may reduce shader stutter. This feature "
|
|
|
|
|
"is experimental.");
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, use_fast_gpu_time, "Use Fast GPU Time (Hack)",
|
2023-05-07 09:48:26 -04:00
|
|
|
|
"Enables Fast GPU Time. This option will force most games to run at their highest "
|
|
|
|
|
"native resolution.");
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, use_vulkan_driver_pipeline_cache, "Use Vulkan pipeline cache",
|
2023-05-07 09:48:26 -04:00
|
|
|
|
"Enables GPU vendor-specific pipeline cache. This option can improve shader loading "
|
|
|
|
|
"time significantly in cases where the Vulkan driver does not store pipeline cache "
|
|
|
|
|
"files internally.");
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, enable_compute_pipelines, "Enable Compute Pipelines (Intel Vulkan Only)",
|
2023-05-07 09:48:26 -04:00
|
|
|
|
"Enable compute pipelines, required by some games.\nThis setting only exists for Intel "
|
|
|
|
|
"proprietary drivers, and may crash if enabled.\nCompute pipelines are always enabled "
|
|
|
|
|
"on all other drivers.");
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, use_reactive_flushing, "Enable Reactive Flushing",
|
2023-05-08 14:11:45 -04:00
|
|
|
|
"Uses reactive flushing instead of predictive flushing, allowing more accurate memory "
|
|
|
|
|
"syncing.");
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
|
|
|
|
// Renderer (Debug)
|
|
|
|
|
|
|
|
|
|
// Renderer (General)
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, use_speed_limit, "", "");
|
|
|
|
|
INSERT(Settings, speed_limit, "Limit Speed Percent", "");
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
|
|
|
|
// System
|
2023-06-09 16:53:26 -04:00
|
|
|
|
INSERT(Settings, rng_seed, "RNG Seed", "");
|
|
|
|
|
INSERT(Settings, rng_seed_enabled, "", "");
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, device_name, "Device Name", "");
|
2023-06-09 16:53:26 -04:00
|
|
|
|
INSERT(Settings, custom_rtc, "Custom RTC", "");
|
|
|
|
|
INSERT(Settings, custom_rtc_enabled, "", "");
|
2023-05-09 01:36:17 -04:00
|
|
|
|
INSERT(Settings, language_index, "Language:", "");
|
|
|
|
|
INSERT(Settings, region_index, "Region:", "");
|
|
|
|
|
INSERT(Settings, time_zone_index, "Time Zone:", "");
|
|
|
|
|
INSERT(Settings, sound_index, "Sound Output Mode:", "");
|
|
|
|
|
INSERT(Settings, use_docked_mode, "", "");
|
2023-05-10 17:57:25 -04:00
|
|
|
|
INSERT(Settings, current_user, "", "");
|
2023-05-07 10:34:39 -04:00
|
|
|
|
|
|
|
|
|
// Controls
|
|
|
|
|
|
|
|
|
|
// Data Storage
|
|
|
|
|
|
|
|
|
|
// Debugging
|
|
|
|
|
|
|
|
|
|
// Debugging Graphics
|
|
|
|
|
|
|
|
|
|
// Network
|
|
|
|
|
|
|
|
|
|
// Web Service
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
2023-05-09 01:36:17 -04:00
|
|
|
|
// Ui
|
|
|
|
|
|
|
|
|
|
// Ui General
|
|
|
|
|
INSERT(UISettings, select_user_on_boot, "Prompt for user on game boot", "");
|
|
|
|
|
INSERT(UISettings, pause_when_in_background, "Pause emulation when in background", "");
|
|
|
|
|
INSERT(UISettings, confirm_before_closing, "Confirm exit while emulation is running", "");
|
|
|
|
|
INSERT(UISettings, hide_mouse, "Hide mouse on inactivity", "");
|
|
|
|
|
|
|
|
|
|
// Ui Debugging
|
|
|
|
|
|
|
|
|
|
// Ui Multiplayer
|
|
|
|
|
|
|
|
|
|
// Ui Games list
|
|
|
|
|
|
2023-05-07 09:48:26 -04:00
|
|
|
|
#undef INSERT
|
|
|
|
|
|
|
|
|
|
return translations;
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-18 22:17:36 -04:00
|
|
|
|
std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QWidget* parent) {
|
|
|
|
|
std::unique_ptr<ComboboxTranslationMap> translations =
|
|
|
|
|
std::make_unique<ComboboxTranslationMap>();
|
2023-05-07 09:48:26 -04:00
|
|
|
|
const auto& tr = [&](const char* text) { return parent->tr(text); };
|
|
|
|
|
|
2023-05-07 17:41:30 -04:00
|
|
|
|
// Intentionally skipping VSyncMode to let the UI fill that one out
|
|
|
|
|
|
2023-05-18 22:17:36 -04:00
|
|
|
|
translations->insert(
|
|
|
|
|
{typeid(Settings::AstcDecodeMode),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::AstcDecodeMode::CPU), tr("CPU")},
|
|
|
|
|
{static_cast<u32>(Settings::AstcDecodeMode::GPU), tr("GPU")},
|
|
|
|
|
{static_cast<u32>(Settings::AstcDecodeMode::CPUAsynchronous), tr("CPU Asynchronous")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert({typeid(Settings::RendererBackend),
|
|
|
|
|
{
|
|
|
|
|
#ifdef HAS_OPENGL
|
|
|
|
|
{static_cast<u32>(Settings::RendererBackend::OpenGL), tr("OpenGL")},
|
|
|
|
|
#endif
|
|
|
|
|
{static_cast<u32>(Settings::RendererBackend::Vulkan), tr("Vulkan")},
|
|
|
|
|
{static_cast<u32>(Settings::RendererBackend::Null), tr("Null")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert({typeid(Settings::ShaderBackend),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::ShaderBackend::GLSL), tr("GLSL")},
|
|
|
|
|
{static_cast<u32>(Settings::ShaderBackend::GLASM),
|
|
|
|
|
tr("GLASM (Assembly Shaders, NVIDIA Only)")},
|
|
|
|
|
{static_cast<u32>(Settings::ShaderBackend::SPIRV),
|
|
|
|
|
tr("SPIR-V (Experimental, Mesa Only)")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert({typeid(Settings::GPUAccuracy),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::GPUAccuracy::Normal), tr("Normal")},
|
|
|
|
|
{static_cast<u32>(Settings::GPUAccuracy::High), tr("High")},
|
|
|
|
|
{static_cast<u32>(Settings::GPUAccuracy::Extreme), tr("Extreme")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert({typeid(Settings::CPUAccuracy),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::CPUAccuracy::Auto), tr("Auto")},
|
|
|
|
|
{static_cast<u32>(Settings::CPUAccuracy::Accurate), tr("Accurate")},
|
|
|
|
|
{static_cast<u32>(Settings::CPUAccuracy::Unsafe), tr("Unsafe")},
|
|
|
|
|
{static_cast<u32>(Settings::CPUAccuracy::Paranoid),
|
|
|
|
|
tr("Paranoid (disables most optimizations)")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert(
|
|
|
|
|
{typeid(Settings::FullscreenMode),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::FullscreenMode::Borderless), tr("Borderless Windowed")},
|
|
|
|
|
{static_cast<u32>(Settings::FullscreenMode::Exclusive), tr("Exclusive Fullscreen")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert(
|
|
|
|
|
{typeid(Settings::NvdecEmulation),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::NvdecEmulation::Off), tr("No Video Output")},
|
|
|
|
|
{static_cast<u32>(Settings::NvdecEmulation::CPU), tr("CPU Video Decoding")},
|
|
|
|
|
{static_cast<u32>(Settings::NvdecEmulation::GPU), tr("GPU Video Decoding (Default)")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert(
|
|
|
|
|
{typeid(Settings::ResolutionSetup),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res1_2X),
|
|
|
|
|
tr("0.5X (360p/540p) [EXPERIMENTAL]")},
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res3_4X),
|
|
|
|
|
tr("0.75X (540p/810p) [EXPERIMENTAL]")},
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res1X), tr("1X (720p/1080p)")},
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res3_2X),
|
|
|
|
|
tr("1.5X (1080p/1620p) [EXPERIMENTAL]")},
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res2X), tr("2X (1440p/2160p)")},
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res3X), tr("3X (2160p/3240p)")},
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res4X), tr("4X (2880p/4320p)")},
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res5X), tr("5X (3600p/5400p)")},
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res6X), tr("6X (4320p/6480p)")},
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res7X), tr("7X (5040p/7560p)")},
|
|
|
|
|
{static_cast<u32>(Settings::ResolutionSetup::Res8X), tr("8X (5760p/8640p)")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert(
|
|
|
|
|
{typeid(Settings::ScalingFilter),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::ScalingFilter::NearestNeighbor), tr("Nearest Neighbor")},
|
|
|
|
|
{static_cast<u32>(Settings::ScalingFilter::Bilinear), tr("Bilinear")},
|
|
|
|
|
{static_cast<u32>(Settings::ScalingFilter::Bicubic), tr("Bicubic")},
|
|
|
|
|
{static_cast<u32>(Settings::ScalingFilter::Gaussian), tr("Gaussian")},
|
|
|
|
|
{static_cast<u32>(Settings::ScalingFilter::ScaleForce), tr("ScaleForce")},
|
|
|
|
|
{static_cast<u32>(Settings::ScalingFilter::Fsr),
|
|
|
|
|
tr("AMD FidelityFX™️ Super Resolution")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert({typeid(Settings::AntiAliasing),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::AntiAliasing::None), tr("None")},
|
|
|
|
|
{static_cast<u32>(Settings::AntiAliasing::Fxaa), tr("FXAA")},
|
|
|
|
|
{static_cast<u32>(Settings::AntiAliasing::Smaa), tr("SMAA")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert(
|
|
|
|
|
{typeid(Settings::AspectRatio),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::AspectRatio::R16_9), tr("Default (16:9)")},
|
|
|
|
|
{static_cast<u32>(Settings::AspectRatio::R4_3), tr("Force 4:3")},
|
|
|
|
|
{static_cast<u32>(Settings::AspectRatio::R21_9), tr("Force 21:9")},
|
|
|
|
|
{static_cast<u32>(Settings::AspectRatio::R16_10), tr("Force 16:10")},
|
|
|
|
|
{static_cast<u32>(Settings::AspectRatio::Stretch), tr("Stretch to Window")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert(
|
|
|
|
|
{typeid(Settings::AnisotropyMode),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::AnisotropyMode::Automatic), tr("Automatic")},
|
|
|
|
|
{static_cast<u32>(Settings::AnisotropyMode::Default), tr("Default")},
|
|
|
|
|
{static_cast<u32>(Settings::AnisotropyMode::X2), tr("2x")},
|
|
|
|
|
{static_cast<u32>(Settings::AnisotropyMode::X4), tr("4x")},
|
|
|
|
|
{static_cast<u32>(Settings::AnisotropyMode::X8), tr("8x")},
|
|
|
|
|
{static_cast<u32>(Settings::AnisotropyMode::X16), tr("16x")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert(
|
|
|
|
|
{typeid(Settings::Language),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::Language::Japanese), tr("Japanese (日本語)")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::EnglishAmerican), tr("American English")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::French), tr("French (français)")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::German), tr("German (Deutsch)")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::Italian), tr("Italian (italiano)")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::Spanish), tr("Spanish (español)")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::Chinese), tr("Chinese")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::Korean), tr("Korean (한국어)")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::Dutch), tr("Dutch (Nederlands)")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::Portuguese), tr("Portuguese (português)")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::Russian), tr("Russian (Русский)")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::Taiwanese), tr("Taiwanese")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::EnglishBritish), tr("British English")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::FrenchCanadian), tr("Canadian French")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::SpanishLatin), tr("Latin American Spanish")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::ChineseSimplified), tr("Simplified Chinese")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::ChineseTraditional),
|
|
|
|
|
tr("Traditional Chinese (正體中文)")},
|
|
|
|
|
{static_cast<u32>(Settings::Language::PortugueseBrazilian),
|
|
|
|
|
tr("Brazilian Portuguese (português do Brasil)")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert({typeid(Settings::Region),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::Region::Japan), tr("Japan")},
|
|
|
|
|
{static_cast<u32>(Settings::Region::USA), tr("USA")},
|
|
|
|
|
{static_cast<u32>(Settings::Region::Europe), tr("Europe")},
|
|
|
|
|
{static_cast<u32>(Settings::Region::Australia), tr("Australia")},
|
|
|
|
|
{static_cast<u32>(Settings::Region::China), tr("China")},
|
|
|
|
|
{static_cast<u32>(Settings::Region::Korea), tr("Korea")},
|
|
|
|
|
{static_cast<u32>(Settings::Region::Taiwan), tr("Taiwan")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert({typeid(Settings::TimeZone),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Auto), tr("Auto")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Default), tr("Default")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::CET), tr("CET")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::CST6CDT), tr("CST6CDT")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Cuba), tr("Cuba")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::EET), tr("EET")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Egypt), tr("Egypt")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Eire), tr("Eire")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::EST), tr("EST")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::EST5EDT), tr("EST5EDT")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::GB), tr("GB")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::GBEire), tr("GB-Eire")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::GMT), tr("GMT")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::GMTPlusZero), tr("GMT+0")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::GMTMinusZero), tr("GMT-0")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::GMTZero), tr("GMT0")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Greenwich), tr("Greenwich")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Hongkong), tr("Hongkong")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::HST), tr("HST")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Iceland), tr("Iceland")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Iran), tr("Iran")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Israel), tr("Israel")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Jamaica), tr("Jamaica")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Kwajalein), tr("Kwajalein")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Libya), tr("Libya")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::MET), tr("MET")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::MST), tr("MST")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::MST7MDT), tr("MST7MDT")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Navajo), tr("Navajo")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::NZ), tr("NZ")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::NZCHAT), tr("NZ-CHAT")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Poland), tr("Poland")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Portugal), tr("Portugal")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::PRC), tr("PRC")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::PST8PDT), tr("PST8PDT")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::ROC), tr("ROC")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::ROK), tr("ROK")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Singapore), tr("Singapore")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Turkey), tr("Turkey")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::UCT), tr("UCT")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::W_SU), tr("W-SU")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::WET), tr("WET")},
|
|
|
|
|
{static_cast<u32>(Settings::TimeZone::Zulu), tr("Zulu")},
|
|
|
|
|
}});
|
|
|
|
|
translations->insert({typeid(Settings::AudioMode),
|
|
|
|
|
{
|
|
|
|
|
{static_cast<u32>(Settings::AudioMode::Mono), tr("Mono")},
|
|
|
|
|
{static_cast<u32>(Settings::AudioMode::Stereo), tr("Stereo")},
|
|
|
|
|
{static_cast<u32>(Settings::AudioMode::Surround), tr("Surround")},
|
|
|
|
|
}});
|
2023-05-07 09:48:26 -04:00
|
|
|
|
|
2023-05-18 22:17:36 -04:00
|
|
|
|
return translations;
|
|
|
|
|
}
|
2023-05-07 09:48:26 -04:00
|
|
|
|
} // namespace ConfigurationShared
|