TranslatableString for static text box captions

This commit is contained in:
Paul Licameli 2019-12-22 14:58:36 -05:00
parent 21e7b9f2de
commit b404eb7800
60 changed files with 150 additions and 144 deletions

View File

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

View File

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

View File

@ -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<wxImageList>(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);
{

View File

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

View File

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

View File

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

View File

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

View File

@ -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<wxStaticBoxSizer>(
pBox,
wxVERTICAL );

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -92,7 +92,7 @@ ScoreAlignDialog::ScoreAlignDialog(ScoreAlignParams &params)
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);

View File

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

View File

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

View File

@ -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.") +

View File

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

View File

@ -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 ") +

View File

@ -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<int> 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.") +

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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())
{

View File

@ -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"),

View File

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

View File

@ -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"),

View File

@ -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"),

View File

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

View File

@ -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"),

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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"),

View File

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

View File

@ -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"),

View File

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

View File

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