diff --git a/src/AutoRecoveryDialog.cpp b/src/AutoRecoveryDialog.cpp index 2518b1030..81176c7df 100644 --- a/src/AutoRecoveryDialog.cpp +++ b/src/AutoRecoveryDialog.cpp @@ -70,7 +70,7 @@ void AutoRecoveryDialog::PopulateOrExchange(ShuttleGui& S) { S.AddVariableText(_("Some projects were not saved properly the last time Audacity was run.\nFortunately, the following projects can be automatically recovered:"), false); - S.StartStatic(_("Recoverable projects")); + S.StartStatic(XO("Recoverable projects")); { mFileList = S.Id(ID_FILE_LIST) /*i18n-hint: (noun). It's the name of the project to recover.*/ diff --git a/src/BatchCommandDialog.cpp b/src/BatchCommandDialog.cpp index a01c578dd..c38bf0a89 100644 --- a/src/BatchCommandDialog.cpp +++ b/src/BatchCommandDialog.cpp @@ -112,7 +112,7 @@ void MacroCommandDialog::PopulateOrExchange(ShuttleGui &S) } S.EndMultiColumn(); - S.Prop(10).StartStatic(_("Choose command"), true); + S.Prop(10).StartStatic(XO("Choose command"), true); { mChoices = S.Id(CommandsListID) .Style(wxSUNKEN_BORDER | wxLC_LIST | wxLC_SINGLE_SEL) diff --git a/src/BatchProcessDialog.cpp b/src/BatchProcessDialog.cpp index 0a24d5a25..f6829457b 100644 --- a/src/BatchProcessDialog.cpp +++ b/src/BatchProcessDialog.cpp @@ -133,7 +133,7 @@ void ApplyMacroDialog::PopulateOrExchange(ShuttleGui &S) { /*i18n-hint: A macro is a sequence of commands that can be applied * to one or more audio files.*/ - S.StartStatic(_("Select Macro"), 1); + S.StartStatic(XO("Select Macro"), 1); { mMacros = S.Id(MacrosListID).Prop(1) .Style(wxSUNKEN_BORDER | wxLC_REPORT | wxLC_HRULES | wxLC_VRULES | @@ -406,7 +406,7 @@ void ApplyMacroDialog::OnApplyToFiles(wxCommandEvent & WXUNUSED(event)) S.StartVerticalLay(false); { - S.StartStatic(_("Applying..."), 1); + S.StartStatic(XO("Applying..."), 1); { auto imageList = std::make_unique(9, 16); imageList->Add(wxIcon(empty9x16_xpm)); @@ -616,7 +616,7 @@ void MacrosWindow::PopulateOrExchange(ShuttleGui & S) { S.StartHorizontalLay(wxEXPAND, 1); { - S.StartStatic(_("Select Macro"),0); + S.StartStatic(XO("Select Macro"),0); { S.StartHorizontalLay(wxEXPAND,1); { @@ -647,7 +647,7 @@ void MacrosWindow::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Edit Steps"), true); + S.StartStatic(XO("Edit Steps"), true); { S.StartHorizontalLay(wxEXPAND,1); { diff --git a/src/Dependencies.cpp b/src/Dependencies.cpp index a9a796701..d2f9d2b92 100644 --- a/src/Dependencies.cpp +++ b/src/Dependencies.cpp @@ -354,7 +354,7 @@ void DependencyDialog::PopulateOrExchange(ShuttleGui& S) { mMessageStaticText = S.AddVariableText(kStdMsg(), false); - S.StartStatic(_("Project Dependencies"),1); + S.StartStatic(XO("Project Dependencies"),1); { mFileListCtrl = S.Id(FileListID).AddListControlReportMode({ { _("Audio File"), wxLIST_FORMAT_LEFT, 220 }, diff --git a/src/HistoryWindow.cpp b/src/HistoryWindow.cpp index fe0e298d1..ff13575c1 100644 --- a/src/HistoryWindow.cpp +++ b/src/HistoryWindow.cpp @@ -81,7 +81,7 @@ HistoryDialog::HistoryDialog(AudacityProject *parent, UndoManager *manager): S.SetBorder(5); S.StartVerticalLay(true); { - S.StartStatic(_("&Manage History"), 1); + S.StartStatic(XO("&Manage History"), 1); { mList = S .MinSize() diff --git a/src/PluginManager.cpp b/src/PluginManager.cpp index 458f84a55..973ecfd14 100644 --- a/src/PluginManager.cpp +++ b/src/PluginManager.cpp @@ -509,7 +509,7 @@ void PluginRegistrationDialog::PopulateOrExchange(ShuttleGui &S) { /*i18n-hint: The dialog shows a list of plugins with check-boxes beside each one.*/ -// S.StartStatic(_("Effects"), true); +// S.StartStatic(XO("Effects"), true); S.StartVerticalLay(); { S.StartHorizontalLay(wxEXPAND, 0); diff --git a/src/Screenshot.cpp b/src/Screenshot.cpp index b50a7b459..3530745f9 100644 --- a/src/Screenshot.cpp +++ b/src/Screenshot.cpp @@ -321,7 +321,7 @@ void ScreenshotBigDialog::PopulateOrExchange(ShuttleGui & S) { S.SetBorder(3); - S.StartStatic(_("Choose location to save files")); + S.StartStatic(XO("Choose location to save files")); { S.StartMultiColumn(3, wxEXPAND); { @@ -339,7 +339,7 @@ void ScreenshotBigDialog::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Capture entire window or screen")); + S.StartStatic(XO("Capture entire window or screen")); { S.StartHorizontalLay(); { @@ -384,7 +384,7 @@ void ScreenshotBigDialog::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Capture part of a project window")); + S.StartStatic(XO("Capture part of a project window")); { S.StartHorizontalLay(); { @@ -434,7 +434,7 @@ void ScreenshotBigDialog::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Scale")); + S.StartStatic(XO("Scale")); { S.StartHorizontalLay(); { diff --git a/src/ShuttleGui.cpp b/src/ShuttleGui.cpp index 19f51885b..6808ee34f 100644 --- a/src/ShuttleGui.cpp +++ b/src/ShuttleGui.cpp @@ -675,10 +675,12 @@ wxTextCtrl * ShuttleGuiBase::AddTextWindow(const wxString &Value) } /// Single line text box of fixed size. -void ShuttleGuiBase::AddConstTextBox(const wxString &Prompt, const wxString &Value) +void ShuttleGuiBase::AddConstTextBox( + const TranslatableString &Prompt, const TranslatableString &Value) { - HandleOptionality( Prompt ); - AddPrompt( Prompt ); + const auto translated = Prompt.Translation(); + HandleOptionality( translated ); + AddPrompt( translated ); UseUpId(); if( mShuttleMode != eIsCreating ) return; @@ -686,9 +688,11 @@ void ShuttleGuiBase::AddConstTextBox(const wxString &Prompt, const wxString &Val miProp=0; UpdateSizers(); miProp=0; - mpWind = safenew wxStaticText(GetParent(), miId, Value, wxDefaultPosition, wxDefaultSize, + const auto translatedValue = Value.Translation(); + mpWind = safenew wxStaticText(GetParent(), miId, + translatedValue, wxDefaultPosition, wxDefaultSize, GetStyle( 0 )); - mpWind->SetName(Value); // fix for bug 577 (NVDA/Narrator screen readers do not read static text in dialogs) + mpWind->SetName(translatedValue); // fix for bug 577 (NVDA/Narrator screen readers do not read static text in dialogs) UpdateSizers(); } @@ -850,14 +854,15 @@ wxMenu * ShuttleGuiBase::AddMenu( const wxString & Title ) /// @param iProp The resizing proportion value. /// Use iProp == 0 for a minimum sized static box. /// Use iProp == 1 for a box that grows if there is space to spare. -wxStaticBox * ShuttleGuiBase::StartStatic(const wxString &Str, int iProp) +wxStaticBox * ShuttleGuiBase::StartStatic(const TranslatableString &Str, int iProp) { UseUpId(); if( mShuttleMode != eIsCreating ) return NULL; - wxStaticBox * pBox = safenew wxStaticBoxWrapper(GetParent(), miId, - Str ); - pBox->SetLabel( Str ); + auto translated = Str.Translation(); + wxStaticBox * pBox = safenew wxStaticBoxWrapper( + GetParent(), miId, translated ); + pBox->SetLabel( translated ); if (Str.empty()) { // NVDA 2018.3 or later does not read the controls in a group box which has // an accessibility name which is empty. Bug 2169. @@ -868,7 +873,7 @@ wxStaticBox * ShuttleGuiBase::StartStatic(const wxString &Str, int iProp) pBox->SetName(wxT("\a")); // non-empty string which screen readers do not read } else - pBox->SetName( wxStripMenuCodes( Str ) ); + pBox->SetName( wxStripMenuCodes( translated ) ); mpSubSizer = std::make_unique( pBox, wxVERTICAL ); diff --git a/src/ShuttleGui.h b/src/ShuttleGui.h index 35759bd03..75d5d143d 100644 --- a/src/ShuttleGui.h +++ b/src/ShuttleGui.h @@ -337,7 +337,8 @@ public: void AddIcon( wxBitmap * pBmp); void AddIconButton( const wxString & Command, const wxString & Params,wxBitmap * pBmp ); void AddFixedText( const wxString & Str, bool bCenter = false, int wrapWidth = 0 ); - void AddConstTextBox( const wxString &Caption, const wxString & Value ); + void AddConstTextBox( + const TranslatableString &Caption, const TranslatableString & Value ); //-- Start and end functions. These are used for sizer, or other window containers // and create the appropriate widget. @@ -359,7 +360,7 @@ public: void StartThreeColumn(){StartMultiColumn(3);}; void EndThreeColumn(){EndMultiColumn();}; - wxStaticBox * StartStatic( const wxString & Str, int iProp=0 ); + wxStaticBox * StartStatic( const TranslatableString & Str, int iProp=0 ); void EndStatic(); wxNotebook * StartNotebook(); diff --git a/src/Tags.cpp b/src/Tags.cpp index fa24f0486..d563347a1 100644 --- a/src/Tags.cpp +++ b/src/Tags.cpp @@ -923,7 +923,7 @@ void TagsEditorDialog::PopulateOrExchange(ShuttleGui & S) S.StartHorizontalLay(wxALIGN_CENTRE, 0); { - S.StartStatic(_("Genres")); + S.StartStatic(XO("Genres")); { S.StartMultiColumn(4, wxALIGN_CENTER); { @@ -933,7 +933,7 @@ void TagsEditorDialog::PopulateOrExchange(ShuttleGui & S) S.EndMultiColumn(); } S.EndStatic(); - S.StartStatic(_("Template")); + S.StartStatic(XO("Template")); { S.StartMultiColumn(4, wxALIGN_CENTER); { diff --git a/src/TimeDialog.cpp b/src/TimeDialog.cpp index 7d9065eca..56c83e5d2 100644 --- a/src/TimeDialog.cpp +++ b/src/TimeDialog.cpp @@ -33,7 +33,7 @@ TimeDialog::TimeDialog(wxWindow *parent, const NumericFormatSymbol &format, double rate, double time, - const wxString &prompt) + const TranslatableString &prompt) : wxDialogWrapper(parent, wxID_ANY, title), mPrompt(prompt), mFormat(format), diff --git a/src/TimeDialog.h b/src/TimeDialog.h index 0ac5c367b..f95c66206 100644 --- a/src/TimeDialog.h +++ b/src/TimeDialog.h @@ -29,7 +29,7 @@ class TimeDialog final : public wxDialogWrapper const NumericFormatSymbol &format, double rate, double time, - const wxString &prompt = _("Duration")); + const TranslatableString &prompt = XO("Duration")); void SetFormatString(const NumericFormatSymbol &formatString); void SetSampleRate(double sampleRate); @@ -46,7 +46,7 @@ class TimeDialog final : public wxDialogWrapper private: - wxString mPrompt; + TranslatableString mPrompt; NumericFormatSymbol mFormat; double mRate; double mTime; diff --git a/src/TimerRecordDialog.cpp b/src/TimerRecordDialog.cpp index 08e51959a..29a3f76fa 100644 --- a/src/TimerRecordDialog.cpp +++ b/src/TimerRecordDialog.cpp @@ -842,7 +842,7 @@ void TimerRecordDialog::PopulateOrExchange(ShuttleGui& S) * The 'h' indicates the first number displayed is hours, the 'm' indicates the second number * displayed is minutes, and the 's' indicates that the third number displayed is seconds. */ - S.StartStatic(_("Start Date and Time"), true); + S.StartStatic(XO("Start Date and Time"), true); { m_pDatePickerCtrl_Start = safenew wxDatePickerCtrl(S.GetParent(), // wxWindow *parent, @@ -868,7 +868,7 @@ void TimerRecordDialog::PopulateOrExchange(ShuttleGui& S) } S.EndStatic(); - S.StartStatic(_("End Date and Time"), true); + S.StartStatic(XO("End Date and Time"), true); { m_pDatePickerCtrl_End = safenew wxDatePickerCtrl(S.GetParent(), // wxWindow *parent, @@ -897,7 +897,7 @@ void TimerRecordDialog::PopulateOrExchange(ShuttleGui& S) } S.EndStatic(); - S.StartStatic(_("Duration"), true); + S.StartStatic(XO("Duration"), true); { /* i18n-hint: This string is used to configure the controls which shows the recording * duration. As such it is important that only the alphabetic parts of the string @@ -923,7 +923,7 @@ void TimerRecordDialog::PopulateOrExchange(ShuttleGui& S) S.StartVerticalLay(true); { - S.StartStatic(_("Automatic Save"), true); + S.StartStatic(XO("Automatic Save"), true); { // If checked, the project will be saved when the recording is completed m_pTimerAutoSaveCheckBoxCtrl = S.Id(ID_AUTOSAVE_CHECKBOX).AddCheckBox(_("Enable &Automatic Save?"), @@ -948,7 +948,7 @@ void TimerRecordDialog::PopulateOrExchange(ShuttleGui& S) } S.EndStatic(); - S.StartStatic(_("Automatic Export"), true); + S.StartStatic(XO("Automatic Export"), true); { m_pTimerAutoExportCheckBoxCtrl = S.Id(ID_AUTOEXPORT_CHECKBOX).AddCheckBox(_("Enable Automatic &Export?"), bAutoExport); S.StartMultiColumn(3, wxEXPAND); @@ -964,7 +964,7 @@ void TimerRecordDialog::PopulateOrExchange(ShuttleGui& S) } S.EndStatic(); - S.StartStatic(_("Options"), true); + S.StartStatic(XO("Options"), true); { S.StartMultiColumn(1, wxEXPAND); diff --git a/src/effects/BassTreble.cpp b/src/effects/BassTreble.cpp index 521b6b814..48eda25bd 100644 --- a/src/effects/BassTreble.cpp +++ b/src/effects/BassTreble.cpp @@ -220,7 +220,7 @@ void EffectBassTreble::PopulateOrExchange(ShuttleGui & S) S.SetBorder(5); S.AddSpace(0, 5); - S.StartStatic(_("Tone controls")); + S.StartStatic(XO("Tone controls")); { S.StartMultiColumn(3, wxEXPAND); { @@ -253,7 +253,7 @@ void EffectBassTreble::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Output")); + S.StartStatic(XO("Output")); { S.StartMultiColumn(3, wxEXPAND); { diff --git a/src/effects/ChangePitch.cpp b/src/effects/ChangePitch.cpp index b91b6c268..00865540d 100644 --- a/src/effects/ChangePitch.cpp +++ b/src/effects/ChangePitch.cpp @@ -272,7 +272,7 @@ void EffectChangePitch::PopulateOrExchange(ShuttleGui & S) S.EndVerticalLay(); /* i18n-hint: (noun) Musical pitch.*/ - S.StartStatic(_("Pitch")); + S.StartStatic(XO("Pitch")); { S.StartMultiColumn(6, wxALIGN_CENTER); // 6 controls, because each AddChoice adds a wxStaticText and a wxChoice. { @@ -314,7 +314,7 @@ void EffectChangePitch::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Frequency")); + S.StartStatic(XO("Frequency")); { S.StartMultiColumn(5, wxALIGN_CENTER); // 5, because AddTextBox adds a wxStaticText and a wxTextCtrl. { diff --git a/src/effects/ChangeSpeed.cpp b/src/effects/ChangeSpeed.cpp index b66eaa3a7..e19e84dad 100644 --- a/src/effects/ChangeSpeed.cpp +++ b/src/effects/ChangeSpeed.cpp @@ -354,7 +354,7 @@ void EffectChangeSpeed::PopulateOrExchange(ShuttleGui & S) S.EndMultiColumn(); // From/To time controls. - S.StartStatic(_("Selection Length"), 0); + S.StartStatic(XO("Selection Length"), 0); { S.StartMultiColumn(2, wxALIGN_LEFT); { diff --git a/src/effects/ChangeTempo.cpp b/src/effects/ChangeTempo.cpp index f3ec85732..baedf458b 100644 --- a/src/effects/ChangeTempo.cpp +++ b/src/effects/ChangeTempo.cpp @@ -251,7 +251,7 @@ void EffectChangeTempo::PopulateOrExchange(ShuttleGui & S) } S.EndHorizontalLay(); - S.StartStatic(_("Beats per minute")); + S.StartStatic(XO("Beats per minute")); { S.StartHorizontalLay(wxALIGN_CENTER); { @@ -280,7 +280,7 @@ void EffectChangeTempo::PopulateOrExchange(ShuttleGui & S) S.EndStatic(); // - S.StartStatic(_("Length (seconds)")); + S.StartStatic(XO("Length (seconds)")); { S.StartHorizontalLay(wxALIGN_CENTER); { diff --git a/src/effects/Contrast.cpp b/src/effects/Contrast.cpp index e633eeb0a..e7aa075de 100644 --- a/src/effects/Contrast.cpp +++ b/src/effects/Contrast.cpp @@ -227,7 +227,7 @@ ContrastDialog::ContrastDialog(wxWindow * parent, wxWindowID id, S.AddTitle(_("Contrast Analyzer, for measuring RMS volume differences between two selections of audio.")); } S.EndHorizontalLay(); - S.StartStatic( _("Parameters") ); + S.StartStatic( XO("Parameters") ); { S.StartMultiColumn(5, wxEXPAND); { @@ -312,7 +312,7 @@ ContrastDialog::ContrastDialog(wxWindow * parent, wxWindowID id, S.EndStatic(); //Result - S.StartStatic( _("Result") ); + S.StartStatic( XO("Result") ); { S.StartMultiColumn(3, wxCENTER); { diff --git a/src/effects/Distortion.cpp b/src/effects/Distortion.cpp index 1c2baa3d4..6098ccbf9 100644 --- a/src/effects/Distortion.cpp +++ b/src/effects/Distortion.cpp @@ -379,7 +379,7 @@ void EffectDistortion::PopulateOrExchange(ShuttleGui & S) S.AddSpace(0, 10); - S.StartStatic(_("Threshold controls")); + S.StartStatic(XO("Threshold controls")); { S.StartMultiColumn(4, wxEXPAND); S.SetStretchyCol(2); @@ -424,7 +424,7 @@ void EffectDistortion::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Parameter controls")); + S.StartStatic(XO("Parameter controls")); { S.StartMultiColumn(4, wxEXPAND); S.SetStretchyCol(2); diff --git a/src/effects/Equalization.cpp b/src/effects/Equalization.cpp index dd4d29d5b..ecadcb2a2 100644 --- a/src/effects/Equalization.cpp +++ b/src/effects/Equalization.cpp @@ -3358,7 +3358,7 @@ void EditCurvesDialog::PopulateOrExchange(ShuttleGui & S) { S.StartHorizontalLay(wxEXPAND); { - S.StartStatic(_("&Curves"), 1); + S.StartStatic(XO("&Curves"), 1); { mList = S.Id(CurvesListID) .Style(wxSUNKEN_BORDER | wxLC_REPORT | wxLC_HRULES | wxLC_VRULES ) @@ -3382,8 +3382,8 @@ void EditCurvesDialog::PopulateOrExchange(ShuttleGui & S) } S.EndHorizontalLay(); S.AddStandardButtons(); - S.StartStatic(_("Help")); - S.AddConstTextBox( {}, _("Rename 'unnamed' to save a new entry.\n'OK' saves all changes, 'Cancel' doesn't.")); + S.StartStatic(XO("Help")); + S.AddConstTextBox( {}, XO("Rename 'unnamed' to save a new entry.\n'OK' saves all changes, 'Cancel' doesn't.")); S.EndStatic(); PopulateList(mPosition); Fit(); diff --git a/src/effects/NoiseReduction.cpp b/src/effects/NoiseReduction.cpp index 046631694..e24deb7ad 100644 --- a/src/effects/NoiseReduction.cpp +++ b/src/effects/NoiseReduction.cpp @@ -1705,7 +1705,7 @@ void EffectNoiseReduction::Dialog::OnHelp(wxCommandEvent & WXUNUSED(event)) void EffectNoiseReduction::Dialog::PopulateOrExchange(ShuttleGui & S) { - S.StartStatic(_("Step 1")); + S.StartStatic(XO("Step 1")); { S.AddVariableText(_( "Select a few seconds of just noise so Audacity knows what to filter out,\nthen click Get Noise Profile:")); @@ -1714,7 +1714,7 @@ void EffectNoiseReduction::Dialog::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Step 2")); + S.StartStatic(XO("Step 2")); { S.AddVariableText(_( "Select all of the audio you want filtered, choose how much noise you want\nfiltered out, and then click 'OK' to reduce noise.\n")); @@ -1758,7 +1758,7 @@ void EffectNoiseReduction::Dialog::PopulateOrExchange(ShuttleGui & S) #ifdef ADVANCED_SETTINGS - S.StartStatic(_("Advanced Settings")); + S.StartStatic(XO("Advanced Settings")); { S.StartMultiColumn(2); { diff --git a/src/effects/NoiseRemoval.cpp b/src/effects/NoiseRemoval.cpp index ad2496fdb..96e1ec260 100644 --- a/src/effects/NoiseRemoval.cpp +++ b/src/effects/NoiseRemoval.cpp @@ -703,14 +703,14 @@ void NoiseRemovalDialog::OnCancel(wxCommandEvent & WXUNUSED(event)) void NoiseRemovalDialog::PopulateOrExchange(ShuttleGui & S) { - S.StartStatic(_("Step 1")); + S.StartStatic(XO("Step 1")); { S.AddVariableText(_("Select a few seconds of just noise so Audacity knows what to filter out,\nthen click Get Noise Profile:")); m_pButton_GetProfile = S.Id(ID_BUTTON_GETPROFILE).AddButton(XO("&Get Noise Profile")); } S.EndStatic(); - S.StartStatic(_("Step 2")); + S.StartStatic(XO("Step 2")); { S.AddVariableText(_("Select all of the audio you want filtered, choose how much noise you want\nfiltered out, and then click 'OK' to remove noise.\n")); diff --git a/src/effects/ScoreAlignDialog.cpp b/src/effects/ScoreAlignDialog.cpp index feddaacca..f2df23a42 100644 --- a/src/effects/ScoreAlignDialog.cpp +++ b/src/effects/ScoreAlignDialog.cpp @@ -92,7 +92,7 @@ ScoreAlignDialog::ScoreAlignDialog(ScoreAlignParams ¶ms) S.SetBorder(5); S.StartVerticalLay(true); - S.StartStatic(wxT("Align MIDI to Audio")); + S.StartStatic(XO("Align MIDI to Audio")); S.StartMultiColumn(3, wxEXPAND | wxALIGN_CENTER_VERTICAL); S.SetStretchyCol(1); diff --git a/src/effects/TimeScale.cpp b/src/effects/TimeScale.cpp index c240e8a9f..6cc0b5063 100644 --- a/src/effects/TimeScale.cpp +++ b/src/effects/TimeScale.cpp @@ -202,7 +202,7 @@ void EffectTimeScale::PopulateOrExchange(ShuttleGui & S) S.StartMultiColumn(2, wxALIGN_CENTER); { // Rate Start - S.StartStatic(_("Initial Tempo Change (%)")); + S.StartStatic(XO("Initial Tempo Change (%)")); { S.StartMultiColumn(1, wxCENTER); { @@ -225,7 +225,7 @@ void EffectTimeScale::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Final Tempo Change (%)")); + S.StartStatic(XO("Final Tempo Change (%)")); { S.StartMultiColumn(1, wxCENTER); { @@ -249,7 +249,7 @@ void EffectTimeScale::PopulateOrExchange(ShuttleGui & S) S.EndStatic(); // Pitch Start - S.StartStatic(_("Initial Pitch Shift")); + S.StartStatic(XO("Initial Pitch Shift")); { S.StartMultiColumn(2, wxCENTER); { @@ -275,7 +275,7 @@ void EffectTimeScale::PopulateOrExchange(ShuttleGui & S) S.EndStatic(); // Pitch End - S.StartStatic(_("Final Pitch Shift")); + S.StartStatic(XO("Final Pitch Shift")); { S.StartMultiColumn(2, wxCENTER); { diff --git a/src/effects/TruncSilence.cpp b/src/effects/TruncSilence.cpp index 1206951cf..d9308dbf0 100644 --- a/src/effects/TruncSilence.cpp +++ b/src/effects/TruncSilence.cpp @@ -751,7 +751,7 @@ void EffectTruncSilence::PopulateOrExchange(ShuttleGui & S) S.AddSpace(0, 5); - S.StartStatic(_("Detect Silence")); + S.StartStatic(XO("Detect Silence")); { S.StartMultiColumn(3, wxALIGN_CENTER_HORIZONTAL); { @@ -776,7 +776,7 @@ void EffectTruncSilence::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Action")); + S.StartStatic(XO("Action")); { S.StartHorizontalLay(); { diff --git a/src/effects/VST/VSTEffect.cpp b/src/effects/VST/VSTEffect.cpp index 88347299b..b9866b0a5 100644 --- a/src/effects/VST/VSTEffect.cpp +++ b/src/effects/VST/VSTEffect.cpp @@ -809,7 +809,7 @@ void VSTEffectOptionsDialog::PopulateOrExchange(ShuttleGui & S) { S.StartVerticalLay(false); { - S.StartStatic(_("Buffer Size")); + S.StartStatic(XO("Buffer Size")); { S.AddVariableText(wxString() + _("The buffer size controls the number of samples sent to the effect ") + @@ -833,7 +833,7 @@ void VSTEffectOptionsDialog::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Latency Compensation")); + S.StartStatic(XO("Latency Compensation")); { S.AddVariableText(wxString() + _("As part of their processing, some VST effects must delay returning ") + @@ -852,7 +852,7 @@ void VSTEffectOptionsDialog::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Graphical Mode")); + S.StartStatic(XO("Graphical Mode")); { S.AddVariableText(wxString() + _("Most VST effects have a graphical interface for setting parameter values.") + diff --git a/src/effects/audiounits/AudioUnitEffect.cpp b/src/effects/audiounits/AudioUnitEffect.cpp index 0aa5fb091..64ceb9bf8 100644 --- a/src/effects/audiounits/AudioUnitEffect.cpp +++ b/src/effects/audiounits/AudioUnitEffect.cpp @@ -379,7 +379,7 @@ void AudioUnitEffectOptionsDialog::PopulateOrExchange(ShuttleGui & S) { S.StartVerticalLay(false); { - S.StartStatic(_("Latency Compensation")); + S.StartStatic(XO("Latency Compensation")); { S.AddVariableText(wxString() + _("As part of their processing, some Audio Unit effects must delay returning ") + @@ -398,7 +398,7 @@ void AudioUnitEffectOptionsDialog::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("User Interface")); + S.StartStatic(XO("User Interface")); { S.AddVariableText(wxString() + _("Select \"Full\" to use the graphical interface if supplied by the Audio Unit.") + @@ -509,7 +509,7 @@ void AudioUnitEffectExportDialog::PopulateOrExchange(ShuttleGui & S) { S.StartVerticalLay(true); { - S.StartStatic(_("Presets (may select multiple)")); + S.StartStatic(XO("Presets (may select multiple)")); { mList = S.Style(wxLC_REPORT | wxLC_HRULES | wxLC_VRULES | wxLC_NO_SORT_HEADER) @@ -681,7 +681,7 @@ void AudioUnitEffectImportDialog::PopulateOrExchange(ShuttleGui & S) { S.StartVerticalLay(true); { - S.StartStatic(_("Presets (may select multiple)")); + S.StartStatic(XO("Presets (may select multiple)")); { mList = S.Style(wxLC_REPORT | wxLC_HRULES | wxLC_VRULES | wxLC_NO_SORT_HEADER) diff --git a/src/effects/ladspa/LadspaEffect.cpp b/src/effects/ladspa/LadspaEffect.cpp index 34a1cf4e3..bfbe5086e 100644 --- a/src/effects/ladspa/LadspaEffect.cpp +++ b/src/effects/ladspa/LadspaEffect.cpp @@ -449,7 +449,7 @@ void LadspaEffectOptionsDialog::PopulateOrExchange(ShuttleGui & S) { S.StartVerticalLay(false); { - S.StartStatic(_("Latency Compensation")); + S.StartStatic(XO("Latency Compensation")); { S.AddVariableText(wxString() + _("As part of their processing, some LADSPA effects must delay returning ") + diff --git a/src/effects/lv2/LV2Effect.cpp b/src/effects/lv2/LV2Effect.cpp index 736efdfe6..2fa984169 100755 --- a/src/effects/lv2/LV2Effect.cpp +++ b/src/effects/lv2/LV2Effect.cpp @@ -243,7 +243,7 @@ void LV2EffectSettingsDialog::PopulateOrExchange(ShuttleGui &S) // to specify their exact requirements in the TTL file and/or to check the host // supplied min/max values. However, I've run across one (Harrison Consoles XT-EQ) // that crashed on sizes greater than 8192. - S.StartStatic(_("Buffer Size")); + S.StartStatic(XO("Buffer Size")); { IntegerValidator vld(&mBufferSize); vld.SetRange(8, DEFAULT_BLOCKSIZE); @@ -269,7 +269,7 @@ void LV2EffectSettingsDialog::PopulateOrExchange(ShuttleGui &S) } S.EndStatic(); - S.StartStatic(_("Latency Compensation")); + S.StartStatic(XO("Latency Compensation")); { S.AddVariableText(wxString() + _("As part of their processing, some LV2 effects must delay returning ") + @@ -288,7 +288,7 @@ void LV2EffectSettingsDialog::PopulateOrExchange(ShuttleGui &S) } S.EndStatic(); - S.StartStatic(_("Graphical Mode")); + S.StartStatic(XO("Graphical Mode")); { S.AddVariableText(wxString() + _("LV2 effects can have a graphical interface for setting parameter values.") + diff --git a/src/effects/vamp/VampEffect.cpp b/src/effects/vamp/VampEffect.cpp index 81d0644a9..a2704a95d 100644 --- a/src/effects/vamp/VampEffect.cpp +++ b/src/effects/vamp/VampEffect.cpp @@ -554,7 +554,7 @@ void VampEffect::PopulateOrExchange(ShuttleGui & S) wxScrolledWindow *scroller = S.Style(wxVSCROLL | wxTAB_TRAVERSAL) .StartScroller(2); { - S.StartStatic(_("Plugin Settings")); + S.StartStatic(XO("Plugin Settings")); { S.StartMultiColumn(5, wxEXPAND); { diff --git a/src/export/Export.cpp b/src/export/Export.cpp index a9c012409..39ebd5762 100644 --- a/src/export/Export.cpp +++ b/src/export/Export.cpp @@ -988,7 +988,7 @@ void Exporter::CreateUserPane(wxWindow *parent) { S.StartHorizontalLay(wxEXPAND); { - S.StartStatic(_("Format Options"), 1); + S.StartStatic(XO("Format Options"), 1); { mBook = S.Position(wxEXPAND) .StartSimplebook(); diff --git a/src/export/ExportFFmpeg.cpp b/src/export/ExportFFmpeg.cpp index 03b2eabe2..660a5b296 100644 --- a/src/export/ExportFFmpeg.cpp +++ b/src/export/ExportFFmpeg.cpp @@ -1045,7 +1045,7 @@ int ExportFFmpeg::AskResample(int bitrate, int rate, int lowrate, int highrate, S.StartVerticalLay(); { S.SetBorder(10); - S.StartStatic(_("Resample")); + S.StartStatic(XO("Resample")); { S.StartHorizontalLay(wxALIGN_CENTER, false); { diff --git a/src/export/ExportFFmpegDialogs.cpp b/src/export/ExportFFmpegDialogs.cpp index 85423ff61..12a65d5f5 100644 --- a/src/export/ExportFFmpegDialogs.cpp +++ b/src/export/ExportFFmpegDialogs.cpp @@ -1578,7 +1578,7 @@ void ExportFFmpegOptions::PopulateOrExchange(ShuttleGui & S) { //S.StartScroller( ); S.SetBorder( 3 ); - S.StartStatic(_("General Options"), 0); + S.StartStatic(XO("General Options"), 0); { S.StartMultiColumn(8, wxEXPAND); { @@ -1626,7 +1626,7 @@ void ExportFFmpegOptions::PopulateOrExchange(ShuttleGui & S) S.EndMultiColumn(); } S.EndStatic(); - S.StartStatic(_("FLAC options"),0); + S.StartStatic(XO("FLAC options"),0); { S.StartMultiColumn(4, wxALIGN_LEFT); { @@ -1677,7 +1677,7 @@ void ExportFFmpegOptions::PopulateOrExchange(ShuttleGui & S) S.EndMultiColumn(); } S.EndStatic(); - S.StartStatic(_("MPEG container options"),0); + S.StartStatic(XO("MPEG container options"),0); { S.StartMultiColumn(4, wxALIGN_LEFT); { diff --git a/src/export/ExportMP3.cpp b/src/export/ExportMP3.cpp index cbc31f85c..3a2fbcc2e 100644 --- a/src/export/ExportMP3.cpp +++ b/src/export/ExportMP3.cpp @@ -2010,7 +2010,7 @@ int ExportMP3::AskResample(int bitrate, int rate, int lowrate, int highrate) S.StartVerticalLay(); { S.SetBorder(10); - S.StartStatic(_("Resample")); + S.StartStatic(XO("Resample")); { S.StartHorizontalLay(wxALIGN_CENTER, false); { diff --git a/src/export/ExportMultiple.cpp b/src/export/ExportMultiple.cpp index b9e0991b1..1efe0e2ec 100644 --- a/src/export/ExportMultiple.cpp +++ b/src/export/ExportMultiple.cpp @@ -270,7 +270,7 @@ void ExportMultipleDialog::PopulateOrExchange(ShuttleGui& S) S.StartHorizontalLay(wxEXPAND, true); { S.SetBorder(5); - S.StartStatic(_("Export files to:"), true); + S.StartStatic(XO("Export files to:"), true); { S.StartMultiColumn(4, true); { @@ -329,7 +329,7 @@ void ExportMultipleDialog::PopulateOrExchange(ShuttleGui& S) S.StartHorizontalLay(wxEXPAND, false); { S.SetBorder(5); - S.StartStatic(_("Split files based on:"), 1); + S.StartStatic(XO("Split files based on:"), 1); { // Row 1 S.SetBorder(1); @@ -372,7 +372,7 @@ void ExportMultipleDialog::PopulateOrExchange(ShuttleGui& S) S.EndStatic(); S.SetBorder(5); - S.StartStatic(_("Name files:"), 1); + S.StartStatic(XO("Name files:"), 1); { S.SetBorder(2); S.StartRadioButtonGroup({ diff --git a/src/import/ImportPCM.cpp b/src/import/ImportPCM.cpp index 60cfb4e39..561b4ecba 100644 --- a/src/import/ImportPCM.cpp +++ b/src/import/ImportPCM.cpp @@ -350,7 +350,7 @@ static wxString AskCopyOrEdit() wxRadioButton *copyRadio; wxCheckBox *dontAskNextTimeBox; - S.StartStatic(_("Choose an import method")); + S.StartStatic(XO("Choose an import method")); { S.SetBorder(0); diff --git a/src/menus/HelpMenus.cpp b/src/menus/HelpMenus.cpp index 45217824f..ba5098f24 100644 --- a/src/menus/HelpMenus.cpp +++ b/src/menus/HelpMenus.cpp @@ -169,7 +169,7 @@ void QuickFixDialog::PopulateOrExchange(ShuttleGui & S) { S.StartVerticalLay(1); - S.StartStatic( _("Quick Fixes")); + S.StartStatic( XO("Quick Fixes")); // These aren't all possible modes one can be stuck in, but they are some of them. bool bStuckInMode = mbSyncLocked || mbInSnapTo || mbSoundActivated; diff --git a/src/menus/SelectMenus.cpp b/src/menus/SelectMenus.cpp index d0da2de12..bc6c3be4e 100644 --- a/src/menus/SelectMenus.cpp +++ b/src/menus/SelectMenus.cpp @@ -515,7 +515,7 @@ void OnSetLeftSelection(const CommandContext &context) auto rate = settings.GetRate(); TimeDialog dlg(&window, XO("Set Left Selection Boundary"), - fmt, rate, selectedRegion.t0(), _("Position")); + fmt, rate, selectedRegion.t0(), XO("Position")); if (wxID_OK == dlg.ShowModal()) { @@ -554,7 +554,7 @@ void OnSetRightSelection(const CommandContext &context) auto rate = settings.GetRate(); TimeDialog dlg(&window, XO("Set Right Selection Boundary"), - fmt, rate, selectedRegion.t1(), _("Position")); + fmt, rate, selectedRegion.t1(), XO("Position")); if (wxID_OK == dlg.ShowModal()) { diff --git a/src/prefs/BatchPrefs.cpp b/src/prefs/BatchPrefs.cpp index 3da4b5ae9..6e90e9357 100644 --- a/src/prefs/BatchPrefs.cpp +++ b/src/prefs/BatchPrefs.cpp @@ -69,7 +69,7 @@ void BatchPrefs::PopulateOrExchange( ShuttleGui & S ) S.StartScroller(); S.StartHorizontalLay( wxEXPAND, 0 ); - S.StartStatic( _("Behaviors"),1 ); + S.StartStatic( XO("Behaviors"),1 ); { #ifdef __WXDEBUG__ S.TieCheckBox( _("&Don't apply effects in batch mode"), diff --git a/src/prefs/DevicePrefs.cpp b/src/prefs/DevicePrefs.cpp index a4b5e5838..7867ab286 100644 --- a/src/prefs/DevicePrefs.cpp +++ b/src/prefs/DevicePrefs.cpp @@ -129,7 +129,7 @@ void DevicePrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Interface")); + S.StartStatic(XO("Interface")); { S.StartMultiColumn(2); { @@ -148,7 +148,7 @@ void DevicePrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Playback")); + S.StartStatic(XO("Playback")); { S.StartMultiColumn(2); { @@ -160,7 +160,7 @@ void DevicePrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Recording")); + S.StartStatic(XO("Recording")); { S.StartMultiColumn(2); { @@ -179,7 +179,7 @@ void DevicePrefs::PopulateOrExchange(ShuttleGui & S) // These previously lived in recording preferences. // However they are liable to become device specific. // Buffering also affects playback, not just recording, so is a device characteristic. - S.StartStatic( _("Latency")); + S.StartStatic( XO("Latency")); { S.StartThreeColumn(); { diff --git a/src/prefs/DirectoriesPrefs.cpp b/src/prefs/DirectoriesPrefs.cpp index faaa8845e..3543f3816 100644 --- a/src/prefs/DirectoriesPrefs.cpp +++ b/src/prefs/DirectoriesPrefs.cpp @@ -96,7 +96,7 @@ void DirectoriesPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Temporary files directory")); + S.StartStatic(XO("Temporary files directory")); { S.StartMultiColumn(2, wxEXPAND); { @@ -122,7 +122,7 @@ void DirectoriesPrefs::PopulateOrExchange(ShuttleGui & S) #ifdef DEPRECATED_AUDIO_CACHE // See http://bugzilla.audacityteam.org/show_bug.cgi?id=545. - S.StartStatic(_("Audio cache")); + S.StartStatic(XO("Audio cache")); { S.TieCheckBox(_("Play and/or record using &RAM (useful for slow drives)"), wxT("/Directories/CacheBlockFiles"), diff --git a/src/prefs/EffectsPrefs.cpp b/src/prefs/EffectsPrefs.cpp index b80c839af..5c58881d3 100644 --- a/src/prefs/EffectsPrefs.cpp +++ b/src/prefs/EffectsPrefs.cpp @@ -182,7 +182,7 @@ void EffectsPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Enable Effects")); + S.StartStatic(XO("Enable Effects")); { for ( const auto &entry : GetModuleData() ) { @@ -195,7 +195,7 @@ void EffectsPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Effect Options")); + S.StartStatic(XO("Effect Options")); { S.StartMultiColumn(2); { @@ -218,7 +218,7 @@ void EffectsPrefs::PopulateOrExchange(ShuttleGui & S) S.EndStatic(); #ifndef EXPERIMENTAL_EFFECT_MANAGEMENT - S.StartStatic(_("Plugin Options")); + S.StartStatic(XO("Plugin Options")); { S.TieCheckBox(_("Check for updated plugins when Audacity starts"), wxT("/Plugins/CheckForUpdates"), @@ -231,7 +231,7 @@ void EffectsPrefs::PopulateOrExchange(ShuttleGui & S) #endif #ifdef EXPERIMENTAL_EQ_SSE_THREADED - S.StartStatic(_("Instruction Set")); + S.StartStatic(XO("Instruction Set")); { S.TieCheckBox(_("&Use SSE/SSE2/.../AVX"), wxT("/SSE/GUI"), diff --git a/src/prefs/ExtImportPrefs.cpp b/src/prefs/ExtImportPrefs.cpp index 0b52e073a..95e2308a0 100644 --- a/src/prefs/ExtImportPrefs.cpp +++ b/src/prefs/ExtImportPrefs.cpp @@ -106,7 +106,7 @@ void ExtImportPrefs::PopulateOrExchange(ShuttleGui & S) S.TieCheckBox(_("A&ttempt to use filter in OpenFile dialog first"), {wxT("/ExtendedImport/OverrideExtendedImportByOpenFileDialogChoice"), true}); - S.StartStatic(_("Rules to choose import filters"), 1); + S.StartStatic(XO("Rules to choose import filters"), 1); { S.SetSizerProportion(1); S.StartHorizontalLay (wxEXPAND, 1); diff --git a/src/prefs/GUIPrefs.cpp b/src/prefs/GUIPrefs.cpp index 0e5bcf4a4..a8eff41e5 100644 --- a/src/prefs/GUIPrefs.cpp +++ b/src/prefs/GUIPrefs.cpp @@ -183,7 +183,7 @@ void GUIPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Display")); + S.StartStatic(XO("Display")); { S.StartMultiColumn(2); { @@ -218,7 +218,7 @@ void GUIPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Options")); + S.StartStatic(XO("Options")); { // Start wording of options with a verb, if possible. S.TieCheckBox(_("Show 'How to Get &Help' at launch"), diff --git a/src/prefs/ImportExportPrefs.cpp b/src/prefs/ImportExportPrefs.cpp index f6041e0b6..7990cd934 100644 --- a/src/prefs/ImportExportPrefs.cpp +++ b/src/prefs/ImportExportPrefs.cpp @@ -97,7 +97,7 @@ void ImportExportPrefs::PopulateOrExchange(ShuttleGui & S) S.StartScroller(); #ifdef EXPERIMENTAL_OD_DATA - S.StartStatic(_("When importing audio files")); + S.StartStatic(XO("When importing audio files")); { S.StartRadioButtonGroup(FileFormatsCopyOrEditSetting); { @@ -108,7 +108,7 @@ void ImportExportPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); #endif - S.StartStatic(_("When exporting tracks to an audio file")); + S.StartStatic(XO("When exporting tracks to an audio file")); { S.StartRadioButtonGroup(ImportExportPrefs::ExportDownMixSetting); { @@ -127,7 +127,7 @@ void ImportExportPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); #ifdef USE_MIDI - S.StartStatic(_("Exported Allegro (.gro) files save time as:")); + S.StartStatic(XO("Exported Allegro (.gro) files save time as:")); { S.StartRadioButtonGroup(ImportExportPrefs::AllegroStyleSetting); { diff --git a/src/prefs/KeyConfigPrefs.cpp b/src/prefs/KeyConfigPrefs.cpp index f1ed0ff6c..5cf986292 100644 --- a/src/prefs/KeyConfigPrefs.cpp +++ b/src/prefs/KeyConfigPrefs.cpp @@ -165,7 +165,7 @@ void KeyConfigPrefs::PopulateOrExchange(ShuttleGui & S) { S.SetBorder(2); - S.StartStatic(_("Key Bindings"), 1); + S.StartStatic(XO("Key Bindings"), 1); { S.StartMultiColumn(3, wxEXPAND); { diff --git a/src/prefs/LibraryPrefs.cpp b/src/prefs/LibraryPrefs.cpp index 79126d77c..33d72e939 100644 --- a/src/prefs/LibraryPrefs.cpp +++ b/src/prefs/LibraryPrefs.cpp @@ -97,7 +97,7 @@ void LibraryPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("LAME MP3 Export Library")); + S.StartStatic(XO("LAME MP3 Export Library")); { S.StartTwoColumn(); { @@ -135,7 +135,7 @@ void LibraryPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("FFmpeg Import/Export Library")); + S.StartStatic(XO("FFmpeg Import/Export Library")); { S.StartTwoColumn(); { diff --git a/src/prefs/MidiIOPrefs.cpp b/src/prefs/MidiIOPrefs.cpp index f3656ad54..413ea6dbd 100644 --- a/src/prefs/MidiIOPrefs.cpp +++ b/src/prefs/MidiIOPrefs.cpp @@ -133,7 +133,7 @@ void MidiIOPrefs::PopulateOrExchange( ShuttleGui & S ) { S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Interface")); + S.StartStatic(XO("Interface")); { S.StartMultiColumn(2); { @@ -152,7 +152,7 @@ void MidiIOPrefs::PopulateOrExchange( ShuttleGui & S ) { } S.EndStatic(); - S.StartStatic(_("Playback")); + S.StartStatic(XO("Playback")); { S.StartMultiColumn(2); { @@ -167,7 +167,7 @@ void MidiIOPrefs::PopulateOrExchange( ShuttleGui & S ) { } S.EndStatic(); #ifdef EXPERIMENTAL_MIDI_IN - S.StartStatic(_("Recording")); + S.StartStatic(XO("Recording")); { S.StartMultiColumn(2); { diff --git a/src/prefs/MousePrefs.cpp b/src/prefs/MousePrefs.cpp index d96884c5a..de1e2692c 100644 --- a/src/prefs/MousePrefs.cpp +++ b/src/prefs/MousePrefs.cpp @@ -109,7 +109,7 @@ void MousePrefs::PopulateOrExchange(ShuttleGui & S) { S.SetBorder(2); - S.StartStatic(_("Mouse Bindings (default values, not configurable)"), 1); + S.StartStatic(XO("Mouse Bindings (default values, not configurable)"), 1); { mList = S.AddListControlReportMode(); } diff --git a/src/prefs/PlaybackPrefs.cpp b/src/prefs/PlaybackPrefs.cpp index 407f660b6..3c799be12 100644 --- a/src/prefs/PlaybackPrefs.cpp +++ b/src/prefs/PlaybackPrefs.cpp @@ -82,7 +82,7 @@ void PlaybackPrefs::PopulateOrExchange(ShuttleGui & S) S.StartScroller(); S.SetBorder(2); - S.StartStatic(_("Effects Preview")); + S.StartStatic(XO("Effects Preview")); { S.StartThreeColumn(); { @@ -98,7 +98,7 @@ void PlaybackPrefs::PopulateOrExchange(ShuttleGui & S) S.EndStatic(); /* i18n-hint: (noun) this is a preview of the cut */ - S.StartStatic(_("Cut Preview")); + S.StartStatic(XO("Cut Preview")); { S.StartThreeColumn(); { @@ -120,7 +120,7 @@ void PlaybackPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Seek Time when playing")); + S.StartStatic(XO("Seek Time when playing")); { S.StartThreeColumn(); { @@ -142,7 +142,7 @@ void PlaybackPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Options")); + S.StartStatic(XO("Options")); { S.StartVerticalLay(); { diff --git a/src/prefs/ProjectsPrefs.cpp b/src/prefs/ProjectsPrefs.cpp index e76765e48..1d463ee90 100644 --- a/src/prefs/ProjectsPrefs.cpp +++ b/src/prefs/ProjectsPrefs.cpp @@ -72,7 +72,7 @@ void ProjectsPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("When saving a project that depends on other audio files")); + S.StartStatic(XO("When saving a project that depends on other audio files")); { S.StartRadioButtonGroup(FileFormatsSaveWithDependenciesSetting); { diff --git a/src/prefs/QualityPrefs.cpp b/src/prefs/QualityPrefs.cpp index 91a5be8a1..25fdf0676 100644 --- a/src/prefs/QualityPrefs.cpp +++ b/src/prefs/QualityPrefs.cpp @@ -138,7 +138,7 @@ void QualityPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Sampling")); + S.StartStatic(XO("Sampling")); { S.StartMultiColumn(2); { @@ -174,7 +174,7 @@ void QualityPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Real-time Conversion")); + S.StartStatic(XO("Real-time Conversion")); { S.StartMultiColumn(2, wxEXPAND); { @@ -189,7 +189,7 @@ void QualityPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("High-quality Conversion")); + S.StartStatic(XO("High-quality Conversion")); { S.StartMultiColumn(2); { diff --git a/src/prefs/RecordingPrefs.cpp b/src/prefs/RecordingPrefs.cpp index 0cd571234..b4f5cc3be 100644 --- a/src/prefs/RecordingPrefs.cpp +++ b/src/prefs/RecordingPrefs.cpp @@ -84,7 +84,7 @@ void RecordingPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Options")); + S.StartStatic(XO("Options")); { // Start wording of options with a verb, if possible. S.TieCheckBox(_("Play &other tracks while recording (overdub)"), @@ -123,7 +123,7 @@ void RecordingPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Sound Activated Recording")); + S.StartStatic(XO("Sound Activated Recording")); { S.TieCheckBox(_("&Enable"), {wxT("/AudioIO/SoundActivatedRecord"), @@ -143,7 +143,7 @@ void RecordingPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Name newly recorded tracks")); + S.StartStatic(XO("Name newly recorded tracks")); { // Nested multicolumns to indent by 'With:' width, in a way that works if // translated. @@ -189,7 +189,7 @@ void RecordingPrefs::PopulateOrExchange(ShuttleGui & S) S.EndStatic(); #ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT - S.StartStatic(_("Automated Recording Level Adjustment")); + S.StartStatic(XO("Automated Recording Level Adjustment")); { S.TieCheckBox(_("Enable Automated Recording Level Adjustment."), {wxT("/AudioIO/AutomatedInputLevelAdjustment"), @@ -234,7 +234,7 @@ void RecordingPrefs::PopulateOrExchange(ShuttleGui & S) #endif #ifdef EXPERIMENTAL_PUNCH_AND_ROLL - S.StartStatic(_("Punch and Roll Recording")); + S.StartStatic(XO("Punch and Roll Recording")); { S.StartThreeColumn(); { diff --git a/src/prefs/SpectrumPrefs.cpp b/src/prefs/SpectrumPrefs.cpp index 9b1a46c5b..58340ce9a 100644 --- a/src/prefs/SpectrumPrefs.cpp +++ b/src/prefs/SpectrumPrefs.cpp @@ -168,7 +168,7 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); { - // S.StartStatic(_("Track Settings")); + // S.StartStatic(XO("Track Settings")); // { @@ -182,7 +182,7 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S) { S.SetStretchyCol( 0 ); S.SetStretchyCol( 1 ); - S.StartStatic(_("Scale"),1); + S.StartStatic(XO("Scale"),1); { S.StartMultiColumn(2,wxEXPAND); { @@ -204,7 +204,7 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Colors"),1); + S.StartStatic(XO("Colors"),1); { S.StartMultiColumn(2,wxEXPAND); { @@ -233,7 +233,7 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndMultiColumn(); - S.StartStatic(_("Algorithm")); + S.StartStatic(XO("Algorithm")); { S.StartMultiColumn(2); { @@ -288,7 +288,7 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S) #ifdef EXPERIMENTAL_FIND_NOTES /* i18n-hint: FFT stands for Fast Fourier Transform and probably shouldn't be translated*/ - S.StartStatic(_("FFT Find Notes")); + S.StartStatic(XO("FFT Find Notes")); { S.StartTwoColumn(); { @@ -315,7 +315,7 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S) // S.EndStatic(); #ifdef SPECTRAL_SELECTION_GLOBAL_SWITCH - S.StartStatic(_("Global settings")); + S.StartStatic(XO("Global settings")); { S.TieCheckBox(_("Ena&ble spectral selection"), SpectrogramSettings::Globals::Get().spectralSelection); diff --git a/src/prefs/ThemePrefs.cpp b/src/prefs/ThemePrefs.cpp index 2aa749b38..229e93a15 100644 --- a/src/prefs/ThemePrefs.cpp +++ b/src/prefs/ThemePrefs.cpp @@ -107,7 +107,7 @@ void ThemePrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Info")); + S.StartStatic(XO("Info")); { S.AddFixedText( _("Themability is an experimental feature.\n\nTo try it out, click \"Save Theme Cache\" then find and modify the images and colors in\nImageCacheVxx.png using an image editor such as the Gimp.\n\nClick \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n\n(Only the Transport Toolbar and the colors on the wavetrack are currently affected, even\nthough the image file shows other icons too.)") @@ -127,7 +127,7 @@ void ThemePrefs::PopulateOrExchange(ShuttleGui & S) /* i18n-hint: && in here is an escape character to get a single & on screen, * so keep it as is */ - S.StartStatic( _("Theme Cache - Images && Color")); + S.StartStatic( XO("Theme Cache - Images && Color")); { S.StartHorizontalLay(wxALIGN_LEFT); { @@ -154,7 +154,7 @@ void ThemePrefs::PopulateOrExchange(ShuttleGui & S) // To reduce that risk, we use a separate box to separate them off. // And choose text on the buttons that is shorter, making the // buttons smaller and less tempting to click. - S.StartStatic( _("Individual Theme Files"),1); + S.StartStatic( XO("Individual Theme Files"),1); { S.StartHorizontalLay(wxALIGN_LEFT); { diff --git a/src/prefs/TracksBehaviorsPrefs.cpp b/src/prefs/TracksBehaviorsPrefs.cpp index 4a30820b0..2fd143194 100644 --- a/src/prefs/TracksBehaviorsPrefs.cpp +++ b/src/prefs/TracksBehaviorsPrefs.cpp @@ -78,7 +78,7 @@ void TracksBehaviorsPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Behaviors")); + S.StartStatic(XO("Behaviors")); { S.TieCheckBox(_("&Select all audio, if selection required"), {wxT("/GUI/SelectAllOnNone"), diff --git a/src/prefs/TracksPrefs.cpp b/src/prefs/TracksPrefs.cpp index 578849a13..37b40a863 100644 --- a/src/prefs/TracksPrefs.cpp +++ b/src/prefs/TracksPrefs.cpp @@ -265,7 +265,7 @@ void TracksPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Display")); + S.StartStatic(XO("Display")); { S.TieCheckBox(_("Auto-&fit track height"), {wxT("/GUI/TracksFitVerticallyZoomed"), @@ -314,7 +314,7 @@ void TracksPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Zoom Toggle")); + S.StartStatic(XO("Zoom Toggle")); { S.StartMultiColumn(4); { diff --git a/src/prefs/WarningsPrefs.cpp b/src/prefs/WarningsPrefs.cpp index 90e20d00c..42c410367 100644 --- a/src/prefs/WarningsPrefs.cpp +++ b/src/prefs/WarningsPrefs.cpp @@ -67,7 +67,7 @@ void WarningsPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(_("Show Warnings/Prompts for")); + S.StartStatic(XO("Show Warnings/Prompts for")); { S.TieCheckBox(_("Saving &projects"), {wxT("/Warnings/FirstProjectSave"), diff --git a/src/prefs/WaveformPrefs.cpp b/src/prefs/WaveformPrefs.cpp index d03694fc2..fb294570e 100644 --- a/src/prefs/WaveformPrefs.cpp +++ b/src/prefs/WaveformPrefs.cpp @@ -95,7 +95,7 @@ void WaveformPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - // S.StartStatic(_("Track Settings")); + // S.StartStatic(XO("Track Settings")); { mDefaultsCheckbox = 0; if (mWt) { @@ -103,7 +103,7 @@ void WaveformPrefs::PopulateOrExchange(ShuttleGui & S) mDefaultsCheckbox = S.Id(ID_DEFAULTS).TieCheckBox(_("&Use Preferences"), mDefaulted); } - S.StartStatic(_("Display")); + S.StartStatic(XO("Display")); { S.StartTwoColumn(); { @@ -124,7 +124,7 @@ void WaveformPrefs::PopulateOrExchange(ShuttleGui & S) // S.EndStatic(); /* - S.StartStatic(_("Global settings")); + S.StartStatic(XO("Global settings")); { } S.EndStatic(); diff --git a/src/widgets/Meter.cpp b/src/widgets/Meter.cpp index 44756dc54..7570e0452 100644 --- a/src/widgets/Meter.cpp +++ b/src/widgets/Meter.cpp @@ -2000,7 +2000,7 @@ void MeterPanel::OnPreferences(wxCommandEvent & WXUNUSED(event)) ShuttleGui S(&dlg, eIsCreating); S.StartVerticalLay(); { - S.StartStatic(_("Refresh Rate"), 0); + S.StartStatic(XO("Refresh Rate"), 0); { S.AddFixedText(_("Higher refresh rates make the meter show more frequent\nchanges. A rate of 30 per second or less should prevent\nthe meter affecting audio quality on slower machines.")); S.StartHorizontalLay(); @@ -2019,7 +2019,7 @@ void MeterPanel::OnPreferences(wxCommandEvent & WXUNUSED(event)) S.StartHorizontalLay(); { - S.StartStatic(_("Meter Style"), 0); + S.StartStatic(XO("Meter Style"), 0); { S.StartVerticalLay(); { @@ -2030,7 +2030,7 @@ void MeterPanel::OnPreferences(wxCommandEvent & WXUNUSED(event)) } S.EndStatic(); - S.StartStatic(_("Meter Type"), 0); + S.StartStatic(XO("Meter Type"), 0); { S.StartVerticalLay(); { @@ -2041,7 +2041,7 @@ void MeterPanel::OnPreferences(wxCommandEvent & WXUNUSED(event)) } S.EndStatic(); - S.StartStatic(_("Orientation"), 1); + S.StartStatic(XO("Orientation"), 1); { S.StartVerticalLay(); {