From 4c9bff73e309c83c2ac79e1c42e012a2af64ac76 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Sun, 25 Mar 2018 16:10:41 -0400 Subject: [PATCH] Substitute, don't concatenate! In Export. And one missed translation. --- src/export/ExportFFmpegDialogs.cpp | 3 +- src/export/ExportMP3.cpp | 65 ++++++++++++++---------------- 2 files changed, 32 insertions(+), 36 deletions(-) diff --git a/src/export/ExportFFmpegDialogs.cpp b/src/export/ExportFFmpegDialogs.cpp index 5835a0981..095d8e1cb 100644 --- a/src/export/ExportFFmpegDialogs.cpp +++ b/src/export/ExportFFmpegDialogs.cpp @@ -344,7 +344,8 @@ ExportFFmpegWMAOptions::ExportFFmpegWMAOptions(wxWindow *parent, int WXUNUSED(fo { for (unsigned int i=0; i < (sizeof(iWMABitRate)/sizeof(int)); i++) { - mBitRateNames.Add(wxString::Format(wxT("%i kbps"),iWMABitRate[i]/1000)); + /* i18n-hint: abbreviates thousands of bits per second */ + mBitRateNames.Add(wxString::Format(_("%i kbps"),iWMABitRate[i]/1000)); mBitRateLabels.push_back(iWMABitRate[i]); } diff --git a/src/export/ExportMP3.cpp b/src/export/ExportMP3.cpp index 0349c4a30..96e19b9c6 100644 --- a/src/export/ExportMP3.cpp +++ b/src/export/ExportMP3.cpp @@ -182,6 +182,21 @@ static CHOICES varRates[] = {wxT(""), QUALITY_9} }; +static const wxChar *const varRatesNumbers[] = { + wxT("220-260"), + wxT("200-250"), + wxT("170-210"), + wxT("155-195"), + wxT("145-185"), + wxT("110-150"), + wxT("95-135"), + wxT("80-120"), + wxT("65-105"), + wxT("45-85") +}; +static_assert( WXSIZEOF(varRates) == WXSIZEOF(varRatesNumbers), + "size mismatch" ); + static CHOICES varModes[] = { {wxT(""), ROUTINE_FAST }, @@ -219,48 +234,28 @@ static CHOICES sampRates[] = static void InitMP3_Statics() { for (size_t i=0; i < WXSIZEOF(fixRates); i++) - { - fixRates[i].name = wxT(""); - fixRates[i].name << fixRates[i].label << wxT(" ") << _("kbps"); - } - for (size_t i=0; i < WXSIZEOF(varRates); i++) - { - varRates[i].name = wxT(""); - varRates[i].name << i << wxT(", "); - } - varRates[0].name << wxT("220-260"); - varRates[1].name << wxT("200-250"); - varRates[2].name << wxT("170-210"); - varRates[3].name << wxT("155-195"); - varRates[4].name << wxT("145-185"); - varRates[5].name << wxT("110-150"); - varRates[6].name << wxT("95-135"); - varRates[7].name << wxT("80-120"); - varRates[8].name << wxT("65-105"); - varRates[9].name << wxT("45-85"); - for (size_t i=0; i < WXSIZEOF(varRates); i++) - varRates[i].name << wxT(" ") << _("kbps"); - varRates[0].name << wxT(" ") << _("(Best Quality)"); - varRates[9].name << wxT(" ") << _("(Smaller files)"); + fixRates[i].name = wxString::Format(_("%d kbps"), fixRates[i].label); + + varRates[0].name = wxString::Format( + _("%s kbps (Best Quality)"), varRatesNumbers[0] ); + + for (size_t i = 1; i < WXSIZEOF(varRates) - 1; i++) + varRates[i].name = wxString::Format( _("%s kbps"), varRatesNumbers[i] ); + + varRates[9].name = wxString::Format( + _("%s kbps (Smaller files)"), varRatesNumbers[9] ); varModes[0].name = _("Fast"); varModes[1].name = _("Standard"); - for (size_t i=0; i < WXSIZEOF(setRates); i++) - setRates[i].name = wxT(""); /* i18n-hint: Slightly humorous - as in use an insane precision with MP3.*/ - setRates[0].name << _("Insane" ) << wxT(", ") << 320; - setRates[1].name << _("Extreme" ) << wxT(", ") << 220 << wxT("-") << 260; - setRates[2].name << _("Standard") << wxT(", ") << 170 << wxT("-") << 210; - setRates[3].name << _("Medium" ) << wxT(", ") << 145 << wxT("-") << 185; - for (size_t i=0; i < WXSIZEOF(setRates); i++) - setRates[i].name << wxT(" ") << _("kbps"); + setRates[0].name = _("Insane, 320 kbps"); + setRates[1].name = _("Extreme, 220-260 kbps"); + setRates[2].name = _("Standard, 170-210 kbps"); + setRates[3].name = _("Medium, 145-185 kbps"); for (size_t i=0; i < WXSIZEOF(sampRates); i++) - { - sampRates[i].name = wxT(""); - sampRates[i].name << sampRates[i].label; - } + sampRates[i].name = wxString::Format( wxT("%d"), sampRates[i].label ); } class ExportMP3Options final : public wxPanelWrapper