Merge pull request #5817 from JosJuice/qt-strings-match-wx

Make DolphinQt2 strings more like DolphinWX strings
This commit is contained in:
Leo Lam 2017-07-27 15:01:56 +08:00 committed by GitHub
commit 5c29ea54c5
26 changed files with 132 additions and 110 deletions

View File

@ -43,8 +43,11 @@ Turntable::Turntable(ExtensionReg& reg) : Attachment(_trans("Turntable"), reg)
m_buttons->controls.emplace_back(new ControllerEmu::Input(turntable_button_name)); m_buttons->controls.emplace_back(new ControllerEmu::Input(turntable_button_name));
// turntables // turntables
groups.emplace_back(m_left_table = new ControllerEmu::Slider(_trans("Table Left"))); // i18n: "Table" refers to a turntable
groups.emplace_back(m_right_table = new ControllerEmu::Slider(_trans("Table Right"))); groups.emplace_back(m_left_table = new ControllerEmu::Slider("Table Left", _trans("Left Table")));
groups.emplace_back(m_right_table =
// i18n: "Table" refers to a turntable
new ControllerEmu::Slider("Table Right", _trans("Right Table")));
// stick // stick
groups.emplace_back( groups.emplace_back(

View File

@ -242,23 +242,23 @@ void Shutdown()
const std::array<HotkeyGroupInfo, NUM_HOTKEY_GROUPS> groups_info = { const std::array<HotkeyGroupInfo, NUM_HOTKEY_GROUPS> groups_info = {
{{_trans("General"), HK_OPEN, HK_EXIT}, {{_trans("General"), HK_OPEN, HK_EXIT},
{_trans("Volume"), HK_VOLUME_DOWN, HK_VOLUME_TOGGLE_MUTE}, {_trans("Volume"), HK_VOLUME_DOWN, HK_VOLUME_TOGGLE_MUTE},
{_trans("Emulation speed"), HK_DECREASE_EMULATION_SPEED, HK_TOGGLE_THROTTLE}, {_trans("Emulation Speed"), HK_DECREASE_EMULATION_SPEED, HK_TOGGLE_THROTTLE},
{_trans("Frame advance"), HK_FRAME_ADVANCE, HK_FRAME_ADVANCE_RESET_SPEED}, {_trans("Frame Advance"), HK_FRAME_ADVANCE, HK_FRAME_ADVANCE_RESET_SPEED},
{_trans("Movie"), HK_START_RECORDING, HK_READ_ONLY_MODE}, {_trans("Movie"), HK_START_RECORDING, HK_READ_ONLY_MODE},
{_trans("Stepping"), HK_STEP, HK_SKIP}, {_trans("Stepping"), HK_STEP, HK_SKIP},
{_trans("Program Counter"), HK_SHOW_PC, HK_SET_PC}, {_trans("Program Counter"), HK_SHOW_PC, HK_SET_PC},
{_trans("Breakpoint"), HK_BP_TOGGLE, HK_MBP_ADD}, {_trans("Breakpoint"), HK_BP_TOGGLE, HK_MBP_ADD},
{_trans("Wii"), HK_TRIGGER_SYNC_BUTTON, HK_BALANCEBOARD_CONNECT}, {_trans("Wii"), HK_TRIGGER_SYNC_BUTTON, HK_BALANCEBOARD_CONNECT},
{_trans("Graphics toggles"), HK_TOGGLE_CROP, HK_TOGGLE_TEXTURES}, {_trans("Graphics Toggles"), HK_TOGGLE_CROP, HK_TOGGLE_TEXTURES},
{_trans("Internal Resolution"), HK_INCREASE_IR, HK_DECREASE_IR}, {_trans("Internal Resolution"), HK_INCREASE_IR, HK_DECREASE_IR},
{_trans("Freelook"), HK_FREELOOK_DECREASE_SPEED, HK_FREELOOK_RESET}, {_trans("Freelook"), HK_FREELOOK_DECREASE_SPEED, HK_FREELOOK_RESET},
{_trans("3D"), HK_TOGGLE_STEREO_SBS, HK_TOGGLE_STEREO_3DVISION}, {_trans("3D"), HK_TOGGLE_STEREO_SBS, HK_TOGGLE_STEREO_3DVISION},
{_trans("3D depth"), HK_DECREASE_DEPTH, HK_INCREASE_CONVERGENCE}, {_trans("3D Depth"), HK_DECREASE_DEPTH, HK_INCREASE_CONVERGENCE},
{_trans("Load state"), HK_LOAD_STATE_SLOT_1, HK_LOAD_STATE_SLOT_SELECTED}, {_trans("Load State"), HK_LOAD_STATE_SLOT_1, HK_LOAD_STATE_SLOT_SELECTED},
{_trans("Save state"), HK_SAVE_STATE_SLOT_1, HK_SAVE_STATE_SLOT_SELECTED}, {_trans("Save State"), HK_SAVE_STATE_SLOT_1, HK_SAVE_STATE_SLOT_SELECTED},
{_trans("Select state"), HK_SELECT_STATE_SLOT_1, HK_SELECT_STATE_SLOT_10}, {_trans("Select State"), HK_SELECT_STATE_SLOT_1, HK_SELECT_STATE_SLOT_10},
{_trans("Load last state"), HK_LOAD_LAST_STATE_1, HK_LOAD_LAST_STATE_10}, {_trans("Load Last State"), HK_LOAD_LAST_STATE_1, HK_LOAD_LAST_STATE_10},
{_trans("Other state hotkeys"), HK_SAVE_FIRST_STATE, HK_LOAD_STATE_FILE}}}; {_trans("Other State Hotkeys"), HK_SAVE_FIRST_STATE, HK_LOAD_STATE_FILE}}};
HotkeyManager::HotkeyManager() HotkeyManager::HotkeyManager()
{ {

View File

@ -34,6 +34,10 @@ AboutDialog::AboutDialog(QWidget* parent) : QDialog(parent)
text.append(medium + tr("Check for updates: ") + text.append(medium + tr("Check for updates: ") +
QStringLiteral( QStringLiteral(
"<a href='https://dolphin-emu.org/download'>dolphin-emu.org/download</a></p>")); "<a href='https://dolphin-emu.org/download'>dolphin-emu.org/download</a></p>"));
// i18n: The word "free" in the standard phrase "free and open source"
// is "free" as in "freedom" - it refers to certain properties of the
// software's license, not the software's price. (It is true that Dolphin
// can be downloaded at no cost, but that's not what this message says.)
text.append(medium + tr("Dolphin is a free and open-source GameCube and Wii emulator.") + text.append(medium + tr("Dolphin is a free and open-source GameCube and Wii emulator.") +
QStringLiteral("</p>")); QStringLiteral("</p>"));
text.append(medium + text.append(medium +
@ -45,7 +49,7 @@ AboutDialog::AboutDialog(QWidget* parent) : QDialog(parent)
"<a href='https://github.com/dolphin-emu/dolphin/blob/master/license.txt'>%1</a> | " "<a href='https://github.com/dolphin-emu/dolphin/blob/master/license.txt'>%1</a> | "
"<a href='https://github.com/dolphin-emu/dolphin/graphs/contributors'>%2</a> | " "<a href='https://github.com/dolphin-emu/dolphin/graphs/contributors'>%2</a> | "
"<a href='https://forums.dolphin-emu.org/'>%3</a></p>") "<a href='https://forums.dolphin-emu.org/'>%3</a></p>")
.arg(tr("Licence")) .arg(tr("License"))
.arg(tr("Authors")) .arg(tr("Authors"))
.arg(tr("Support"))); .arg(tr("Support")));
@ -54,6 +58,10 @@ AboutDialog::AboutDialog(QWidget* parent) : QDialog(parent)
text_label->setOpenExternalLinks(true); text_label->setOpenExternalLinks(true);
QLabel* copyright = QLabel* copyright =
// i18n: This message uses curly quotes in English. If you want to use curly quotes
// in your translation, please use the type of curly quotes that's appropriate for
// your language. If you aren't sure which type is appropriate, see
// https://en.wikipedia.org/wiki/Quotation_mark#Specific_language_features
new QLabel(tr("\u00A9 2003-%1 Dolphin Team. \u201cGameCube\u201d and \u201cWii\u201d are " new QLabel(tr("\u00A9 2003-%1 Dolphin Team. \u201cGameCube\u201d and \u201cWii\u201d are "
"trademarks of Nintendo. Dolphin is not affiliated with Nintendo in any way.") "trademarks of Nintendo. Dolphin is not affiliated with Nintendo in any way.")
.arg(QStringLiteral(__DATE__).right(4))); .arg(QStringLiteral(__DATE__).right(4)));

View File

@ -94,7 +94,7 @@ void ControllersWindow::CreateGamecubeLayout()
for (size_t i = 0; i < m_gc_groups.size(); i++) for (size_t i = 0; i < m_gc_groups.size(); i++)
{ {
auto* gc_label = new QLabel(tr("Controller %1").arg(i + 1)); auto* gc_label = new QLabel(tr("Port %1").arg(i + 1));
auto* gc_box = m_gc_controller_boxes[i] = new QComboBox(); auto* gc_box = m_gc_controller_boxes[i] = new QComboBox();
auto* gc_button = m_gc_buttons[i] = new QPushButton(tr("Configure")); auto* gc_button = m_gc_buttons[i] = new QPushButton(tr("Configure"));
@ -156,13 +156,13 @@ void ControllersWindow::CreateWiimoteLayout()
m_wiimote_box = new QGroupBox(tr("Wii Remotes")); m_wiimote_box = new QGroupBox(tr("Wii Remotes"));
m_wiimote_box->setLayout(m_wiimote_layout); m_wiimote_box->setLayout(m_wiimote_layout);
m_wiimote_passthrough = new QRadioButton(tr("Use Bluetooth Passthrough")); m_wiimote_passthrough = new QRadioButton(tr("Passthrough a Bluetooth adapter"));
m_wiimote_sync = new QPushButton(tr("Sync")); m_wiimote_sync = new QPushButton(tr("Sync"));
m_wiimote_reset = new QPushButton(tr("Reset")); m_wiimote_reset = new QPushButton(tr("Reset"));
m_wiimote_refresh = new QPushButton(tr("Refresh")); m_wiimote_refresh = new QPushButton(tr("Refresh"));
m_wiimote_pt_labels[0] = new QLabel(tr("Sync real Wii Remotes and pair them")); m_wiimote_pt_labels[0] = new QLabel(tr("Sync real Wii Remotes and pair them"));
m_wiimote_pt_labels[1] = new QLabel(tr("Reset all saved Wii Remote pairings")); m_wiimote_pt_labels[1] = new QLabel(tr("Reset all saved Wii Remote pairings"));
m_wiimote_emu = new QRadioButton(tr("Emulate the Wii Bluetooth Adapter")); m_wiimote_emu = new QRadioButton(tr("Emulate the Wii's Bluetooth Adapter"));
m_wiimote_continuous_scanning = new QCheckBox(tr("Continuous Scanning")); m_wiimote_continuous_scanning = new QCheckBox(tr("Continuous Scanning"));
m_wiimote_real_balance_board = new QCheckBox(tr("Real Balance Board")); m_wiimote_real_balance_board = new QCheckBox(tr("Real Balance Board"));
m_wiimote_speaker_data = new QCheckBox(tr("Enable Speaker Data")); m_wiimote_speaker_data = new QCheckBox(tr("Enable Speaker Data"));
@ -358,7 +358,7 @@ void ControllersWindow::OnBluetoothPassthroughSyncPressed()
{ {
QMessageBox error(this); QMessageBox error(this);
error.setIcon(QMessageBox::Warning); error.setIcon(QMessageBox::Warning);
error.setText(tr("A sync can only be triggered when a Wii game is running")); error.setText(tr("A sync can only be triggered when a Wii game is running."));
error.exec(); error.exec();
return; return;
} }

View File

@ -77,7 +77,7 @@ void AdvancedWidget::CreateWidgets()
#endif #endif
// Misc. // Misc.
auto* misc_box = new QGroupBox(tr("Misc.")); auto* misc_box = new QGroupBox(tr("Misc"));
auto* misc_layout = new QGridLayout(); auto* misc_layout = new QGridLayout();
misc_box->setLayout(misc_layout); misc_box->setLayout(misc_layout);

View File

@ -77,9 +77,9 @@ void EnhancementsWidget::CreateWidgets()
enhancements_layout->addWidget(new QLabel(tr("Internal Resolution:")), 0, 0); enhancements_layout->addWidget(new QLabel(tr("Internal Resolution:")), 0, 0);
enhancements_layout->addWidget(m_ir_combo, 0, 1, 1, -1); enhancements_layout->addWidget(m_ir_combo, 0, 1, 1, -1);
enhancements_layout->addWidget(new QLabel(tr("Anti-Aliasing")), 1, 0); enhancements_layout->addWidget(new QLabel(tr("Anti-Aliasing:")), 1, 0);
enhancements_layout->addWidget(m_aa_combo, 1, 1, 1, -1); enhancements_layout->addWidget(m_aa_combo, 1, 1, 1, -1);
enhancements_layout->addWidget(new QLabel(tr("Antisotrophic Filtering:")), 2, 0); enhancements_layout->addWidget(new QLabel(tr("Anisotropic Filtering:")), 2, 0);
enhancements_layout->addWidget(m_af_combo, 2, 1, 1, -1); enhancements_layout->addWidget(m_af_combo, 2, 1, 1, -1);
enhancements_layout->addWidget(new QLabel(tr("Post-Processing Effect:")), 3, 0); enhancements_layout->addWidget(new QLabel(tr("Post-Processing Effect:")), 3, 0);
enhancements_layout->addWidget(m_pp_effect, 3, 1); enhancements_layout->addWidget(m_pp_effect, 3, 1);
@ -233,7 +233,7 @@ void EnhancementsWidget::AddDescriptions()
"geometry anti-aliasing and also applies anti-aliasing to lighting, shader " "geometry anti-aliasing and also applies anti-aliasing to lighting, shader "
"effects, and textures.\n\nIf unsure, select None."); "effects, and textures.\n\nIf unsure, select None.");
static const char* TR_ANTISTROPIC_FILTERING_DESCRIPTION = QT_TR_NOOP( static const char* TR_ANISOTROPIC_FILTERING_DESCRIPTION = QT_TR_NOOP(
"Enable anisotropic filtering.\nEnhances visual quality of textures that are at oblique " "Enable anisotropic filtering.\nEnhances visual quality of textures that are at oblique "
"viewing angles.\nMight cause issues in a small number of games.\n\nIf unsure, select 1x."); "viewing angles.\nMight cause issues in a small number of games.\n\nIf unsure, select 1x.");
@ -263,8 +263,9 @@ void EnhancementsWidget::AddDescriptions()
static const char* TR_3D_MODE_DESCRIPTION = QT_TR_NOOP( static const char* TR_3D_MODE_DESCRIPTION = QT_TR_NOOP(
"Selects the stereoscopic 3D mode. Stereoscopy allows you to get a better feeling " "Selects the stereoscopic 3D mode. Stereoscopy allows you to get a better feeling "
"of depth if you have the necessary hardware.\nSide-by-Side and Top-and-Bottom are " "of depth if you have the necessary hardware.\nSide-by-Side and Top-and-Bottom are "
"used by most 3D TVs.\nAnaglyph is used for Red-Cyan colored glasses.\nHeavily " "used by most 3D TVs.\nAnaglyph is used for Red-Cyan colored glasses.\nHDMI 3D is "
"decreases emulation speed and sometimes causes issues.\n\nIf unsure, select Off."); "used when your monitor supports 3D display resolutions.\nHeavily decreases "
"emulation speed and sometimes causes issues.\n\nIf unsure, select Off.");
static const char* TR_3D_DEPTH_DESCRIPTION = static const char* TR_3D_DEPTH_DESCRIPTION =
QT_TR_NOOP("Controls the separation distance between the virtual cameras.\nA higher value " QT_TR_NOOP("Controls the separation distance between the virtual cameras.\nA higher value "
"creates a stronger feeling of depth while a lower value is more comfortable."); "creates a stronger feeling of depth while a lower value is more comfortable.");
@ -286,7 +287,7 @@ void EnhancementsWidget::AddDescriptions()
AddDescription(m_ir_combo, TR_INTERNAL_RESOLUTION_DESCRIPTION); AddDescription(m_ir_combo, TR_INTERNAL_RESOLUTION_DESCRIPTION);
AddDescription(m_aa_combo, TR_ANTIALIAS_DESCRIPTION); AddDescription(m_aa_combo, TR_ANTIALIAS_DESCRIPTION);
AddDescription(m_af_combo, TR_ANTISTROPIC_FILTERING_DESCRIPTION); AddDescription(m_af_combo, TR_ANISOTROPIC_FILTERING_DESCRIPTION);
AddDescription(m_pp_effect, TR_POSTPROCESSING_DESCRIPTION); AddDescription(m_pp_effect, TR_POSTPROCESSING_DESCRIPTION);
AddDescription(m_scaled_efb_copy, TR_SCALED_EFB_COPY_DESCRIPTION); AddDescription(m_scaled_efb_copy, TR_SCALED_EFB_COPY_DESCRIPTION);
AddDescription(m_per_pixel_lighting, TR_PER_PIXEL_LIGHTING_DESCRIPTION); AddDescription(m_per_pixel_lighting, TR_PER_PIXEL_LIGHTING_DESCRIPTION);

View File

@ -40,8 +40,8 @@ void GeneralWidget::CreateWidgets()
{ {
auto* main_layout = new QVBoxLayout; auto* main_layout = new QVBoxLayout;
// Video Section // Basic Section
auto* m_video_box = new QGroupBox(tr("Video")); auto* m_video_box = new QGroupBox(tr("Basic"));
m_video_layout = new QGridLayout(); m_video_layout = new QGridLayout();
m_backend_combo = new QComboBox(); m_backend_combo = new QComboBox();
@ -83,14 +83,15 @@ void GeneralWidget::CreateWidgets()
m_video_layout->addWidget(m_enable_vsync, 4, 0); m_video_layout->addWidget(m_enable_vsync, 4, 0);
m_video_layout->addWidget(m_enable_fullscreen, 4, 1); m_video_layout->addWidget(m_enable_fullscreen, 4, 1);
// Options // Other
auto* m_options_box = new QGroupBox(tr("Options")); auto* m_options_box = new QGroupBox(tr("Other"));
auto* m_options_layout = new QGridLayout(); auto* m_options_layout = new QGridLayout();
m_show_fps = new GraphicsBool(tr("Show FPS"), Config::GFX_SHOW_FPS); m_show_fps = new GraphicsBool(tr("Show FPS"), Config::GFX_SHOW_FPS);
m_show_ping = new GraphicsBool(tr("Show NetPlay Ping"), Config::GFX_SHOW_NETPLAY_PING); m_show_ping = new GraphicsBool(tr("Show NetPlay Ping"), Config::GFX_SHOW_NETPLAY_PING);
m_log_render_time = new GraphicsBool(tr("Log Rendertime"), Config::GFX_LOG_RENDER_TIME_TO_FILE); m_log_render_time =
m_autoadjust_window_size = new QCheckBox(tr("Auto-adjust Window size")); new GraphicsBool(tr("Log Render Time to File"), Config::GFX_LOG_RENDER_TIME_TO_FILE);
m_autoadjust_window_size = new QCheckBox(tr("Auto-Adjust Window Size"));
m_show_messages = m_show_messages =
new GraphicsBool(tr("Show NetPlay Messages"), Config::GFX_SHOW_NETPLAY_MESSAGES); new GraphicsBool(tr("Show NetPlay Messages"), Config::GFX_SHOW_NETPLAY_MESSAGES);
m_keep_window_top = new QCheckBox(tr("Keep Window on Top")); m_keep_window_top = new QCheckBox(tr("Keep Window on Top"));

View File

@ -38,12 +38,12 @@ void SoftwareRendererWidget::CreateWidgets()
auto* rendering_box = new QGroupBox(tr("Rendering")); auto* rendering_box = new QGroupBox(tr("Rendering"));
auto* rendering_layout = new QGridLayout(); auto* rendering_layout = new QGridLayout();
m_backend_combo = new QComboBox(); m_backend_combo = new QComboBox();
m_disable_xfb = new GraphicsBool(tr("Disable XFB"), Config::GFX_USE_XFB, true); m_bypass_xfb = new GraphicsBool(tr("Bypass XFB"), Config::GFX_USE_XFB, true);
rendering_box->setLayout(rendering_layout); rendering_box->setLayout(rendering_layout);
rendering_layout->addWidget(new QLabel(tr("Backend:")), 1, 1); rendering_layout->addWidget(new QLabel(tr("Backend:")), 1, 1);
rendering_layout->addWidget(m_backend_combo, 1, 2); rendering_layout->addWidget(m_backend_combo, 1, 2);
rendering_layout->addWidget(m_disable_xfb, 2, 1); rendering_layout->addWidget(m_bypass_xfb, 2, 1);
for (const auto& backend : g_available_video_backends) for (const auto& backend : g_available_video_backends)
m_backend_combo->addItem(tr(backend->GetDisplayName().c_str())); m_backend_combo->addItem(tr(backend->GetDisplayName().c_str()));
@ -66,7 +66,7 @@ void SoftwareRendererWidget::CreateWidgets()
auto* debug_box = new QGroupBox(tr("Debug Only")); auto* debug_box = new QGroupBox(tr("Debug Only"));
auto* debug_layout = new QGridLayout(); auto* debug_layout = new QGridLayout();
m_dump_tev_stages = new GraphicsBool(tr("Dump TEV stages"), Config::GFX_SW_DUMP_TEV_STAGES); m_dump_tev_stages = new GraphicsBool(tr("Dump TEV Stages"), Config::GFX_SW_DUMP_TEV_STAGES);
m_dump_tev_fetches = m_dump_tev_fetches =
new GraphicsBool(tr("Dump Texture Fetches"), Config::GFX_SW_DUMP_TEV_TEX_FETCHES); new GraphicsBool(tr("Dump Texture Fetches"), Config::GFX_SW_DUMP_TEV_TEX_FETCHES);
@ -155,7 +155,7 @@ void SoftwareRendererWidget::AddDescriptions()
"backend, so for the best emulation experience it's recommended to try both and " "backend, so for the best emulation experience it's recommended to try both and "
"choose the one that's less problematic.\n\nIf unsure, select OpenGL."); "choose the one that's less problematic.\n\nIf unsure, select OpenGL.");
static const char* TR_DISABLE_XFB_DESCRIPTION = QT_TR_NOOP( static const char* TR_BYPASS_XFB_DESCRIPTION = QT_TR_NOOP(
"Disable any XFB emulation.\nSpeeds up emulation a lot but causes heavy glitches in many " "Disable any XFB emulation.\nSpeeds up emulation a lot but causes heavy glitches in many "
"games " "games "
"which rely on them (especially homebrew applications).\n\nIf unsure, leave this checked."); "which rely on them (especially homebrew applications).\n\nIf unsure, leave this checked.");
@ -168,7 +168,7 @@ void SoftwareRendererWidget::AddDescriptions()
"this unchecked."); "this unchecked.");
AddDescription(m_backend_combo, TR_BACKEND_DESCRIPTION); AddDescription(m_backend_combo, TR_BACKEND_DESCRIPTION);
AddDescription(m_disable_xfb, TR_DISABLE_XFB_DESCRIPTION); AddDescription(m_bypass_xfb, TR_BYPASS_XFB_DESCRIPTION);
AddDescription(m_enable_statistics, TR_SHOW_STATISTICS_DESCRIPTION); AddDescription(m_enable_statistics, TR_SHOW_STATISTICS_DESCRIPTION);
AddDescription(m_dump_textures, TR_DUMP_TEXTURES_DESCRIPTION); AddDescription(m_dump_textures, TR_DUMP_TEXTURES_DESCRIPTION);
} }

