Patch by Dziadek : localize MediaConverter.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40023 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Adrien Destugues 2010-12-29 10:40:46 +00:00
parent d462be1157
commit ae0f70fc69
4 changed files with 136 additions and 171 deletions

View File

@ -10,7 +10,9 @@
#include <string.h>
#include <Alert.h>
#include <Catalog.h>
#include <fs_attr.h>
#include <Locale.h>
#include <MediaFile.h>
#include <MediaTrack.h>
#include <Mime.h>
@ -21,7 +23,10 @@
#include "MediaConverterWindow.h"
#include "MediaEncoderWindow.h"
#include "MessageConstants.h"
#include "Strings.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "MediaConverter"
const char APP_SIGNATURE[] = "application/x-vnd.Haiku-MediaConverter";
@ -125,11 +130,25 @@ MediaConverterApp::RefsReceived(BMessage* msg)
if (errors) {
BString alertText;
alertText << errors << " " << ((errors > 1) ? FILES : FILE)
<< NOTRECOGNIZE << "\n";
alertText << errorFiles;
BAlert* alert = new BAlert(ERROR_LOAD_STRING, alertText.String(),
CONTINUE_STRING , NULL, NULL, B_WIDTH_AS_USUAL, B_STOP_ALERT);
if (errors > 1) {
alertText = B_TRANSLATE(
"%amountOfFiles files were not recognized"
" as supported media files:");
BString amount;
amount << errors;
alertText.ReplaceAll("%amountOfFiles", amount);
}
else
{
alertText = B_TRANSLATE(
"1 file were not recognized as supported media file:");
}
alertText << "\n" << errorFiles;
BAlert* alert = new BAlert((errors > 1) ?
B_TRANSLATE("Error loading files") :
B_TRANSLATE("Error loading file"),
alertText.String(), B_TRANSLATE("Continue") , NULL, NULL,
B_WIDTH_AS_USUAL, B_STOP_ALERT);
alert->Go();
}
}
@ -268,14 +287,14 @@ MediaConverterApp::_RunConvert()
outEntry.GetRef(&outRef);
outFile = new BMediaFile(&outRef, fileFormat);
name.Prepend(" '");
name.Prepend(OUTPUT_FILE_STRING1);
name.Append("' ");
name.Append(OUTPUT_FILE_STRING2);
BString tmp(
B_TRANSLATE("Output file '%filename' created"));
tmp.ReplaceAll("%filename", name);
name = tmp;
} else {
name.Prepend(" '");
name.Prepend(OUTPUT_FILE_STRING3);
name.Append("'");
BString tmp(B_TRANSLATE("Error creating '%filename'"));
tmp.ReplaceAll("%filename", name);
name = tmp;
}
if (fWin->Lock()) {
@ -295,8 +314,9 @@ MediaConverterApp::_RunConvert()
fWin->RemoveSourceFile(srcIndex);
} else {
srcIndex++;
BString error(CONVERT_ERROR_STRING);
error << " '" << inRef.name << "'";
BString error(
B_TRANSLATE("Error converting '%filename'"));
error.ReplaceAll("%filename", inRef.name);
fWin->SetStatusMessage(error.String());
}
fWin->Unlock();
@ -371,7 +391,8 @@ MediaConverterApp::_ConvertFile(BMediaFile* inFile, BMediaFile* outFile,
if (outAudTrack != NULL) {
if (outAudTrack->SetQuality(audioQuality / 100.0f) != B_OK
&& fWin->Lock()) {
fWin->SetAudioQualityLabel(AUDIO_SUPPORT_STRING);
fWin->SetAudioQualityLabel(
B_TRANSLATE("Audio quality not supported"));
fWin->Unlock();
}
}
@ -435,10 +456,12 @@ MediaConverterApp::_ConvertFile(BMediaFile* inFile, BMediaFile* outFile,
delete encoderView;
encoderView = NULL;
videoQualitySupport = VIDEO_PARAMFORM_STRING;
videoQualitySupport =
B_TRANSLATE("Video using parameters form settings");
} else {
if (outVidTrack->SetQuality(videoQuality / 100.0f) >= B_OK)
videoQualitySupport = VIDEO_SUPPORT_STRING;
videoQualitySupport =
B_TRANSLATE("Video quality not supported");
}
if (videoQualitySupport && fWin->Lock()) {
fWin->SetVideoQualityLabel(videoQualitySupport);
@ -506,7 +529,7 @@ MediaConverterApp::_ConvertFile(BMediaFile* inFile, BMediaFile* outFile,
&mh)) != B_OK) {
fprintf(stderr, "Error reading video frame %Ld: %s\n", i,
strerror(ret));
status.SetTo(ERROR_READ_VIDEO_STRING);
status.SetTo(B_TRANSLATE("Error read video frame "));
status << i;
SetStatusMessage(status.String());
@ -517,7 +540,7 @@ MediaConverterApp::_ConvertFile(BMediaFile* inFile, BMediaFile* outFile,
mh.u.encoded_video.field_flags)) != B_OK) {
fprintf(stderr, "Error writing video frame %Ld: %s\n", i,
strerror(ret));
status.SetTo(ERROR_WRITE_VIDEO_STRING);
status.SetTo(B_TRANSLATE("Error writing video frame "));
status << i;
SetStatusMessage(status.String());
break;
@ -526,9 +549,11 @@ MediaConverterApp::_ConvertFile(BMediaFile* inFile, BMediaFile* outFile,
currPercent = (int16)floor(completePercent);
if (currPercent > lastPercent) {
lastPercent = currPercent;
status.SetTo(WRITE_VIDEO_STRING);
status.Append(" ");
status << currPercent << "% " << COMPLETE_STRING;
status.SetTo(
B_TRANSLATE("Writing video track: %percent complete"));
BString percent;
percent << currPercent << "%";
status.ReplaceAll("%percent", percent);
SetStatusMessage(status.String());
}
@ -561,7 +586,7 @@ MediaConverterApp::_ConvertFile(BMediaFile* inFile, BMediaFile* outFile,
if ((ret = inAudTrack->ReadFrames(audioBuffer, &framesRead,
&mh)) != B_OK) {
fprintf(stderr, "Error reading audio frames: %s\n", strerror(ret));
status.SetTo(ERROR_READ_AUDIO_STRING);
status.SetTo(B_TRANSLATE("Error read audio frame "));
status << i;
SetStatusMessage(status.String());
break;
@ -571,7 +596,7 @@ MediaConverterApp::_ConvertFile(BMediaFile* inFile, BMediaFile* outFile,
framesRead)) != B_OK) {
fprintf(stderr, "Error writing audio frames: %s\n",
strerror(ret));
status.SetTo(ERROR_WRITE_AUDIO_STRING);
status.SetTo(B_TRANSLATE("Error writing audio frame "));
status << i;
SetStatusMessage(status.String());
break;
@ -580,9 +605,11 @@ MediaConverterApp::_ConvertFile(BMediaFile* inFile, BMediaFile* outFile,
currPercent = (int16)floor(completePercent);
if (currPercent > lastPercent) {
lastPercent = currPercent;
status.SetTo(WRITE_AUDIO_STRING);
status.Append(" ");
status << currPercent << "% " << COMPLETE_STRING;
status.SetTo(
B_TRANSLATE("Writing audio track: %percent complete"));
BString percent;
percent << currPercent << "%";
status.ReplaceAll("%percent", percent);
SetStatusMessage(status.String());
}
}

View File

@ -13,9 +13,11 @@
#include <Application.h>
#include <Box.h>
#include <Button.h>
#include <Catalog.h>
#include <ControlLook.h>
#include <FilePanel.h>
#include <LayoutBuilder.h>
#include <Locale.h>
#include <Menu.h>
#include <MenuBar.h>
#include <MenuField.h>
@ -32,7 +34,11 @@
#include "MediaFileInfoView.h"
#include "MediaFileListView.h"
#include "MessageConstants.h"
#include "Strings.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "MediaConverter"
#define VERSION "1.3.0"
// #pragma mark - DirectoryFilter
@ -148,12 +154,15 @@ MediaConverterWindow::MediaConverterWindow(BRect frame)
B_ALIGN_USE_FULL_HEIGHT));
fOutputBox->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNLIMITED));
fFormatMenu = new BMenuField(NULL, FORMAT_LABEL, new BPopUpMenu(""));
fAudioMenu = new BMenuField(NULL, AUDIO_LABEL, new BPopUpMenu(""));
fVideoMenu = new BMenuField(NULL, VIDEO_LABEL, new BPopUpMenu(""));
fFormatMenu = new BMenuField(NULL, B_TRANSLATE("File format:"),
new BPopUpMenu(""));
fAudioMenu = new BMenuField(NULL, B_TRANSLATE("Audio encoding:"),
new BPopUpMenu(""));
fVideoMenu = new BMenuField(NULL, B_TRANSLATE("Video encoding:"),
new BPopUpMenu(""));
// output folder
fDestButton = new BButton(OUTPUT_FOLDER_LABEL,
fDestButton = new BButton(B_TRANSLATE("Output folder"),
new BMessage(OUTPUT_FOLDER_MESSAGE));
BAlignment labelAlignment(be_control_look->DefaultLabelAlignment());
fOutputFolder = new BStringView(NULL, defaultDirectory);
@ -191,11 +200,11 @@ MediaConverterWindow::MediaConverterWindow(BRect frame)
.Add(fAudioQualitySlider, 0, 7, 2, 1);
// buttons
fPreviewButton = new BButton(PREVIEW_BUTTON_LABEL,
fPreviewButton = new BButton(B_TRANSLATE("Preview"),
new BMessage(PREVIEW_MESSAGE));
fPreviewButton->SetEnabled(false);
fConvertButton = new BButton(CONVERT_LABEL,
fConvertButton = new BButton(B_TRANSLATE("Convert"),
new BMessage(CONVERT_BUTTON_MESSAGE));
// Status views
@ -279,27 +288,27 @@ MediaConverterWindow::MessageReceived(BMessage* msg)
case CONVERT_BUTTON_MESSAGE:
if (!fConverting) {
fConvertButton->SetLabel(CANCEL_LABEL);
fConvertButton->SetLabel(B_TRANSLATE("Cancel"));
fConverting = true;
SetStatusMessage(CONVERT_LABEL);
SetStatusMessage(B_TRANSLATE("Convert"));
SetEnabled(false, true);
BMessenger(be_app).SendMessage(START_CONVERSION_MESSAGE);
} else if (!fCancelling) {
fCancelling = true;
SetStatusMessage(CANCELLING_LABEL B_UTF8_ELLIPSIS);
SetStatusMessage(B_TRANSLATE("Cancelling" B_UTF8_ELLIPSIS));
BMessenger(be_app).SendMessage(CANCEL_CONVERSION_MESSAGE);
}
break;
case CONVERSION_DONE_MESSAGE:
{
SetStatusMessage(fCancelling ? CONV_CANCEL_LABEL
: CONV_COMPLETE_LABEL);
SetStatusMessage(fCancelling ? B_TRANSLATE("Conversion cancelled")
: B_TRANSLATE("Conversion completed"));
fConverting = false;
fCancelling = false;
bool enable = CountSourceFiles() > 0;
SetEnabled(enable, enable);
fConvertButton->SetLabel(CONVERT_LABEL);
fConvertButton->SetLabel(B_TRANSLATE("Convert"));
break;
}
@ -311,17 +320,20 @@ MediaConverterWindow::MessageReceived(BMessage* msg)
BMessage message(FOLDER_SELECT_MESSAGE);
fSaveFilePanel = new BFilePanel(B_OPEN_PANEL, NULL, NULL,
B_DIRECTORY_NODE, true, &message, NULL, false, true);
fSaveFilePanel->SetButtonLabel(B_DEFAULT_BUTTON, SELECT_LABEL);
fSaveFilePanel->SetButtonLabel(B_DEFAULT_BUTTON,
B_TRANSLATE("Select"));
fSaveFilePanel->SetTarget(this);
fSaveFilePanel->Window()->Lock();
fSaveFilePanel->Window()->SetTitle(SAVE_DIR_LABEL);
fSaveFilePanel->Window()->SetTitle(
B_TRANSLATE("MediaConverter+:SaveDirectory"));
BRect buttonRect
= fSaveFilePanel->Window()->ChildAt(0)->FindView(
"cancel button")->Frame();
buttonRect.right = buttonRect.left - 20;
buttonRect.left = buttonRect.right - 130;
selectThisDir = new BButton(buttonRect, NULL, SELECT_DIR_LABEL,
selectThisDir = new BButton(buttonRect, NULL,
B_TRANSLATE("Select this folder"),
new BMessage(SELECT_THIS_DIR_MESSAGE),
B_FOLLOW_BOTTOM | B_FOLLOW_RIGHT);
selectThisDir->SetTarget(this);
@ -372,14 +384,15 @@ MediaConverterWindow::MessageReceived(BMessage* msg)
case DISP_ABOUT_MESSAGE:
{
(new BAlert(ABOUT_TITLE_LABEL B_UTF8_ELLIPSIS,
BString title(B_TRANSLATE("About" B_UTF8_ELLIPSIS));
(new BAlert(title,
"MediaConverter\n"
VERSION"\n"
B_UTF8_COPYRIGHT" 1999, Be Incorporated.\n"
B_UTF8_COPYRIGHT" 2000-2004 Jun Suzuki\n"
B_UTF8_COPYRIGHT" 2007 Stephan Aßmus\n"
B_UTF8_COPYRIGHT" 2010 Haiku, Inc.",
OK_LABEL))->Go();
B_TRANSLATE("OK")))->Go();
break;
}
@ -424,8 +437,10 @@ MediaConverterWindow::MessageReceived(BMessage* msg)
if (status != B_OK && status != B_ALREADY_RUNNING) {
BString errorString;
errorString << LAUNCH_ERROR << strerror(status);
(new BAlert("", errorString.String(), OK_LABEL))->Go();
errorString << B_TRANSLATE("Error launching: ") <<
strerror(status);
(new BAlert("", errorString.String(),
B_TRANSLATE("OK")))->Go();
}
break;
}
@ -434,7 +449,8 @@ MediaConverterWindow::MessageReceived(BMessage* msg)
{
int32 value;
msg->FindInt32("be:value", &value);
snprintf(buffer, sizeof(buffer), VIDEO_QUALITY_LABEL, (int8)value);
snprintf(buffer, sizeof(buffer),
B_TRANSLATE("Video quality: %3d%%"), (int8)value);
fVideoQualitySlider->SetLabel(buffer);
fVideoQuality = value;
break;
@ -444,7 +460,8 @@ MediaConverterWindow::MessageReceived(BMessage* msg)
{
int32 value;
msg->FindInt32("be:value", &value);
snprintf(buffer, sizeof(buffer), AUDIO_QUALITY_LABEL, (int8)value);
snprintf(buffer, sizeof(buffer),
B_TRANSLATE("Audio quality: %3d%%"), (int8)value);
fAudioQualitySlider->SetLabel(buffer);
fAudioQuality = value;
break;
@ -464,7 +481,7 @@ MediaConverterWindow::QuitRequested()
return true;
} else if (!fCancelling) {
fCancelling = true;
SetStatusMessage(CANCELLING_LABEL);
SetStatusMessage(B_TRANSLATE("Cancelling"));
BMessenger(be_app).SendMessage(CANCEL_CONVERSION_MESSAGE);
}
return false;
@ -515,7 +532,8 @@ MediaConverterWindow::BuildAudioVideoMenus()
while (get_next_encoder(&cookie, mf_format, &format, &outfmt, &codec_info)
== B_OK) {
if (separator) {
menu->AddItem(new BMenuItem("No audio",
menu->AddItem(new BMenuItem(
B_TRANSLATE_WITH_CONTEXT("No audio", "Audio codecs list"),
new BMessage(AUDIO_CODEC_SELECT_MESSAGE)));
menu->AddSeparatorItem();
separator = false;
@ -538,7 +556,9 @@ MediaConverterWindow::BuildAudioVideoMenus()
item->SetMarked(true);
((BInvoker *)item)->Invoke();
} else {
item = new BMenuItem(NONE_LABEL, NULL);
item = new BMenuItem(
B_TRANSLATE_WITH_CONTEXT("None available", "Audio codecs"),
NULL);
menu->AddItem(item);
item->SetMarked(true);
fAudioMenu->SetEnabled(false);
@ -568,7 +588,8 @@ MediaConverterWindow::BuildAudioVideoMenus()
cookie = 0;
while (get_next_encoder(&cookie, mf_format, &format, &outfmt, &codec_info) == B_OK) {
if (separator) {
menu->AddItem(new BMenuItem("No video",
menu->AddItem(new BMenuItem(
B_TRANSLATE_WITH_CONTEXT("No video", "Video codecs list"),
new BMessage(VIDEO_CODEC_SELECT_MESSAGE)));
menu->AddSeparatorItem();
separator = false;
@ -586,7 +607,9 @@ MediaConverterWindow::BuildAudioVideoMenus()
item->SetMarked(true);
((BInvoker *)item)->Invoke();
} else {
item = new BMenuItem(NONE_LABEL, NULL);
item = new BMenuItem(
B_TRANSLATE_WITH_CONTEXT("None available", "Video codecs"),
NULL);
menu->AddItem(item);
item->SetMarked(true);
fVideoMenu->SetEnabled(false);
@ -814,61 +837,61 @@ void
MediaConverterWindow::_UpdateLabels()
{
if (fSourcesBox != NULL) {
fSourcesBox->SetLabel(SOURCE_BOX_LABEL);
fSourcesBox->SetLabel(B_TRANSLATE("Source files"));
_UpdateBBoxLayoutInsets(fSourcesBox);
}
if (fInfoBox != NULL)
fInfoBox->SetLabel(INFO_BOX_LABEL);
fInfoBox->SetLabel(B_TRANSLATE("File details"));
if (fOutputBox != NULL) {
fOutputBox->SetLabel(OUTPUT_BOX_LABEL);
fOutputBox->SetLabel(B_TRANSLATE("Output format"));
_UpdateBBoxLayoutInsets(fOutputBox);
}
if (fConvertButton != NULL)
fConvertButton->SetLabel(CONVERT_LABEL);
fConvertButton->SetLabel(B_TRANSLATE("Convert"));
if (fPreviewButton != NULL)
fPreviewButton->SetLabel(PREVIEW_BUTTON_LABEL);
fPreviewButton->SetLabel(B_TRANSLATE("Preview"));
if (fDestButton != NULL)
fDestButton->SetLabel(OUTPUT_FOLDER_LABEL);
fDestButton->SetLabel(B_TRANSLATE("Output folder"));
if (fVideoQualitySlider != NULL) {
char buffer[40];
snprintf(buffer, sizeof(buffer), VIDEO_QUALITY_LABEL,
snprintf(buffer, sizeof(buffer), B_TRANSLATE("Video quality: %3d%%"),
(int8)fVideoQuality);
fVideoQualitySlider->SetLabel(buffer);
fVideoQualitySlider->SetLimitLabels(SLIDER_LOW_LABEL,
SLIDER_HIGH_LABEL);
fVideoQualitySlider->SetLimitLabels(B_TRANSLATE("Low"),
B_TRANSLATE("High"));
}
if (fAudioQualitySlider != NULL) {
char buffer[40];
snprintf(buffer, sizeof(buffer), AUDIO_QUALITY_LABEL,
snprintf(buffer, sizeof(buffer), B_TRANSLATE("Audio quality: %3d%%"),
(int8)fAudioQuality);
fAudioQualitySlider->SetLabel(buffer);
fAudioQualitySlider->SetLimitLabels(SLIDER_LOW_LABEL,
SLIDER_HIGH_LABEL);
fAudioQualitySlider->SetLimitLabels(B_TRANSLATE("Low"),
B_TRANSLATE("High"));
}
if (fStartDurationTC != NULL)
fStartDurationTC->SetLabel(START_LABEL);
fStartDurationTC->SetLabel(B_TRANSLATE("Start [ms]: "));
if (fEndDurationTC != NULL)
fEndDurationTC->SetLabel(END_LABEL);
fEndDurationTC->SetLabel(B_TRANSLATE("End   [ms]: "));
if (fFormatMenu != NULL)
fFormatMenu->SetLabel(FORMAT_LABEL);
fFormatMenu->SetLabel(B_TRANSLATE("File format:"));
if (fAudioMenu != NULL)
fAudioMenu->SetLabel(AUDIO_LABEL);
fAudioMenu->SetLabel(B_TRANSLATE("Audio encoding:"));
if (fVideoMenu != NULL)
fVideoMenu->SetLabel(VIDEO_LABEL);
fVideoMenu->SetLabel(B_TRANSLATE("Video encoding:"));
SetFileMessage(DROP_MEDIA_FILE_LABEL);
SetFileMessage(B_TRANSLATE("Drop media files onto this window"));
}
@ -903,17 +926,20 @@ MediaConverterWindow::_CreateMenu()
BMenuItem* item;
BMenu* menu;
menu = new BMenu(FILE_MENU_LABEL);
item = new BMenuItem(OPEN_MENU_LABEL B_UTF8_ELLIPSIS,
menu = new BMenu(B_TRANSLATE_WITH_CONTEXT("File", "Menu"));
item = new BMenuItem(B_TRANSLATE_WITH_CONTEXT(
"Open" B_UTF8_ELLIPSIS, "Menu"),
new BMessage(OPEN_FILE_MESSAGE), 'O');
menu->AddItem(item);
menu->AddSeparatorItem();
item = new BMenuItem(ABOUT_MENU_LABEL B_UTF8_ELLIPSIS,
item = new BMenuItem(B_TRANSLATE_WITH_CONTEXT(
"About MediaConverter" B_UTF8_ELLIPSIS, "Menu"),
new BMessage(DISP_ABOUT_MESSAGE));
menu->AddItem(item);
menu->AddSeparatorItem();
item = new BMenuItem(QUIT_MENU_LABEL, new BMessage(QUIT_MESSAGE), 'Q');
item = new BMenuItem(B_TRANSLATE_WITH_CONTEXT("Quit", "Menu"),
new BMessage(QUIT_MESSAGE), 'Q');
menu->AddItem(item);
fMenuBar->AddItem(menu);

View File

@ -6,13 +6,17 @@
#include <stdio.h>
#include <Catalog.h>
#include <Locale.h>
#include <View.h>
#include "Strings.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "MediaConverter-EncoderWindow"
MediaEncoderWindow::MediaEncoderWindow(BRect frame, BView* view)
: BWindow(frame, ENCODER_PARAMETERS, B_DOCUMENT_WINDOW_LOOK,
: BWindow(frame, B_TRANSLATE("Encoder parameters"), B_DOCUMENT_WINDOW_LOOK,
B_MODAL_APP_WINDOW_FEEL,
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_ASYNCHRONOUS_CONTROLS)
{

View File

@ -1,92 +0,0 @@
// Copyright 1999, Be Incorporated. All Rights Reserved.
// Copyright 2000-2004, Jun Suzuki. All Rights Reserved.
// Copyright 2007, Stephan Aßmus. All Rights Reserved.
// This file may be used under the terms of the Be Sample Code License.
#ifndef STRINGS_H
#define STRINGS_H
#include <BeBuild.h>
#if B_BEOS_VERSION >= 0x520
typedef const char Char;
#if B_BEOS_VERSION>=0x530 // 0x530 RC3
#include <locale/Locale.h>
#else
#include <Locale.h>
#endif
#else
#define _T(str) str
typedef char Char;
#endif
#define VERSION "1.3.0"
#define SOURCE_BOX_LABEL _T("Source files")
#define INFO_BOX_LABEL _T("File details")
#define OUTPUT_BOX_LABEL _T("Output format")
#define FORMAT_LABEL _T("File format:")
#define VIDEO_LABEL _T("Video encoding:")
#define AUDIO_LABEL _T("Audio encoding:")
//
#define OUTPUT_FOLDER_LABEL _T("Output folder")
#define PREVIEW_BUTTON_LABEL _T("Preview")
#define START_LABEL _T("Start [ms]: ")
#define END_LABEL _T("End [ms]: ")
//
#define FORMAT_MENU_LABEL _T("Format")
#define VIDEO_MENU_LABEL _T("Video")
#define AUDIO_MENU_LABEL _T("Audio")
#define DURATION_LABEL _T("Duration:")
#define VIDEO_INFO_LABEL _T("Video:")
#define AUDIO_INFO_LABEL _T("Audio:")
#define CONVERT_LABEL _T("Convert")
#define CANCEL_LABEL _T("Cancel")
#define VIDEO_QUALITY_LABEL _T("Video quality: %3d%%")
#define AUDIO_QUALITY_LABEL _T("Audio quality: %3d%%")
#define SLIDER_LOW_LABEL _T("Low")
#define SLIDER_HIGH_LABEL _T("High")
#define NONE_LABEL _T("None available")
#define DROP_MEDIA_FILE_LABEL _T("Drop media files onto this window")
#define CANCELLING_LABEL _T("Cancelling")
#define ABOUT_TITLE_LABEL _T("About")
#define OK_LABEL _T("OK")
#define CONV_COMPLETE_LABEL _T("Conversion completed")
#define CONV_CANCEL_LABEL _T("Conversion cancelled")
#define SELECT_DIR_LABEL _T("Select this folder")
#define SELECT_LABEL _T("Select")
#define SAVE_DIR_LABEL _T("MediaConverter+:SaveDirectory")
#define NO_FILE_LABEL _T("No file selected")
//
#define FILE_MENU_LABEL _T("File")
#define OPEN_MENU_LABEL _T("Open")
#define ABOUT_MENU_LABEL _T("About MediaConverter")
#define QUIT_MENU_LABEL _T("Quit")
#define WRITE_AUDIO_STRING _T("Writing audio track:")
#define WRITE_VIDEO_STRING _T("Writing video track:")
#define COMPLETE_STRING _T("complete")
#define OUTPUT_FILE_STRING1 _T("Output file")
#define OUTPUT_FILE_STRING2 _T("created")
#define AUDIO_SUPPORT_STRING _T("Audio quality not supported")
#define VIDEO_SUPPORT_STRING _T("Video quality not supported")
#define VIDEO_PARAMFORM_STRING _T("Video using parameters form settings")
#define CONTINUE_STRING _T("Continue")
#define FILES _T("files")
#define FILE _T("file")
#define NOTRECOGNIZE _T(" were not recognized as supported media files:")
//
#define LAUNCH_ERROR _T("Error launching: ")
#define OUTPUT_FILE_STRING3 _T("Error creating")
#define CONVERT_ERROR_STRING _T("Error converting")
#define ERROR_WRITE_VIDEO_STRING _T("Error writing video frame ")
#define ERROR_WRITE_AUDIO_STRING _T("Error writing audio frame ")
#define ERROR_READ_VIDEO_STRING _T("Error read video frame ")
#define ERROR_READ_AUDIO_STRING _T("Error read audio frame ")
#define ERROR_LOAD_STRING _T("Error loading file")
#define ENCODER_PARAMETERS _T("Encoder parameters")
#endif // STRINGS_H