Removed some (hidden) Cleanspeech cruft that had been used to disable effects. Made some static text open to translation. Added more i18n hints (thanks Thomas Breinstrup).
This commit is contained in:
parent
e98695f324
commit
dd97cae3d9
|
@ -1008,8 +1008,11 @@ bool AudacityApp::OnInit()
|
|||
#endif
|
||||
|
||||
mLogger=NULL;
|
||||
/* i18n-hint: We translate the title of the log window, but
|
||||
* we're not translating its contents, since the contents will be read by
|
||||
* English speaking engineers */
|
||||
#ifndef __WXMAC__
|
||||
mLogger = new wxLogWindow(NULL, wxT("Audacity Log"), false, false);
|
||||
mLogger = new wxLogWindow(NULL, _("Audacity Log"), false, false);
|
||||
mLogger->SetActiveTarget(mLogger);
|
||||
mLogger->EnableLogging(true);
|
||||
mLogger->SetLogLevel(wxLOG_Max);
|
||||
|
@ -1226,7 +1229,7 @@ bool AudacityApp::OnInit()
|
|||
project->MayStartMonitoring();
|
||||
|
||||
#ifdef __WXMAC__
|
||||
mLogger = new wxLogWindow(NULL, wxT("Audacity Log"), false, false);
|
||||
mLogger = new wxLogWindow(NULL, _("Audacity Log"), false, false);
|
||||
mLogger->SetActiveTarget(mLogger);
|
||||
mLogger->EnableLogging(true);
|
||||
mLogger->SetLogLevel(wxLOG_Max);
|
||||
|
|
|
@ -1369,6 +1369,12 @@ int DirManager::ProjectFSCK(const bool bForceError, const bool bAutoRecoverMode)
|
|||
|
||||
if (bForceError && !bAutoRecoverMode)
|
||||
{
|
||||
// TODO: Replace with more user friendly error message?
|
||||
/* i18n-hint: The audacity project file is XML and has 'tags' in it,
|
||||
rather like html tags <something>some stuff</something>.
|
||||
This error message is about the tags that hold the sequence information.
|
||||
The error message is confusing to users in English, and could just say
|
||||
"Found problems with <sequence> when checking project file." */
|
||||
wxString msg = _("Project check read faulty Sequence tags.");
|
||||
const wxChar *buttons[] =
|
||||
{_("Close project immediately with no changes"),
|
||||
|
|
|
@ -49,17 +49,7 @@ enum Column
|
|||
Col_Max
|
||||
};
|
||||
|
||||
static const wxChar *headers[Col_Max] =
|
||||
{
|
||||
/* i18n-hint: (noun). A track contains waves, audio etc.*/
|
||||
_("Track"),
|
||||
/* i18n-hint: (noun)*/
|
||||
_("Label"),
|
||||
/* i18n-hint: (noun) of a label*/
|
||||
_("Start Time"),
|
||||
/* i18n-hint: (noun) of a label*/
|
||||
_("End Time")
|
||||
};
|
||||
|
||||
|
||||
class RowData
|
||||
{
|
||||
|
@ -146,10 +136,14 @@ LabelDialog::LabelDialog(wxWindow *parent,
|
|||
mGrid->CreateGrid(0, Col_Max);
|
||||
mGrid->SetDefaultCellAlignment(wxALIGN_LEFT, wxALIGN_CENTER);
|
||||
|
||||
int i;
|
||||
for (i = 0; i < Col_Max; i++) {
|
||||
mGrid->SetColLabelValue(i, headers[i]);
|
||||
}
|
||||
/* i18n-hint: (noun). A track contains waves, audio etc.*/
|
||||
mGrid->SetColLabelValue(0,_("Track"));
|
||||
/* i18n-hint: (noun)*/
|
||||
mGrid->SetColLabelValue(1,_("Label"));
|
||||
/* i18n-hint: (noun) of a label*/
|
||||
mGrid->SetColLabelValue(2,_("Start Time"));
|
||||
/* i18n-hint: (noun) of a label*/
|
||||
mGrid->SetColLabelValue(3,_("End Time"));
|
||||
|
||||
// Create and remember editors. No need to delete these as the wxGrid will
|
||||
// do it for us.
|
||||
|
|
|
@ -4074,7 +4074,9 @@ void AudacityProject::OnDisjoinLabels()
|
|||
EditByLabel( &WaveTrack::Disjoin, false );
|
||||
|
||||
PushState(
|
||||
/* i18n-hint: (verb) Audacity has just detached the labeled regions*/
|
||||
/* i18n-hint: (verb) Audacity has just detached the labeled regions.
|
||||
This message appears in history and tells you about something
|
||||
Audacity has done.*/
|
||||
_( "Detached labeled regions" ),
|
||||
/* i18n-hint: (verb)*/
|
||||
_( "Detach Labels" ) );
|
||||
|
|
|
@ -865,6 +865,9 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
|
|||
mMainPanel = Factory.AddPanel(
|
||||
this, wxPoint( left, top ), wxSize( width, height ) );
|
||||
pNotebook = Factory.AddNotebook( mMainPanel );
|
||||
/* i18n-hint: This is an experiemental feature where the main panel in
|
||||
Audacity is put on a notebook tab, and this is the name on that tab.
|
||||
Other tabs in that notebook may have instruments, patch panels etc.*/
|
||||
pPage = Factory.AddPage( pNotebook, _("Main Mix"));
|
||||
#else
|
||||
// Not using a notebook, so we place the track panel inside another panel,
|
||||
|
|
|
@ -1500,6 +1500,12 @@ bool Sequence::Append(samplePtr buffer, sampleFormat format,
|
|||
if (format != mSampleFormat) {
|
||||
temp = NewSamples(mMaxSamples, mSampleFormat);
|
||||
wxASSERT(temp);
|
||||
// TODO: Make error message clearer?
|
||||
/* i18n-hint: Error message shown when Audacity was trying to allocate
|
||||
memory to hold audio, and didn't have enough. 'New Samples' is
|
||||
the name of the C++ function that failed, for use by a developer,
|
||||
and should not be translated - though you could say
|
||||
'in function "NewSamples()"' to be clearer.*/
|
||||
if (!temp) {
|
||||
wxMessageBox(_("Memory allocation failed -- NewSamples"));
|
||||
return false;
|
||||
|
|
|
@ -70,14 +70,14 @@ preferences.
|
|||
//#include "commands/CommandManager.h"
|
||||
//#include "effects/Effect.h"
|
||||
|
||||
const int Enums::NumDbChoices = 14;
|
||||
const int Enums::NumDbChoices = 13;
|
||||
|
||||
const wxString Enums::DbChoices[] =
|
||||
{wxT("-20 dB"), wxT("-25 dB"), wxT("-30 dB"),
|
||||
wxT("-35 dB"), wxT("-40 dB"), wxT("-45 dB"),
|
||||
wxT("-50 dB"), wxT("-55 dB"), wxT("-60 dB"),
|
||||
wxT("-65 dB"), wxT("-70 dB"), wxT("-75 dB"),
|
||||
wxT("-80 dB"), wxT("Off-Skip")};
|
||||
wxT("-80 dB")};
|
||||
|
||||
const double Enums::Db2Signal[] =
|
||||
// -20dB -25dB -30dB -35dB -40dB -45dB -50dB -55dB -60dB -65dB -70dB -75dB -80dB Off
|
||||
|
|
|
@ -327,7 +327,7 @@ void TimerRecordDialog::PopulateOrExchange(ShuttleGui& S)
|
|||
S.SetBorder(5);
|
||||
S.StartVerticalLay(true);
|
||||
{
|
||||
wxString strFormat = wxT("099 h 060 m 060 s");
|
||||
wxString strFormat = _("099 h 060 m 060 s");
|
||||
S.StartStatic(_("Start Date and Time"), true);
|
||||
{
|
||||
m_pDatePickerCtrl_Start =
|
||||
|
@ -368,7 +368,7 @@ void TimerRecordDialog::PopulateOrExchange(ShuttleGui& S)
|
|||
|
||||
S.StartStatic(_("Duration"), true);
|
||||
{
|
||||
wxString strFormat1 = wxT("099 days 024 h 060 m 060 s");
|
||||
wxString strFormat1 = _("099 days 024 h 060 m 060 s");
|
||||
m_pTimeTextCtrl_Duration = new TimeTextCtrl(this, ID_TIMETEXT_DURATION, strFormat1);
|
||||
m_pTimeTextCtrl_Duration->SetName(_("Duration"));
|
||||
m_pTimeTextCtrl_Duration->SetTimeValue(m_TimeSpan_Duration.GetSeconds().ToDouble());
|
||||
|
|
|
@ -305,15 +305,21 @@ wxAccStatus TrackPanelAx::GetName( int childId, wxString* name )
|
|||
// LLL: Remove these during "refactor"
|
||||
if( t->GetMute() )
|
||||
{
|
||||
/* i18n-hint: This is for screen reader software and indicates that
|
||||
on this track mute is on.*/
|
||||
*name->Append( _( " Mute On" ) );
|
||||
}
|
||||
|
||||
if( t->GetSolo() )
|
||||
{
|
||||
/* i18n-hint: This is for screen reader software and indicates that
|
||||
on this track solo is on.*/
|
||||
*name->Append( _( " Solo On" ) );
|
||||
}
|
||||
if( t->GetSelected() )
|
||||
{
|
||||
/* i18n-hint: This is for screen reader software and indicates that
|
||||
this track is selected.*/
|
||||
*name->Append( _( " Select On" ) );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -85,6 +85,11 @@ sampleCount VoiceKey::OnForward (WaveTrack & t, sampleCount start, sampleCount l
|
|||
|
||||
if((mWindowSize) >= len+10){
|
||||
|
||||
/* i18n-hint: Voice key is an experiemental/incomplete feature that
|
||||
is used to navigate in vocal recordings, to move forwards and
|
||||
backwards by words. So 'key' is being used in the sense of an index.
|
||||
This error message means that you've selected too short
|
||||
a region of audio to be able to use this feature.*/
|
||||
wxMessageBox(_("Selection is too small to use voice key."));
|
||||
return start;
|
||||
}
|
||||
|
|
|
@ -1705,7 +1705,7 @@ void EqualizationDialog::setCurve(wxString curveName)
|
|||
break;
|
||||
if( i == mCurves.GetCount())
|
||||
{
|
||||
wxMessageBox( wxT("Requested curve not found, using 'unnamed'"), wxT("Curve not found"), wxOK|wxICON_ERROR );
|
||||
wxMessageBox( _("Requested curve not found, using 'unnamed'"), _("Curve not found"), wxOK|wxICON_ERROR );
|
||||
setCurve((int) mCurves.GetCount()-1);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -43,18 +43,18 @@ EffectLeveller::EffectLeveller()
|
|||
Init();
|
||||
}
|
||||
|
||||
#define NUM_PASSES_CHOICES 6
|
||||
#define NUM_PASSES_CHOICES 5
|
||||
|
||||
bool EffectLeveller::Init()
|
||||
{
|
||||
mLevellerNumPasses = gPrefs->Read(wxT("/CsPresets/LevellerNumPasses"), 2L);
|
||||
if ((mLevellerNumPasses < 0) || (mLevellerNumPasses >= NUM_PASSES_CHOICES)) { // corrupted Prefs?
|
||||
mLevellerNumPasses = 0;
|
||||
gPrefs->Write(wxT("/CsPresets/LevellerNumPasses"), 0);
|
||||
mLevellerNumPasses = gPrefs->Read(wxT("/CsPresets/LevellerNumPasses"), 2L) ;
|
||||
if ((mLevellerNumPasses <= 0) || (mLevellerNumPasses >= NUM_PASSES_CHOICES)) { // corrupted Prefs?
|
||||
mLevellerNumPasses = 1;
|
||||
gPrefs->Write(wxT("/CsPresets/LevellerNumPasses"), 1);
|
||||
}
|
||||
mLevellerDbChoiceIndex = gPrefs->Read(wxT("/CsPresets/LevellerDbChoiceIndex"), 10L);
|
||||
if ((mLevellerDbChoiceIndex < 0) || (mLevellerDbChoiceIndex >= Enums::NumDbChoices)) { // corrupted Prefs?
|
||||
mLevellerDbChoiceIndex = (Enums::NumDbChoices - 1); //Off-skip
|
||||
mLevellerDbChoiceIndex = 0; //Least dB
|
||||
gPrefs->Write(wxT("/CsPresets/LevellerDbChoiceIndex"), mLevellerDbChoiceIndex);
|
||||
}
|
||||
mLevellerDbSilenceThreshold = Enums::Db2Signal[mLevellerDbChoiceIndex];
|
||||
|
@ -66,7 +66,7 @@ bool EffectLeveller::Init()
|
|||
|
||||
bool EffectLeveller::CheckWhetherSkipEffect()
|
||||
{
|
||||
return ((mLevellerDbChoiceIndex >= (Enums::NumDbChoices - 1)) || (mLevellerNumPasses == 0));
|
||||
return mLevellerNumPasses == 0;
|
||||
}
|
||||
|
||||
void EffectLeveller::End()
|
||||
|
@ -116,7 +116,7 @@ bool EffectLeveller::PromptUser()
|
|||
{
|
||||
LevellerDialog dlog(this, mParent);
|
||||
dlog.mLevellerDbChoiceIndex = mLevellerDbChoiceIndex;
|
||||
dlog.mLevellerNumPasses = mLevellerNumPasses;
|
||||
dlog.mLevellerNumPassesChoicIndex = mLevellerNumPasses-1;
|
||||
dlog.TransferDataToWindow();
|
||||
|
||||
dlog.CentreOnParent();
|
||||
|
@ -126,7 +126,7 @@ bool EffectLeveller::PromptUser()
|
|||
return false;
|
||||
}
|
||||
|
||||
mLevellerNumPasses = dlog.mLevellerNumPasses;
|
||||
mLevellerNumPasses = dlog.mLevellerNumPassesChoicIndex+1;
|
||||
mLevellerDbChoiceIndex = dlog.mLevellerDbChoiceIndex;
|
||||
mLevellerDbSilenceThreshold = Enums::Db2Signal[mLevellerDbChoiceIndex];
|
||||
gPrefs->Write(wxT("/CsPresets/LevellerDbChoiceIndex"), mLevellerDbChoiceIndex);
|
||||
|
@ -192,7 +192,7 @@ LevellerDialog::LevellerDialog(EffectLeveller *effect, wxWindow *parent)
|
|||
: EffectDialog(parent, _("Leveller"), PROCESS_EFFECT),
|
||||
mEffect(effect)
|
||||
{
|
||||
mLevellerNumPasses = 0;
|
||||
mLevellerNumPassesChoicIndex = 0;//
|
||||
mLevellerDbChoiceIndex = 0;
|
||||
Init();
|
||||
}
|
||||
|
@ -202,8 +202,6 @@ void LevellerDialog::PopulateOrExchange(ShuttleGui & S)
|
|||
wxArrayString db(Enums::NumDbChoices, Enums::GetDbChoices());
|
||||
wxArrayString numPasses;
|
||||
|
||||
numPasses.Add(_("None-Skip"));
|
||||
|
||||
/* i18n-hint: Of strength of an effect. Not strongly.*/
|
||||
numPasses.Add(_("Light"));
|
||||
numPasses.Add(_("Moderate"));
|
||||
|
@ -229,7 +227,7 @@ void LevellerDialog::PopulateOrExchange(ShuttleGui & S)
|
|||
S.StartHorizontalLay();
|
||||
{
|
||||
S.TieChoice(_("Degree of Leveling:"),
|
||||
mLevellerNumPasses,
|
||||
mLevellerNumPassesChoicIndex,
|
||||
&numPasses);
|
||||
}
|
||||
S.EndHorizontalLay();
|
||||
|
@ -258,7 +256,7 @@ void LevellerDialog::OnPreview(wxCommandEvent &event)
|
|||
int oldLevellerNumPasses = mEffect->mLevellerNumPasses;
|
||||
|
||||
mEffect->mLevellerDbChoiceIndex = mLevellerDbChoiceIndex;
|
||||
mEffect->mLevellerNumPasses = mLevellerNumPasses;
|
||||
mEffect->mLevellerNumPasses = mLevellerNumPassesChoicIndex+1;
|
||||
|
||||
mEffect->Preview();
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ class LevellerDialog: public EffectDialog
|
|||
|
||||
public:
|
||||
int mLevellerDbChoiceIndex;
|
||||
int mLevellerNumPasses;
|
||||
int mLevellerNumPassesChoicIndex;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -96,7 +96,7 @@ ScoreAlignDialog::ScoreAlignDialog(wxWindow *parent, ScoreAlignParams ¶ms)
|
|||
S.StartMultiColumn(3, wxEXPAND | wxALIGN_CENTER_VERTICAL);
|
||||
S.SetStretchyCol(1);
|
||||
|
||||
mFramePeriodLabel = S.AddVariableText(_("Frame Period:"), true,
|
||||
mFramePeriodLabel = S.AddVariableText(_("Frame Period")+wxT(":"), true,
|
||||
wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
|
||||
S.SetStyle(wxSL_HORIZONTAL);
|
||||
mFramePeriodSlider = S.Id(ID_FRAMEPERIOD).AddSlider(wxT(""),
|
||||
|
@ -106,7 +106,7 @@ ScoreAlignDialog::ScoreAlignDialog(wxWindow *parent, ScoreAlignParams ¶ms)
|
|||
mFramePeriodText = S.AddVariableText(SA_DFT_FRAME_PERIOD_TEXT, true,
|
||||
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
|
||||
|
||||
mWindowSizeLabel = S.AddVariableText(_("Window Size:"), true,
|
||||
mWindowSizeLabel = S.AddVariableText(_("Window Size")+wxT(":"), true,
|
||||
wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
|
||||
S.SetStyle(wxSL_HORIZONTAL);
|
||||
mWindowSizeSlider = S.Id(ID_WINDOWSIZE).AddSlider(wxT(""),
|
||||
|
@ -136,7 +136,11 @@ ScoreAlignDialog::ScoreAlignDialog(wxWindow *parent, ScoreAlignParams ¶ms)
|
|||
mSilenceThresholdText = S.AddVariableText(SA_DFT_SILENCE_THRESHOLD_TEXT,
|
||||
true, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
|
||||
|
||||
mPresmoothLabel = S.AddVariableText(_("Presmooth Time:"), true,
|
||||
/* i18n-hint: The English would be clearer if it had 'Duration' rather than 'Time'
|
||||
This is a new experiemtnal effect, and until we have it documented in the user
|
||||
manual we don't have a clear description of what this parameter does.
|
||||
It is OK to leave it in English. */
|
||||
mPresmoothLabel = S.AddVariableText(_("Presmooth Time")+wxT(":"), true,
|
||||
wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
|
||||
S.SetStyle(wxSL_HORIZONTAL);
|
||||
mPresmoothSlider = S.Id(ID_PRESMOOTH).AddSlider(wxT(""),
|
||||
|
@ -145,7 +149,11 @@ ScoreAlignDialog::ScoreAlignDialog(wxWindow *parent, ScoreAlignParams ¶ms)
|
|||
mPresmoothText = S.AddVariableText(SA_DFT_PRESMOOTH_TIME_TEXT, true,
|
||||
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
|
||||
|
||||
mLineTimeLabel = S.AddVariableText(_("Line Time:"), true,
|
||||
/* i18n-hint: The English would be clearer if it had 'Duration' rather than 'Time'
|
||||
This is a new experiemtnal effect, and until we have it documented in the user
|
||||
manual we don't have a clear description of what this parameter does.
|
||||
It is OK to leave it in English. */
|
||||
mLineTimeLabel = S.AddVariableText(_("Line Time")+wxT(":"), true,
|
||||
wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
|
||||
S.SetStyle(wxSL_HORIZONTAL);
|
||||
mLineTimeSlider = S.Id(ID_LINETIME).AddSlider(wxT(""),
|
||||
|
@ -154,7 +162,11 @@ ScoreAlignDialog::ScoreAlignDialog(wxWindow *parent, ScoreAlignParams ¶ms)
|
|||
mLineTimeText = S.AddVariableText(SA_DFT_LINE_TIME_TEXT, true,
|
||||
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
|
||||
|
||||
mSmoothTimeLabel = S.AddVariableText(_("Smooth Time:"), true,
|
||||
/* i18n-hint: The English would be clearer if it had 'Duration' rather than 'Time'
|
||||
This is a new experiemtnal effect, and until we have it documented in the user
|
||||
manual we don't have a clear description of what this parameter does.
|
||||
It is OK to leave it in English. */
|
||||
mSmoothTimeLabel = S.AddVariableText(_("Smooth Time")+wxT(":"), true,
|
||||
wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
|
||||
S.SetStyle(wxSL_HORIZONTAL);
|
||||
mSmoothTimeSlider = S.Id(ID_SMOOTHTIME).AddSlider(wxT(""),
|
||||
|
|
|
@ -304,8 +304,11 @@ void TimeScaleDialog::PopulateOrExchange(ShuttleGui & S)
|
|||
S.StartHorizontalLay(wxEXPAND);
|
||||
{
|
||||
S.SetStyle(wxSL_HORIZONTAL);
|
||||
/* i18n-hint: Transients are sounds like the onset of cymbals or drums.
|
||||
They can get 'blurred' by sound stretching. This checkbox option
|
||||
may make them sharper again. */
|
||||
m_pCheckBox_PreAnalyze = S.Id(ID_CHECKBOX_PREANALYZE)
|
||||
.AddCheckBox(wxT("Dynamic Transient Sharpening"), wxT("Dynamic Transient Sharpening"));
|
||||
.AddCheckBox(_("Dynamic Transient Sharpening"), wxT("false"));
|
||||
}
|
||||
S.EndHorizontalLay();
|
||||
}
|
||||
|
|
|
@ -158,6 +158,10 @@ bool EffectToneGen::MakeTone(float *buffer, sampleCount len)
|
|||
Local variables are declared inside respective branch, globals are declared up.
|
||||
*/
|
||||
|
||||
bool bLogInterpolation = mbLogInterpolation;
|
||||
if( abs( frequency[1]-frequency[0] ) < 0.000000001 )
|
||||
bLogInterpolation = true;
|
||||
|
||||
// this for log interpolation
|
||||
if( mbLogInterpolation )
|
||||
{
|
||||
|
|
|
@ -891,7 +891,6 @@ void TruncSilenceDialog::PopulateOrExchange(ShuttleGui & S)
|
|||
10);
|
||||
/* i18n-hint: Leave as is unless your language has a different way to show ratios like 5:1*/
|
||||
S.AddUnits( _(":1") );
|
||||
//S.AddUnits(_("(9999999 or greater is off)"));
|
||||
S.TieChoice(_("Threshold for silence:"),
|
||||
mEffect->mTruncDbChoiceIndex,
|
||||
&choices);
|
||||
|
|
Loading…
Reference in New Issue