View File

@ -29,7 +29,7 @@ private:
void AddDescriptions(); void AddDescriptions();
QComboBox* m_backend_combo; QComboBox* m_backend_combo;
QCheckBox* m_disable_xfb; QCheckBox* m_bypass_xfb;
QCheckBox* m_enable_statistics; QCheckBox* m_enable_statistics;
QCheckBox* m_dump_textures; QCheckBox* m_dump_textures;
QCheckBox* m_dump_objects; QCheckBox* m_dump_objects;

View File

@ -60,7 +60,7 @@ QGroupBox* InfoWidget::CreateISODetails()
QGroupBox* InfoWidget::CreateBannerDetails() QGroupBox* InfoWidget::CreateBannerDetails()
{ {
QGroupBox* group = new QGroupBox(tr("%1 Banner Details").arg(m_game.GetPlatform())); QGroupBox* group = new QGroupBox(tr("Banner Details"));
QFormLayout* layout = new QFormLayout; QFormLayout* layout = new QFormLayout;
m_long_name = CreateValueDisplay(); m_long_name = CreateValueDisplay();

View File

@ -33,7 +33,7 @@ void GCPadEmu::CreateMainLayout()
m_main_layout->addWidget( m_main_layout->addWidget(
CreateGroupBox(tr("Control Stick"), Pad::GetGroup(GetPort(), PadGroup::MainStick))); CreateGroupBox(tr("Control Stick"), Pad::GetGroup(GetPort(), PadGroup::MainStick)));
m_main_layout->addWidget( m_main_layout->addWidget(
CreateGroupBox(tr("C-Stick"), Pad::GetGroup(GetPort(), PadGroup::CStick))); CreateGroupBox(tr("C Stick"), Pad::GetGroup(GetPort(), PadGroup::CStick)));
m_main_layout->addWidget(CreateGroupBox(tr("D-Pad"), Pad::GetGroup(GetPort(), PadGroup::DPad))); m_main_layout->addWidget(CreateGroupBox(tr("D-Pad"), Pad::GetGroup(GetPort(), PadGroup::DPad)));
m_main_layout->addItem(hbox_layout); m_main_layout->addItem(hbox_layout);

View File

@ -50,7 +50,7 @@ MappingWindow::MappingWindow(QWidget* parent, int port_num) : QDialog(parent), m
void MappingWindow::CreateDevicesLayout() void MappingWindow::CreateDevicesLayout()
{ {
m_devices_layout = new QHBoxLayout(); m_devices_layout = new QHBoxLayout();
m_devices_box = new QGroupBox(tr("Devices")); m_devices_box = new QGroupBox(tr("Device"));
m_devices_combo = new QComboBox(); m_devices_combo = new QComboBox();
m_devices_refresh = new QPushButton(tr("Refresh")); m_devices_refresh = new QPushButton(tr("Refresh"));
@ -64,7 +64,7 @@ void MappingWindow::CreateDevicesLayout()
void MappingWindow::CreateProfilesLayout() void MappingWindow::CreateProfilesLayout()
{ {
m_profiles_layout = new QHBoxLayout(); m_profiles_layout = new QHBoxLayout();
m_profiles_box = new QGroupBox(tr("Profiles")); m_profiles_box = new QGroupBox(tr("Profile"));
m_profiles_combo = new QComboBox(); m_profiles_combo = new QComboBox();
m_profiles_load = new QPushButton(tr("Load")); m_profiles_load = new QPushButton(tr("Load"));
m_profiles_save = new QPushButton(tr("Save")); m_profiles_save = new QPushButton(tr("Save"));
@ -283,7 +283,7 @@ void MappingWindow::ChangeMappingType(MappingWindow::Type type)
{ {
auto* extension = new WiimoteEmuExtension(this); auto* extension = new WiimoteEmuExtension(this);
widget = new WiimoteEmuGeneral(this, extension); widget = new WiimoteEmuGeneral(this, extension);
setWindowTitle(tr("Wii Remote at Port %1").arg(GetPort() + 1)); setWindowTitle(tr("Wii Remote %1").arg(GetPort() + 1));
AddWidget(tr("General and Options"), widget); AddWidget(tr("General and Options"), widget);
AddWidget(tr("Motion Controls and IR"), new WiimoteEmuMotionControl(this)); AddWidget(tr("Motion Controls and IR"), new WiimoteEmuMotionControl(this));
AddWidget(tr("Extension"), extension); AddWidget(tr("Extension"), extension);
@ -294,10 +294,10 @@ void MappingWindow::ChangeMappingType(MappingWindow::Type type)
widget = new HotkeyGeneral(this); widget = new HotkeyGeneral(this);
AddWidget(tr("General"), widget); AddWidget(tr("General"), widget);
AddWidget(tr("TAS Tools"), new HotkeyTAS(this)); AddWidget(tr("TAS Tools"), new HotkeyTAS(this));
AddWidget(tr("Wii (Remote)"), new HotkeyWii(this)); AddWidget(tr("Wii and Wii Remote"), new HotkeyWii(this));
AddWidget(tr("Graphics"), new HotkeyGraphics(this)); AddWidget(tr("Graphics"), new HotkeyGraphics(this));
AddWidget(tr("3D"), new Hotkey3D(this)); AddWidget(tr("3D"), new Hotkey3D(this));
AddWidget(tr("Save States"), new HotkeyStates(this)); AddWidget(tr("Save and Load State"), new HotkeyStates(this));
setWindowTitle(tr("Hotkey Settings")); setWindowTitle(tr("Hotkey Settings"));
break; break;
} }

View File

@ -136,12 +136,13 @@ void WiimoteEmuExtension::CreateTurntableLayout()
auto* vbox = new QVBoxLayout(); auto* vbox = new QVBoxLayout();
vbox->addWidget(CreateGroupBox( vbox->addWidget(CreateGroupBox(
tr("Effect Dial"), tr("Effect"), Wiimote::GetTurntableGroup(GetPort(), WiimoteEmu::TurntableGroup::EffectDial)));
Wiimote::GetTurntableGroup(GetPort(), WiimoteEmu::TurntableGroup::EffectDial)));
vbox->addWidget( vbox->addWidget(
// i18n: "Table" refers to a turntable
CreateGroupBox(tr("Left Table"), CreateGroupBox(tr("Left Table"),
Wiimote::GetTurntableGroup(GetPort(), WiimoteEmu::TurntableGroup::LeftTable))); Wiimote::GetTurntableGroup(GetPort(), WiimoteEmu::TurntableGroup::LeftTable)));
vbox->addWidget(CreateGroupBox( vbox->addWidget(CreateGroupBox(
// i18n: "Table" refers to a turntable
tr("Right Table"), tr("Right Table"),
Wiimote::GetTurntableGroup(GetPort(), WiimoteEmu::TurntableGroup::RightTable))); Wiimote::GetTurntableGroup(GetPort(), WiimoteEmu::TurntableGroup::RightTable)));
vbox->addWidget( vbox->addWidget(

View File

@ -148,19 +148,19 @@ void GameList::ShowContextMenu(const QPoint&)
QMenu* menu = new QMenu(this); QMenu* menu = new QMenu(this);
DiscIO::Platform platform = GameFile(game).GetPlatformID(); DiscIO::Platform platform = GameFile(game).GetPlatformID();
menu->addAction(tr("Properties"), this, &GameList::OpenProperties); menu->addAction(tr("&Properties"), this, &GameList::OpenProperties);
menu->addAction(tr("Wiki"), this, &GameList::OpenWiki); menu->addAction(tr("&Wiki"), this, &GameList::OpenWiki);
menu->addSeparator(); menu->addSeparator();
if (platform == DiscIO::Platform::GAMECUBE_DISC || platform == DiscIO::Platform::WII_DISC) if (platform == DiscIO::Platform::GAMECUBE_DISC || platform == DiscIO::Platform::WII_DISC)
{ {
menu->addAction(tr("Default ISO"), this, &GameList::SetDefaultISO); menu->addAction(tr("Set as &default ISO"), this, &GameList::SetDefaultISO);
const auto blob_type = GameFile(game).GetBlobType(); const auto blob_type = GameFile(game).GetBlobType();
if (blob_type == DiscIO::BlobType::GCZ) if (blob_type == DiscIO::BlobType::GCZ)
menu->addAction(tr("Decompress ISO"), this, &GameList::CompressISO); menu->addAction(tr("Decompress ISO..."), this, &GameList::CompressISO);
else if (blob_type == DiscIO::BlobType::PLAIN) else if (blob_type == DiscIO::BlobType::PLAIN)
menu->addAction(tr("Compress ISO"), this, &GameList::CompressISO); menu->addAction(tr("Compress ISO..."), this, &GameList::CompressISO);
menu->addSeparator(); menu->addSeparator();
} }
@ -190,13 +190,13 @@ void GameList::ShowContextMenu(const QPoint&)
if (platform == DiscIO::Platform::WII_WAD || platform == DiscIO::Platform::WII_DISC) if (platform == DiscIO::Platform::WII_WAD || platform == DiscIO::Platform::WII_DISC)
{ {
menu->addAction(tr("Open Wii save folder"), this, &GameList::OpenSaveFolder); menu->addAction(tr("Open Wii &save folder"), this, &GameList::OpenSaveFolder);
menu->addAction(tr("Export Wii save (Experimental)"), this, &GameList::ExportWiiSave); menu->addAction(tr("Export Wii save (Experimental)"), this, &GameList::ExportWiiSave);
menu->addSeparator(); menu->addSeparator();
} }
menu->addAction(tr("Open Containing Folder"), this, &GameList::OpenContainingFolder); menu->addAction(tr("Open &containing folder"), this, &GameList::OpenContainingFolder);
menu->addAction(tr("Remove File"), this, &GameList::DeleteFile); menu->addAction(tr("Delete File..."), this, &GameList::DeleteFile);
menu->exec(QCursor::pos()); menu->exec(QCursor::pos());
} }
@ -239,7 +239,7 @@ void GameList::CompressISO()
wii_warning.setText(tr("Are you sure?")); wii_warning.setText(tr("Are you sure?"));
wii_warning.setInformativeText( wii_warning.setInformativeText(
tr("Compressing a Wii disc image will irreversibly change the compressed copy by removing " tr("Compressing a Wii disc image will irreversibly change the compressed copy by removing "
"padding data. Your disc image will still work.")); "padding data. Your disc image will still work. Continue?"));
wii_warning.setStandardButtons(QMessageBox::Yes | QMessageBox::No); wii_warning.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
if (wii_warning.exec() == QMessageBox::No) if (wii_warning.exec() == QMessageBox::No)
@ -253,7 +253,7 @@ void GameList::CompressISO()
.dir() .dir()
.absoluteFilePath(file.GetGameID()) .absoluteFilePath(file.GetGameID())
.append(compressed ? QStringLiteral(".gcm") : QStringLiteral(".gcz")), .append(compressed ? QStringLiteral(".gcm") : QStringLiteral(".gcz")),
compressed ? tr("Uncompressed GC/Wii images (*.iso *.gcm") : compressed ? tr("Uncompressed GC/Wii images (*.iso *.gcm)") :
tr("Compressed GC/Wii images (*.gcz)")); tr("Compressed GC/Wii images (*.gcz)"));
if (dst_path.isEmpty()) if (dst_path.isEmpty())
@ -296,8 +296,8 @@ void GameList::InstallWAD()
const bool success = GameFile(GetSelectedGame()).Install(); const bool success = GameFile(GetSelectedGame()).Install();
result_dialog.setIcon(success ? QMessageBox::Information : QMessageBox::Critical); result_dialog.setIcon(success ? QMessageBox::Information : QMessageBox::Critical);
result_dialog.setText(success ? tr("Succesfully installed title to the NAND") : result_dialog.setText(success ? tr("Successfully installed this title to the NAND.") :
tr("Failed to install title to the NAND")); tr("Failed to install this title to the NAND."));
result_dialog.exec(); result_dialog.exec();
} }
@ -318,8 +318,8 @@ void GameList::UninstallWAD()
const bool success = GameFile(GetSelectedGame()).Uninstall(); const bool success = GameFile(GetSelectedGame()).Uninstall();
result_dialog.setIcon(success ? QMessageBox::Information : QMessageBox::Critical); result_dialog.setIcon(success ? QMessageBox::Information : QMessageBox::Critical);
result_dialog.setText(success ? tr("Succesfully removed title from the NAND") : result_dialog.setText(success ? tr("Successfully removed this title from the NAND.") :
tr("Failed to remove title from the NAND")); tr("Failed to remove this title from the NAND."));
result_dialog.exec(); result_dialog.exec();
} }
@ -347,7 +347,7 @@ void GameList::DeleteFile()
confirm_dialog.setIcon(QMessageBox::Warning); confirm_dialog.setIcon(QMessageBox::Warning);
confirm_dialog.setText(tr("Are you sure you want to delete this file?")); confirm_dialog.setText(tr("Are you sure you want to delete this file?"));
confirm_dialog.setInformativeText(tr("You won't be able to undo this!")); confirm_dialog.setInformativeText(tr("This cannot be undone!"));
confirm_dialog.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel); confirm_dialog.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel);
if (confirm_dialog.exec() == QMessageBox::Yes) if (confirm_dialog.exec() == QMessageBox::Yes)
@ -442,7 +442,7 @@ void GameList::OnColumnVisibilityToggled(const QString& row, bool visible)
{tr("Platform"), GameListModel::COL_PLATFORM}, {tr("Platform"), GameListModel::COL_PLATFORM},
{tr("Size"), GameListModel::COL_SIZE}, {tr("Size"), GameListModel::COL_SIZE},
{tr("Title"), GameListModel::COL_TITLE}, {tr("Title"), GameListModel::COL_TITLE},
{tr("Quality"), GameListModel::COL_RATING}}; {tr("State"), GameListModel::COL_RATING}};
m_table->setColumnHidden(rowname_to_col_index[row], !visible); m_table->setColumnHidden(rowname_to_col_index[row], !visible);
} }

View File

@ -121,7 +121,7 @@ QVariant GameListModel::headerData(int section, Qt::Orientation orientation, int
case COL_SIZE: case COL_SIZE:
return tr("Size"); return tr("Size");
case COL_RATING: case COL_RATING:
return tr("Quality"); return tr("State");
} }
return QVariant(); return QVariant();
} }

View File

@ -76,14 +76,14 @@ void MenuBar::EmulationStopped()
void MenuBar::AddFileMenu() void MenuBar::AddFileMenu()
{ {
QMenu* file_menu = addMenu(tr("File")); QMenu* file_menu = addMenu(tr("&File"));
m_open_action = file_menu->addAction(tr("Open"), this, &MenuBar::Open); m_open_action = file_menu->addAction(tr("&Open..."), this, &MenuBar::Open);
m_exit_action = file_menu->addAction(tr("Exit"), this, &MenuBar::Exit); m_exit_action = file_menu->addAction(tr("E&xit"), this, &MenuBar::Exit);
} }
void MenuBar::AddToolsMenu() void MenuBar::AddToolsMenu()
{ {
QMenu* tools_menu = addMenu(tr("Tools")); QMenu* tools_menu = addMenu(tr("&Tools"));
m_wad_install_action = tools_menu->addAction(tr("Install WAD..."), this, &MenuBar::InstallWAD); m_wad_install_action = tools_menu->addAction(tr("Install WAD..."), this, &MenuBar::InstallWAD);
// Label will be set by a NANDRefresh later // Label will be set by a NANDRefresh later
@ -106,13 +106,13 @@ void MenuBar::AddToolsMenu()
void MenuBar::AddEmulationMenu() void MenuBar::AddEmulationMenu()
{ {
QMenu* emu_menu = addMenu(tr("Emulation")); QMenu* emu_menu = addMenu(tr("&Emulation"));
m_play_action = emu_menu->addAction(tr("Play"), this, &MenuBar::Play); m_play_action = emu_menu->addAction(tr("&Play"), this, &MenuBar::Play);
m_pause_action = emu_menu->addAction(tr("Pause"), this, &MenuBar::Pause); m_pause_action = emu_menu->addAction(tr("&Pause"), this, &MenuBar::Pause);
m_stop_action = emu_menu->addAction(tr("Stop"), this, &MenuBar::Stop); m_stop_action = emu_menu->addAction(tr("&Stop"), this, &MenuBar::Stop);
m_reset_action = emu_menu->addAction(tr("Reset"), this, &MenuBar::Reset); m_reset_action = emu_menu->addAction(tr("&Reset"), this, &MenuBar::Reset);
m_fullscreen_action = emu_menu->addAction(tr("Fullscreen"), this, &MenuBar::Fullscreen); m_fullscreen_action = emu_menu->addAction(tr("Toggle &Fullscreen"), this, &MenuBar::Fullscreen);
m_frame_advance_action = emu_menu->addAction(tr("Frame Advance"), this, &MenuBar::FrameAdvance); m_frame_advance_action = emu_menu->addAction(tr("&Frame Advance"), this, &MenuBar::FrameAdvance);
m_screenshot_action = emu_menu->addAction(tr("Take Screenshot"), this, &MenuBar::Screenshot); m_screenshot_action = emu_menu->addAction(tr("Take Screenshot"), this, &MenuBar::Screenshot);
AddStateLoadMenu(emu_menu); AddStateLoadMenu(emu_menu);
AddStateSaveMenu(emu_menu); AddStateSaveMenu(emu_menu);
@ -122,7 +122,7 @@ void MenuBar::AddEmulationMenu()
void MenuBar::AddStateLoadMenu(QMenu* emu_menu) void MenuBar::AddStateLoadMenu(QMenu* emu_menu)
{ {
m_state_load_menu = emu_menu->addMenu(tr("Load State")); m_state_load_menu = emu_menu->addMenu(tr("&Load State"));
m_state_load_menu->addAction(tr("Load State from File"), this, &MenuBar::StateLoad); m_state_load_menu->addAction(tr("Load State from File"), this, &MenuBar::StateLoad);
m_state_load_menu->addAction(tr("Load State from Selected Slot"), this, &MenuBar::StateLoadSlot); m_state_load_menu->addAction(tr("Load State from Selected Slot"), this, &MenuBar::StateLoadSlot);
m_state_load_slots_menu = m_state_load_menu->addMenu(tr("Load State from Slot")); m_state_load_slots_menu = m_state_load_menu->addMenu(tr("Load State from Slot"));
@ -138,7 +138,7 @@ void MenuBar::AddStateLoadMenu(QMenu* emu_menu)
void MenuBar::AddStateSaveMenu(QMenu* emu_menu) void MenuBar::AddStateSaveMenu(QMenu* emu_menu)
{ {
m_state_save_menu = emu_menu->addMenu(tr("Save State")); m_state_save_menu = emu_menu->addMenu(tr("Sa&ve State"));
m_state_save_menu->addAction(tr("Save State to File"), this, &MenuBar::StateSave); m_state_save_menu->addAction(tr("Save State to File"), this, &MenuBar::StateSave);
m_state_save_menu->addAction(tr("Save State to Selected Slot"), this, &MenuBar::StateSaveSlot); m_state_save_menu->addAction(tr("Save State to Selected Slot"), this, &MenuBar::StateSaveSlot);
m_state_save_menu->addAction(tr("Save State to Oldest Slot"), this, &MenuBar::StateSaveOldest); m_state_save_menu->addAction(tr("Save State to Oldest Slot"), this, &MenuBar::StateSaveOldest);
@ -187,7 +187,7 @@ void MenuBar::UpdateStateSlotMenu()
void MenuBar::AddViewMenu() void MenuBar::AddViewMenu()
{ {
QMenu* view_menu = addMenu(tr("View")); QMenu* view_menu = addMenu(tr("&View"));
AddGameListTypeSection(view_menu); AddGameListTypeSection(view_menu);
view_menu->addSeparator(); view_menu->addSeparator();
AddTableColumnsMenu(view_menu); AddTableColumnsMenu(view_menu);
@ -198,39 +198,41 @@ void MenuBar::AddViewMenu()
void MenuBar::AddOptionsMenu() void MenuBar::AddOptionsMenu()
{ {
QMenu* options_menu = addMenu(tr("Options")); QMenu* options_menu = addMenu(tr("&Options"));
options_menu->addAction(tr("Co&nfiguration..."), this, &MenuBar::Configure); options_menu->addAction(tr("Co&nfiguration"), this, &MenuBar::Configure);
options_menu->addSeparator(); options_menu->addSeparator();
options_menu->addAction(tr("&Graphics Settings..."), this, &MenuBar::ConfigureGraphics); options_menu->addAction(tr("&Graphics Settings"), this, &MenuBar::ConfigureGraphics);
options_menu->addAction(tr("&Audio Settings..."), this, &MenuBar::ConfigureAudio); options_menu->addAction(tr("&Audio Settings"), this, &MenuBar::ConfigureAudio);
options_menu->addAction(tr("&Controller Settings..."), this, &MenuBar::ConfigureControllers); options_menu->addAction(tr("&Controller Settings"), this, &MenuBar::ConfigureControllers);
options_menu->addAction(tr("&Hotkey Settings..."), this, &MenuBar::ConfigureHotkeys); options_menu->addAction(tr("&Hotkey Settings"), this, &MenuBar::ConfigureHotkeys);
} }
void MenuBar::AddHelpMenu() void MenuBar::AddHelpMenu()
{ {
QMenu* help_menu = addMenu(tr("Help")); QMenu* help_menu = addMenu(tr("&Help"));
QAction* website = help_menu->addAction(tr("Website")); QAction* website = help_menu->addAction(tr("&Website"));
connect(website, &QAction::triggered, this, connect(website, &QAction::triggered, this,
[]() { QDesktopServices::openUrl(QUrl(QStringLiteral("https://dolphin-emu.org/"))); }); []() { QDesktopServices::openUrl(QUrl(QStringLiteral("https://dolphin-emu.org/"))); });
QAction* documentation = help_menu->addAction(tr("Online Documentation")); QAction* documentation = help_menu->addAction(tr("Online &Documentation"));
connect(documentation, &QAction::triggered, this, []() { connect(documentation, &QAction::triggered, this, []() {
QDesktopServices::openUrl(QUrl(QStringLiteral("https://dolphin-emu.org/docs/guides"))); QDesktopServices::openUrl(QUrl(QStringLiteral("https://dolphin-emu.org/docs/guides")));
}); });
QAction* github = help_menu->addAction(tr("GitHub Repository")); QAction* github = help_menu->addAction(tr("&GitHub Repository"));
connect(github, &QAction::triggered, this, []() { connect(github, &QAction::triggered, this, []() {
QDesktopServices::openUrl(QUrl(QStringLiteral("https://github.com/dolphin-emu/dolphin"))); QDesktopServices::openUrl(QUrl(QStringLiteral("https://github.com/dolphin-emu/dolphin")));
}); });
help_menu->addSeparator(); help_menu->addSeparator();
help_menu->addAction(tr("About"), this, &MenuBar::ShowAboutDialog); help_menu->addAction(tr("&About"), this, &MenuBar::ShowAboutDialog);
} }
void MenuBar::AddGameListTypeSection(QMenu* view_menu) void MenuBar::AddGameListTypeSection(QMenu* view_menu)
{ {
// i18n: When this option is enabled, the game list is displayed as a table
QAction* table_view = view_menu->addAction(tr("Table")); QAction* table_view = view_menu->addAction(tr("Table"));
table_view->setCheckable(true); table_view->setCheckable(true);
// i18n: When this option is enabled, the game list is displayed as a list
QAction* list_view = view_menu->addAction(tr("List")); QAction* list_view = view_menu->addAction(tr("List"));
list_view->setCheckable(true); list_view->setCheckable(true);
@ -257,7 +259,7 @@ void MenuBar::AddTableColumnsMenu(QMenu* view_menu)
{tr("Maker"), &SConfig::GetInstance().m_showMakerColumn}, {tr("Maker"), &SConfig::GetInstance().m_showMakerColumn},
{tr("Size"), &SConfig::GetInstance().m_showSizeColumn}, {tr("Size"), &SConfig::GetInstance().m_showSizeColumn},
{tr("Country"), &SConfig::GetInstance().m_showRegionColumn}, {tr("Country"), &SConfig::GetInstance().m_showRegionColumn},
{tr("Quality"), &SConfig::GetInstance().m_showStateColumn}}; {tr("State"), &SConfig::GetInstance().m_showStateColumn}};
QActionGroup* column_group = new QActionGroup(this); QActionGroup* column_group = new QActionGroup(this);
QMenu* cols_menu = view_menu->addMenu(tr("Table Columns")); QMenu* cols_menu = view_menu->addMenu(tr("Table Columns"));
@ -373,12 +375,12 @@ void MenuBar::InstallWAD()
if (GameFile(wad_file).Install()) if (GameFile(wad_file).Install())
{ {
result_dialog.setIcon(QMessageBox::Information); result_dialog.setIcon(QMessageBox::Information);
result_dialog.setText(tr("Successfully installed title to the NAND")); result_dialog.setText(tr("Successfully installed this title to the NAND."));
} }
else else
{ {
result_dialog.setIcon(QMessageBox::Critical); result_dialog.setIcon(QMessageBox::Critical);
result_dialog.setText(tr("Failed to install title to the NAND!")); result_dialog.setText(tr("Failed to install this title to the NAND."));
} }
result_dialog.exec(); result_dialog.exec();

View File

@ -100,7 +100,7 @@ void GeneralPane::CreateBasic()
#if defined(USE_ANALYTICS) && USE_ANALYTICS #if defined(USE_ANALYTICS) && USE_ANALYTICS
void GeneralPane::CreateAnalytics() void GeneralPane::CreateAnalytics()
{ {
auto* analytics_group = new QGroupBox(tr("Usage Statistics Reporting")); auto* analytics_group = new QGroupBox(tr("Usage Statistics Reporting Settings"));
auto* analytics_group_layout = new QVBoxLayout; auto* analytics_group_layout = new QVBoxLayout;
analytics_group->setLayout(analytics_group_layout); analytics_group->setLayout(analytics_group_layout);
m_main_layout->addWidget(analytics_group); m_main_layout->addWidget(analytics_group);

View File

@ -70,8 +70,8 @@ void InterfacePane::CreateUI()
} }
// Checkboxes // Checkboxes
m_checkbox_auto_window = new QCheckBox(tr("Auto Adjust Window Size")); m_checkbox_auto_window = new QCheckBox(tr("Auto-Adjust Window Size"));
m_checkbox_top_window = new QCheckBox(tr("Keep Dolphin on Top")); m_checkbox_top_window = new QCheckBox(tr("Keep Window on Top"));
m_checkbox_render_to_window = new QCheckBox(tr("Render to Main Window")); m_checkbox_render_to_window = new QCheckBox(tr("Render to Main Window"));
m_checkbox_use_builtin_title_database = new QCheckBox(tr("Use Built-In Database of Game Names")); m_checkbox_use_builtin_title_database = new QCheckBox(tr("Use Built-In Database of Game Names"));
groupbox_layout->addWidget(m_checkbox_auto_window); groupbox_layout->addWidget(m_checkbox_auto_window);
@ -89,7 +89,7 @@ void InterfacePane::CreateInGame()
m_checkbox_confirm_on_stop = new QCheckBox(tr("Confirm on Stop")); m_checkbox_confirm_on_stop = new QCheckBox(tr("Confirm on Stop"));
m_checkbox_use_panic_handlers = new QCheckBox(tr("Use Panic Handlers")); m_checkbox_use_panic_handlers = new QCheckBox(tr("Use Panic Handlers"));
m_checkbox_enable_osd = new QCheckBox(tr("Enable On Screen Messages")); m_checkbox_enable_osd = new QCheckBox(tr("Show On-Screen Messages"));
m_checkbox_show_active_title = new QCheckBox(tr("Show Active Title in Window Title")); m_checkbox_show_active_title = new QCheckBox(tr("Show Active Title in Window Title"));
m_checkbox_pause_on_focus_lost = new QCheckBox(tr("Pause on Focus Loss")); m_checkbox_pause_on_focus_lost = new QCheckBox(tr("Pause on Focus Loss"));
m_checkbox_hide_mouse = new QCheckBox(tr("Hide Mouse Cursor")); m_checkbox_hide_mouse = new QCheckBox(tr("Hide Mouse Cursor"));

View File

@ -123,7 +123,7 @@ QGridLayout* PathPane::MakePathsLayout()
[=] { SConfig::GetInstance().m_strDefaultISO = m_game_edit->text().toStdString(); }); [=] { SConfig::GetInstance().m_strDefaultISO = m_game_edit->text().toStdString(); });
QPushButton* game_open = new QPushButton; QPushButton* game_open = new QPushButton;
connect(game_open, &QPushButton::clicked, this, &PathPane::BrowseDefaultGame); connect(game_open, &QPushButton::clicked, this, &PathPane::BrowseDefaultGame);
layout->addWidget(new QLabel(tr("Default Game")), 0, 0); layout->addWidget(new QLabel(tr("Default ISO:")), 0, 0);
layout->addWidget(m_game_edit, 0, 1); layout->addWidget(m_game_edit, 0, 1);
layout->addWidget(game_open, 0, 2); layout->addWidget(game_open, 0, 2);
@ -132,7 +132,7 @@ QGridLayout* PathPane::MakePathsLayout()
[=] { SConfig::GetInstance().m_strDVDRoot = m_dvd_edit->text().toStdString(); }); [=] { SConfig::GetInstance().m_strDVDRoot = m_dvd_edit->text().toStdString(); });
QPushButton* dvd_open = new QPushButton; QPushButton* dvd_open = new QPushButton;
connect(dvd_open, &QPushButton::clicked, this, &PathPane::BrowseDVDRoot); connect(dvd_open, &QPushButton::clicked, this, &PathPane::BrowseDVDRoot);
layout->addWidget(new QLabel(tr("DVD Root")), 1, 0); layout->addWidget(new QLabel(tr("DVD Root:")), 1, 0);
layout->addWidget(m_dvd_edit, 1, 1); layout->addWidget(m_dvd_edit, 1, 1);
layout->addWidget(dvd_open, 1, 2); layout->addWidget(dvd_open, 1, 2);
@ -141,7 +141,7 @@ QGridLayout* PathPane::MakePathsLayout()
[=] { SConfig::GetInstance().m_strApploader = m_app_edit->text().toStdString(); }); [=] { SConfig::GetInstance().m_strApploader = m_app_edit->text().toStdString(); });
QPushButton* app_open = new QPushButton; QPushButton* app_open = new QPushButton;
connect(app_open, &QPushButton::clicked, this, &PathPane::BrowseApploader); connect(app_open, &QPushButton::clicked, this, &PathPane::BrowseApploader);
layout->addWidget(new QLabel(tr("Apploader")), 2, 0); layout->addWidget(new QLabel(tr("Apploader:")), 2, 0);
layout->addWidget(m_app_edit, 2, 1); layout->addWidget(m_app_edit, 2, 1);
layout->addWidget(app_open, 2, 2); layout->addWidget(app_open, 2, 2);
@ -150,7 +150,7 @@ QGridLayout* PathPane::MakePathsLayout()
[=] { SConfig::GetInstance().m_NANDPath = m_nand_edit->text().toStdString(); }); [=] { SConfig::GetInstance().m_NANDPath = m_nand_edit->text().toStdString(); });
QPushButton* nand_open = new QPushButton; QPushButton* nand_open = new QPushButton;
connect(nand_open, &QPushButton::clicked, this, &PathPane::BrowseWiiNAND); connect(nand_open, &QPushButton::clicked, this, &PathPane::BrowseWiiNAND);
layout->addWidget(new QLabel(tr("Wii NAND Root")), 3, 0); layout->addWidget(new QLabel(tr("Wii NAND Root:")), 3, 0);
layout->addWidget(m_nand_edit, 3, 1); layout->addWidget(m_nand_edit, 3, 1);
layout->addWidget(nand_open, 3, 2); layout->addWidget(nand_open, 3, 2);

View File

@ -72,15 +72,15 @@ void ToolBar::MakeActions()
m_stop_action = addAction(tr("Stop"), this, &ToolBar::StopPressed); m_stop_action = addAction(tr("Stop"), this, &ToolBar::StopPressed);
widgetForAction(m_stop_action)->setMinimumWidth(button_width); widgetForAction(m_stop_action)->setMinimumWidth(button_width);
m_fullscreen_action = addAction(tr("Full Screen"), this, &ToolBar::FullScreenPressed); m_fullscreen_action = addAction(tr("FullScr"), this, &ToolBar::FullScreenPressed);
widgetForAction(m_fullscreen_action)->setMinimumWidth(button_width); widgetForAction(m_fullscreen_action)->setMinimumWidth(button_width);
m_screenshot_action = addAction(tr("Screen Shot"), this, &ToolBar::ScreenShotPressed); m_screenshot_action = addAction(tr("ScrShot"), this, &ToolBar::ScreenShotPressed);
widgetForAction(m_screenshot_action)->setMinimumWidth(button_width); widgetForAction(m_screenshot_action)->setMinimumWidth(button_width);
addSeparator(); addSeparator();
m_config_action = addAction(tr("Settings"), this, &ToolBar::SettingsPressed); m_config_action = addAction(tr("Config"), this, &ToolBar::SettingsPressed);
widgetForAction(m_config_action)->setMinimumWidth(button_width); widgetForAction(m_config_action)->setMinimumWidth(button_width);
m_graphics_action = addAction(tr("Graphics"), this, &ToolBar::GraphicsPressed); m_graphics_action = addAction(tr("Graphics"), this, &ToolBar::GraphicsPressed);

View File

@ -19,7 +19,7 @@ GCAdapterConfigDiag::GCAdapterConfigDiag(wxWindow* const parent, const wxString&
const int tab_num) const int tab_num)
: wxDialog(parent, wxID_ANY, name), m_pad_id(tab_num) : wxDialog(parent, wxID_ANY, name), m_pad_id(tab_num)
{ {
wxCheckBox* const gamecube_rumble = new wxCheckBox(this, wxID_ANY, _("Rumble")); wxCheckBox* const gamecube_rumble = new wxCheckBox(this, wxID_ANY, _("Enable Rumble"));
gamecube_rumble->SetValue(SConfig::GetInstance().m_AdapterRumble[m_pad_id]); gamecube_rumble->SetValue(SConfig::GetInstance().m_AdapterRumble[m_pad_id]);
gamecube_rumble->Bind(wxEVT_CHECKBOX, &GCAdapterConfigDiag::OnAdapterRumble, this); gamecube_rumble->Bind(wxEVT_CHECKBOX, &GCAdapterConfigDiag::OnAdapterRumble, this);
@ -27,7 +27,7 @@ GCAdapterConfigDiag::GCAdapterConfigDiag(wxWindow* const parent, const wxString&
gamecube_konga->SetValue(SConfig::GetInstance().m_AdapterKonga[m_pad_id]); gamecube_konga->SetValue(SConfig::GetInstance().m_AdapterKonga[m_pad_id]);
gamecube_konga->Bind(wxEVT_CHECKBOX, &GCAdapterConfigDiag::OnAdapterKonga, this); gamecube_konga->Bind(wxEVT_CHECKBOX, &GCAdapterConfigDiag::OnAdapterKonga, this);
m_adapter_status = new wxStaticText(this, wxID_ANY, _("Adapter Not Detected")); m_adapter_status = new wxStaticText(this, wxID_ANY, _("No Adapter Detected"));
if (!GCAdapter::IsDetected()) if (!GCAdapter::IsDetected())
{ {
@ -75,7 +75,7 @@ void GCAdapterConfigDiag::OnUpdateAdapter(wxCommandEvent& WXUNUSED(event))
if (GCAdapter::IsDetected()) if (GCAdapter::IsDetected())
m_adapter_status->SetLabelText(_("Adapter Detected")); m_adapter_status->SetLabelText(_("Adapter Detected"));
else else
m_adapter_status->SetLabelText(_("Adapter Not Detected")); m_adapter_status->SetLabelText(_("No Adapter Detected"));
}); });
} }

View File

@ -68,7 +68,7 @@ void GeneralConfigPane::InitializeGUI()
m_throttler_choice = m_throttler_choice =
new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_throttler_array_string); new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_throttler_array_string);
m_cpu_engine_radiobox = m_cpu_engine_radiobox =
new wxRadioBox(this, wxID_ANY, _("CPU Emulator Engine"), wxDefaultPosition, wxDefaultSize, new wxRadioBox(this, wxID_ANY, _("CPU Emulation Engine"), wxDefaultPosition, wxDefaultSize,
m_cpu_engine_array_string, 0, wxRA_SPECIFY_ROWS); m_cpu_engine_array_string, 0, wxRA_SPECIFY_ROWS);
m_dual_core_checkbox->SetToolTip( m_dual_core_checkbox->SetToolTip(
@ -230,5 +230,5 @@ void GeneralConfigPane::OnAnalyticsCheckBoxChanged(wxCommandEvent& event)
void GeneralConfigPane::OnAnalyticsNewIdButtonClick(wxCommandEvent& event) void GeneralConfigPane::OnAnalyticsNewIdButtonClick(wxCommandEvent& event)
{ {
DolphinAnalytics::Instance()->GenerateNewIdentity(); DolphinAnalytics::Instance()->GenerateNewIdentity();
wxMessageBox(_("New identity generated."), _("Identity generation"), wxICON_INFORMATION); wxMessageBox(_("New identity generated."), _("Identity Generation"), wxICON_INFORMATION);
} }

View File

@ -87,12 +87,12 @@ void InterfaceConfigPane::InitializeGUI()
m_confirm_stop_checkbox = new wxCheckBox(this, wxID_ANY, _("Confirm on Stop")); m_confirm_stop_checkbox = new wxCheckBox(this, wxID_ANY, _("Confirm on Stop"));
m_panic_handlers_checkbox = new wxCheckBox(this, wxID_ANY, _("Use Panic Handlers")); m_panic_handlers_checkbox = new wxCheckBox(this, wxID_ANY, _("Use Panic Handlers"));
m_osd_messages_checkbox = new wxCheckBox(this, wxID_ANY, _("On-Screen Display Messages")); m_osd_messages_checkbox = new wxCheckBox(this, wxID_ANY, _("Show On-Screen Messages"));
m_show_active_title_checkbox = m_show_active_title_checkbox =
new wxCheckBox(this, wxID_ANY, _("Show Active Title in Window Title")); new wxCheckBox(this, wxID_ANY, _("Show Active Title in Window Title"));
m_use_builtin_title_database_checkbox = m_use_builtin_title_database_checkbox =
new wxCheckBox(this, wxID_ANY, _("Use Built-In Database of Game Names")); new wxCheckBox(this, wxID_ANY, _("Use Built-In Database of Game Names"));
m_pause_focus_lost_checkbox = new wxCheckBox(this, wxID_ANY, _("Pause on Focus Lost")); m_pause_focus_lost_checkbox = new wxCheckBox(this, wxID_ANY, _("Pause on Focus Loss"));
m_interface_lang_choice = m_interface_lang_choice =
new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_interface_lang_strings); new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_interface_lang_strings);
m_theme_choice = new wxChoice(this, wxID_ANY); m_theme_choice = new wxChoice(this, wxID_ANY);

View File

@ -442,7 +442,7 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string& title)
szr_other->Add(CreateCheckBox(page_general, _("Log Render Time to File"), szr_other->Add(CreateCheckBox(page_general, _("Log Render Time to File"),
wxGetTranslation(log_render_time_to_file_desc), wxGetTranslation(log_render_time_to_file_desc),
Config::GFX_LOG_RENDER_TIME_TO_FILE)); Config::GFX_LOG_RENDER_TIME_TO_FILE));
szr_other->Add(CreateCheckBoxRefBool(page_general, _("Auto Adjust Window Size"), szr_other->Add(CreateCheckBoxRefBool(page_general, _("Auto-Adjust Window Size"),
wxGetTranslation(auto_window_size_desc), wxGetTranslation(auto_window_size_desc),
SConfig::GetInstance().bRenderWindowAutoSize)); SConfig::GetInstance().bRenderWindowAutoSize));
szr_other->Add(CreateCheckBox(page_general, _("Show NetPlay Messages"), szr_other->Add(CreateCheckBox(page_general, _("Show NetPlay Messages"),
@ -552,7 +552,7 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string& title)
// AF // AF
{ {
const std::array<wxString, 5> af_choices{{"1x", "2x", "4x", "8x", "16x"}}; const std::array<wxString, 5> af_choices{{_("1x"), _("2x"), _("4x"), _("8x"), _("16x")}};
szr_enh->Add(new wxStaticText(page_enh, wxID_ANY, _("Anisotropic Filtering:")), szr_enh->Add(new wxStaticText(page_enh, wxID_ANY, _("Anisotropic Filtering:")),
wxGBPosition(row, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); wxGBPosition(row, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
szr_enh->Add(CreateChoice(page_enh, Config::GFX_ENHANCE_MAX_ANISOTROPY, szr_enh->Add(CreateChoice(page_enh, Config::GFX_ENHANCE_MAX_ANISOTROPY,

View File

@ -17,7 +17,8 @@
namespace ControllerEmu namespace ControllerEmu
{ {
Slider::Slider(const std::string& name_) : ControlGroup(name_, GroupType::Slider) Slider::Slider(const std::string& name, const std::string& ui_name)
: ControlGroup(name, ui_name, GroupType::Slider)
{ {
controls.emplace_back(std::make_unique<Input>("Left")); controls.emplace_back(std::make_unique<Input>("Left"));
controls.emplace_back(std::make_unique<Input>("Right")); controls.emplace_back(std::make_unique<Input>("Right"));
@ -25,6 +26,10 @@ Slider::Slider(const std::string& name_) : ControlGroup(name_, GroupType::Slider
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Dead Zone"), 0, 0, 50)); numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Dead Zone"), 0, 0, 50));
} }
Slider::Slider(const std::string& name) : Slider(name, name)
{
}
void Slider::GetState(ControlState* const slider) void Slider::GetState(ControlState* const slider)
{ {
const ControlState deadzone = numeric_settings[0]->GetValue(); const ControlState deadzone = numeric_settings[0]->GetValue();

View File

@ -13,6 +13,7 @@ namespace ControllerEmu
class Slider : public ControlGroup class Slider : public ControlGroup
{ {
public: public:
Slider(const std::string& name, const std::string& ui_name);
explicit Slider(const std::string& name); explicit Slider(const std::string& name);
void GetState(ControlState* slider); void GetState(ControlState* slider);