diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/1080to480/1080to480.C hvirtual-1.1.7/plugins/1080to480/1080to480.C
--- base-1.1.7/plugins/1080to480/1080to480.C	2003-05-15 05:18:42.000000000 +0200
+++ hvirtual-1.1.7/plugins/1080to480/1080to480.C	2003-09-28 00:29:07.000000000 +0200
@@ -10,6 +10,10 @@
 
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
 
 
 
@@ -76,9 +80,9 @@
 {
 	int x = 10, y = 10;
 
-	add_tool(odd_first = new _1080to480Option(client, this, 1, x, y, "Odd field first"));
+	add_tool(odd_first = new _1080to480Option(client, this, 1, x, y, _("Odd field first")));
 	y += 25;
-	add_tool(even_first = new _1080to480Option(client, this, 0, x, y, "Even field first"));
+	add_tool(even_first = new _1080to480Option(client, this, 0, x, y, _("Even field first")));
 
 	show_window();
 	flush();
@@ -149,7 +153,7 @@
 	if(temp) delete temp;
 }
 
-char* _1080to480Main::plugin_title() { return "1080 to 480"; }
+char* _1080to480Main::plugin_title() { return _("1080 to 480"); }
 int _1080to480Main::is_realtime() { return 1; }
 
 SHOW_GUI_MACRO(_1080to480Main, _1080to480Thread)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/720to480/720to480.C hvirtual-1.1.7/plugins/720to480/720to480.C
--- base-1.1.7/plugins/720to480/720to480.C	2003-05-15 02:13:57.000000000 +0200
+++ hvirtual-1.1.7/plugins/720to480/720to480.C	2003-10-05 18:27:39.000000000 +0200
@@ -7,6 +7,10 @@
 #include "mainprogress.h"
 #include "vframe.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
 
 
 #include <stdint.h>
@@ -53,14 +57,14 @@
 {
 	int x = 10, y = 10;
 
-	add_tool(odd_first = new _720to480Order(client, this, 1, x, y, "Odd field first"));
+	add_tool(odd_first = new _720to480Order(client, this, 1, x, y, _("Odd field first")));
 	y += 25;
-	add_tool(even_first = new _720to480Order(client, this, 0, x, y, "Even field first"));
+	add_tool(even_first = new _720to480Order(client, this, 0, x, y, _("Even field first")));
 
 // 	y += 25;
-// 	add_tool(forward = new _720to480Direction(client, this, FORWARD, x, y, "Downsample"));
+// 	add_tool(forward = new _720to480Direction(client, this, FORWARD, x, y, _("Downsample")));
 // 	y += 25;
-// 	add_tool(reverse = new _720to480Direction(client, this, REVERSE, x, y, "Upsample"));
+// 	add_tool(reverse = new _720to480Direction(client, this, REVERSE, x, y, _("Upsample")));
 // 
 	add_subwindow(new BC_OKButton(this));
 	add_subwindow(new BC_CancelButton(this));
@@ -171,7 +175,7 @@
 	if(temp) delete temp;
 }
 
-char* _720to480Main::plugin_title() { return "720 to 480"; }
+char* _720to480Main::plugin_title() { return _("720 to 480"); }
 int _720to480Main::is_realtime() { return 0; }
 
 double _720to480Main::get_framerate()
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/aging/aging.C hvirtual-1.1.7/plugins/aging/aging.C
--- base-1.1.7/plugins/aging/aging.C	2003-01-29 08:25:10.000000000 +0100
+++ hvirtual-1.1.7/plugins/aging/aging.C	2003-10-05 19:29:02.000000000 +0200
@@ -11,6 +11,10 @@
 #include <string.h>
 #include <unistd.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
 
 
 
@@ -52,7 +56,7 @@
 	if(aging_server) delete aging_server;
 }
 
-char* AgingMain::plugin_title() { return "AgingTV"; }
+char* AgingMain::plugin_title() { return _("AgingTV"); }
 int AgingMain::is_realtime() { return 1; }
 
 NEW_PICON_MACRO(AgingMain)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/aging/agingwindow.C hvirtual-1.1.7/plugins/aging/agingwindow.C
--- base-1.1.7/plugins/aging/agingwindow.C	2002-07-10 14:21:09.000000000 +0200
+++ hvirtual-1.1.7/plugins/aging/agingwindow.C	2003-10-05 20:10:57.000000000 +0200
@@ -2,6 +2,11 @@
 #include "agingwindow.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 PLUGIN_THREAD_OBJECT(AgingMain, AgingThread, AgingWindow)
 
 
@@ -31,8 +36,8 @@
 {
 	int x = 10, y = 10;
 	add_subwindow(new BC_Title(x, y, 
-		"Film aging from EffectTV\n"
-		"Copyright (C) 2001 FUKUCHI Kentarou"
+		_("Film aging from EffectTV\n"
+		"Copyright (C) 2001 FUKUCHI Kentarou")
 	));
 // 	
 // 	y += 50;
@@ -69,7 +74,7 @@
 
 
 AgingColor::AgingColor(int x, int y, AgingMain *plugin)
- : BC_CheckBox(x, y, plugin->config.colorage, "Grain")
+ : BC_CheckBox(x, y, plugin->config.colorage, _("Grain"))
 {
 	this->plugin = plugin;
 }
@@ -84,7 +89,7 @@
 
 
 AgingScratches::AgingScratches(int x, int y, AgingMain *plugin)
- : BC_CheckBox(x, y, plugin->config.scratch, "Scratch")
+ : BC_CheckBox(x, y, plugin->config.scratch, _("Scratch"))
 {
 	this->plugin;
 }
@@ -126,7 +131,7 @@
 
 
 AgingPits::AgingPits(int x, int y, AgingMain *plugin)
- : BC_CheckBox(x, y, plugin->config.pits, "Pits")
+ : BC_CheckBox(x, y, plugin->config.pits, _("Pits"))
 {
 	this->plugin = plugin;
 }
@@ -168,7 +173,7 @@
 
 
 AgingDust::AgingDust(int x, int y, AgingMain *plugin)
- : BC_CheckBox(x, y, plugin->config.dust, "Dust")
+ : BC_CheckBox(x, y, plugin->config.dust, _("Dust"))
 {
 	this->plugin = plugin;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/bandslide/bandslide.C hvirtual-1.1.7/plugins/bandslide/bandslide.C
--- base-1.1.7/plugins/bandslide/bandslide.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/bandslide/bandslide.C	2003-10-05 19:29:19.000000000 +0200
@@ -10,6 +10,10 @@
 
 #include <stdint.h>
 #include <string.h>
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
 
 
 
@@ -52,7 +56,7 @@
  : BC_Radial(x, 
 		y, 
 		plugin->direction == 0, 
-		"In")
+		_("In"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -74,7 +78,7 @@
  : BC_Radial(x, 
 		y, 
 		plugin->direction == 1, 
-		"Out")
+		_("Out"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -121,7 +125,7 @@
 void BandSlideWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(new BC_Title(x, y, "Bands:"));
+	add_subwindow(new BC_Title(x, y, _("Bands:")));
 	x += 50;
 	count = new BandSlideCount(plugin, 
 		this,
@@ -131,7 +135,7 @@
 
 	y += 30;
 	x = 10;
-	add_subwindow(new BC_Title(x, y, "Direction:"));
+	add_subwindow(new BC_Title(x, y, _("Direction:")));
 	x += 100;
 	add_subwindow(in = new BandSlideIn(plugin, 
 		this,
@@ -170,7 +174,7 @@
 	PLUGIN_DESTRUCTOR_MACRO
 }
 
-char* BandSlideMain::plugin_title() { return "BandSlide"; }
+char* BandSlideMain::plugin_title() { return _("BandSlide"); }
 int BandSlideMain::is_video() { return 1; }
 int BandSlideMain::is_transition() { return 1; }
 int BandSlideMain::uses_gui() { return 1; }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/bandwipe/bandwipe.C hvirtual-1.1.7/plugins/bandwipe/bandwipe.C
--- base-1.1.7/plugins/bandwipe/bandwipe.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/bandwipe/bandwipe.C	2003-10-05 20:11:21.000000000 +0200
@@ -11,6 +11,11 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -53,7 +58,7 @@
  : BC_Radial(x, 
 		y, 
 		plugin->direction == 0, 
-		"In")
+		_("In"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -75,7 +80,7 @@
  : BC_Radial(x, 
 		y, 
 		plugin->direction == 1, 
-		"Out")
+		_("Out"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -121,7 +126,7 @@
 void BandWipeWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(new BC_Title(x, y, "Bands:"));
+	add_subwindow(new BC_Title(x, y, _("Bands:")));
 	x += 50;
 	count = new BandWipeCount(plugin, 
 		this,
@@ -129,7 +134,7 @@
 		y);
 	count->create_objects();
 // 	y += 30;
-// 	add_subwindow(new BC_Title(x, y, "Direction:"));
+// 	add_subwindow(new BC_Title(x, y, _("Direction:")));
 // 	x += 100;
 // 	add_subwindow(in = new BandWipeIn(plugin, 
 // 		this,
@@ -169,7 +174,7 @@
 	PLUGIN_DESTRUCTOR_MACRO
 }
 
-char* BandWipeMain::plugin_title() { return "BandWipe"; }
+char* BandWipeMain::plugin_title() { return _("BandWipe"); }
 int BandWipeMain::is_video() { return 1; }
 int BandWipeMain::is_transition() { return 1; }
 int BandWipeMain::uses_gui() { return 1; }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/blur/blur.C hvirtual-1.1.7/plugins/blur/blur.C
--- base-1.1.7/plugins/blur/blur.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/blur/blur.C	2003-10-05 19:29:36.000000000 +0200
@@ -9,6 +9,10 @@
 #include <math.h>
 #include <stdint.h>
 #include <string.h>
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
 
 
 
@@ -104,7 +108,7 @@
 	}
 }
 
-char* BlurMain::plugin_title() { return "Blur"; }
+char* BlurMain::plugin_title() { return _("Blur"); }
 int BlurMain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/blur/blurwindow.C hvirtual-1.1.7/plugins/blur/blurwindow.C
--- base-1.1.7/plugins/blur/blurwindow.C	2002-08-09 15:36:55.000000000 +0200
+++ hvirtual-1.1.7/plugins/blur/blurwindow.C	2003-10-05 20:13:40.000000000 +0200
@@ -3,6 +3,10 @@
 #include "blurwindow.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
 
 PLUGIN_THREAD_OBJECT(BlurMain, BlurThread, BlurWindow)
 
@@ -32,14 +36,14 @@
 int BlurWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(new BC_Title(x, y, "Blur"));
+	add_subwindow(new BC_Title(x, y, _("Blur")));
 	y += 20;
 	add_subwindow(horizontal = new BlurHorizontal(client, this, x, y));
 	y += 30;
 	add_subwindow(vertical = new BlurVertical(client, this, x, y));
 	y += 35;
 	add_subwindow(radius = new BlurRadius(client, x, y));
-	add_subwindow(new BC_Title(x + 50, y, "Radius"));
+	add_subwindow(new BC_Title(x + 50, y, _("Radius")));
 	y += 50;
 	add_subwindow(a = new BlurA(client, x, y));
 	y += 30;
@@ -84,7 +88,7 @@
  : BC_CheckBox(x, 
  	y, 
 	client->config.vertical, 
-	"Vertical")
+	_("Vertical"))
 {
 	this->client = client;
 	this->window = window;
@@ -102,7 +106,7 @@
  : BC_CheckBox(x, 
  	y, 
 	client->config.horizontal, 
-	"Horizontal")
+	_("Horizontal"))
 {
 	this->client = client;
 	this->window = window;
@@ -120,7 +124,7 @@
 
 
 BlurA::BlurA(BlurMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.a, "Blur alpha")
+ : BC_CheckBox(x, y, client->config.a, _("Blur alpha"))
 {
 	this->client = client;
 }
@@ -132,7 +136,7 @@
 }
 
 BlurR::BlurR(BlurMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.r, "Blur red")
+ : BC_CheckBox(x, y, client->config.r, _("Blur red"))
 {
 	this->client = client;
 }
@@ -144,7 +148,7 @@
 }
 
 BlurG::BlurG(BlurMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.g, "Blur green")
+ : BC_CheckBox(x, y, client->config.g, _("Blur green"))
 {
 	this->client = client;
 }
@@ -156,7 +160,7 @@
 }
 
 BlurB::BlurB(BlurMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.b, "Blur blue")
+ : BC_CheckBox(x, y, client->config.b, _("Blur blue"))
 {
 	this->client = client;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/blurzoom/blurzoom.C hvirtual-1.1.7/plugins/blurzoom/blurzoom.C
--- base-1.1.7/plugins/blurzoom/blurzoom.C	2002-06-21 14:35:25.000000000 +0200
+++ hvirtual-1.1.7/plugins/blurzoom/blurzoom.C	2003-10-05 19:29:43.000000000 +0200
@@ -9,6 +9,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 PluginClient* new_plugin(PluginServer *server)
 {
 	return new BlurZoomMain(server);
@@ -51,7 +56,7 @@
 	if(defaults) delete defaults;
 }
 
-char* BlurZoomMain::plugin_title() { return "RadioacTV"; }
+char* BlurZoomMain::plugin_title() { return _("RadioacTV"); }
 int BlurZoomMain::is_realtime() { return 1; }
 
 VFrame* BlurZoomMain::new_picon()
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/blurzoom/blurzoomwindow.C hvirtual-1.1.7/plugins/blurzoom/blurzoomwindow.C
--- base-1.1.7/plugins/blurzoom/blurzoomwindow.C	2002-06-21 14:35:25.000000000 +0200
+++ hvirtual-1.1.7/plugins/blurzoom/blurzoomwindow.C	2003-10-05 18:39:31.000000000 +0200
@@ -1,6 +1,11 @@
 #include "bcdisplayinfo.h"
 #include "blurzoomwindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 BlurZoomThread::BlurZoomThread(BlurZoomMain *client)
  : Thread()
@@ -59,8 +64,8 @@
 {
 	int x = 10, y = 10;
 	add_subwindow(new BC_Title(x, y, 
-		"RadioacTV from EffectTV\n"
-		"Copyright (C) 2001 FUKUCHI Kentarou"
+		_("RadioacTV from EffectTV\n"
+		"Copyright (C) 2001 FUKUCHI Kentarou")
 	));
 
 	show_window();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/brightness/brightness.C hvirtual-1.1.7/plugins/brightness/brightness.C
--- base-1.1.7/plugins/brightness/brightness.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/brightness/brightness.C	2003-10-05 19:29:54.000000000 +0200
@@ -8,6 +8,11 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 #define SQR(a) ((a) * (a))
 
 REGISTER_PLUGIN(BrightnessMain)
@@ -73,7 +78,7 @@
 	if(engine) delete engine;
 }
 
-char* BrightnessMain::plugin_title() { return "Brightness/Contrast"; }
+char* BrightnessMain::plugin_title() { return _("Brightness/Contrast"); }
 int BrightnessMain::is_realtime() { return 1; }
 
 NEW_PICON_MACRO(BrightnessMain)	
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/brightness/brightnesswindow.C hvirtual-1.1.7/plugins/brightness/brightnesswindow.C
--- base-1.1.7/plugins/brightness/brightnesswindow.C	2002-07-18 18:16:47.000000000 +0200
+++ hvirtual-1.1.7/plugins/brightness/brightnesswindow.C	2003-10-05 18:40:11.000000000 +0200
@@ -1,6 +1,13 @@
 #include "bcdisplayinfo.h"
 #include "brightnesswindow.h"
 
+
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
+
 PLUGIN_THREAD_OBJECT(BrightnessMain, BrightnessThread, BrightnessWindow)
 
 
@@ -27,15 +34,15 @@
 int BrightnessWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(x, y, "Brightness/Contrast"));
+	add_tool(new BC_Title(x, y, _("Brightness/Contrast")));
 	y += 25;
-	add_tool(new BC_Title(x, y, "Brightness:"));
+	add_tool(new BC_Title(x, y,_("Brightness:")));
 	add_tool(brightness = new BrightnessSlider(client, 
 		&(client->config.brightness), 
 		x + 80, 
 		y));
 	y += 25;
-	add_tool(new BC_Title(x, y, "Contrast:"));
+	add_tool(new BC_Title(x, y, _("Contrast:")));
 	add_tool(contrast = new BrightnessSlider(client, 
 		&(client->config.contrast), 
 		x + 80, 
@@ -88,7 +95,7 @@
  : BC_CheckBox(x, 
  	y, 
 	client->config.luma,
-	"Boost luminance only")
+	_("Boost luminance only"))
 {
 	this->client = client;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/burn/burn.C hvirtual-1.1.7/plugins/burn/burn.C
--- base-1.1.7/plugins/burn/burn.C	2002-07-10 14:21:09.000000000 +0200
+++ hvirtual-1.1.7/plugins/burn/burn.C	2003-10-05 19:30:04.000000000 +0200
@@ -10,6 +10,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 PluginClient* new_plugin(PluginServer *server)
 {
 	return new BurnMain(server);
@@ -64,7 +69,7 @@
 	if(effecttv) delete effecttv;
 }
 
-char* BurnMain::plugin_title() { return "BurningTV"; }
+char* BurnMain::plugin_title() { return _("BurningTV"); }
 int BurnMain::is_realtime() { return 1; }
 
 NEW_PICON_MACRO(BurnMain)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/cdripper/cdripper.C hvirtual-1.1.7/plugins/cdripper/cdripper.C
--- base-1.1.7/plugins/cdripper/cdripper.C	2003-07-26 11:11:02.000000000 +0200
+++ hvirtual-1.1.7/plugins/cdripper/cdripper.C	2003-10-05 19:31:13.000000000 +0200
@@ -11,6 +11,11 @@
 #include <sys/types.h>
 #include <unistd.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 PluginClient* new_plugin(PluginServer *server)
 {
 	return new CDRipMain(server);
@@ -29,7 +34,7 @@
 	delete defaults;
 }
 
-char* CDRipMain::plugin_title() { return "CD Ripper"; }
+char* CDRipMain::plugin_title() { return _("CD Ripper"); }
 
 int CDRipMain::is_realtime() { return 0; }
 
@@ -107,7 +112,7 @@
 		ErrorBox window(PROGRAM_NAME ": CD Ripper",
 			info.get_abs_cursor_x(), 
 			info.get_abs_cursor_y());
-		window.create_objects("Can't open cdrom drive.");
+		window.create_objects(_("Can't open cdrom drive."));
 		window.run_window();
 		return 1;
 	}
@@ -139,7 +144,7 @@
  		ErrorBox window(PROGRAM_NAME ": CD Ripper",
 			info.get_abs_cursor_x(), 
 			info.get_abs_cursor_y());
-		window.create_objects("Can't get total from table of contents.");
+		window.create_objects(_("Can't get total from table of contents."));
 		window.run_window();
 		result = 1;
   	}
@@ -155,7 +160,7 @@
  			ErrorBox window(PROGRAM_NAME ": CD Ripper",
 				info.get_abs_cursor_x(), 
 				info.get_abs_cursor_y());
-			window.create_objects("Can't get table of contents entry.");
+			window.create_objects(_("Can't get table of contents entry."));
 			window.run_window();
 			result = 1;
 			break;
@@ -171,7 +176,7 @@
  		ErrorBox window(PROGRAM_NAME ": CD Ripper",
 			info.get_abs_cursor_x(), 
 			info.get_abs_cursor_y());
-		window.create_objects("Can't get table of contents leadout.");
+		window.create_objects(_("Can't get table of contents leadout."));
 		window.run_window();
 		result = 1;
 	}
@@ -186,7 +191,7 @@
  		ErrorBox window(PROGRAM_NAME ": CD Ripper",
 			info.get_abs_cursor_x(), 
 			info.get_abs_cursor_y());
-		window.create_objects("Start track is out of range.");
+		window.create_objects(_("Start track is out of range."));
 		window.run_window();
 		result = 1;
 	}
@@ -198,7 +203,7 @@
  		ErrorBox window(PROGRAM_NAME ": CD Ripper",
 			info.get_abs_cursor_x(), 
 			info.get_abs_cursor_y());
-		window.create_objects("End track is out of range.");
+		window.create_objects(_("End track is out of range."));
 		window.run_window();
 		result = 1;
 	}
@@ -210,7 +215,7 @@
  		ErrorBox window(PROGRAM_NAME ": CD Ripper",
 			info.get_abs_cursor_x(), 
 			info.get_abs_cursor_y());
-		window.create_objects("End position is out of range.");
+		window.create_objects(_("End position is out of range."));
 		window.run_window();
 		result = 1;
 	}
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/cdripper/cdripwindow.C hvirtual-1.1.7/plugins/cdripper/cdripwindow.C
--- base-1.1.7/plugins/cdripper/cdripwindow.C	2002-06-21 14:35:25.000000000 +0200
+++ hvirtual-1.1.7/plugins/cdripper/cdripwindow.C	2003-10-05 18:41:10.000000000 +0200
@@ -3,6 +3,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 CDRipWindow::CDRipWindow(CDRipMain *cdripper, int x, int y)
  : BC_Window(PROGRAM_NAME ": CD Ripper", 
  	x,
@@ -25,14 +30,14 @@
 int CDRipWindow::create_objects()
 {
 	int y = 10, x = 10;
-	add_tool(new BC_Title(x, y, "Select the range to transfer:")); y += 25;
-	add_tool(new BC_Title(x, y, "Track")); x += 70;
-	add_tool(new BC_Title(x, y, "Min")); x += 70;
-	add_tool(new BC_Title(x, y, "Sec")); x += 100;
-
-	add_tool(new BC_Title(x, y, "Track")); x += 70;
-	add_tool(new BC_Title(x, y, "Min")); x += 70;
-	add_tool(new BC_Title(x, y, "Sec")); x += 100;
+	add_tool(new BC_Title(x, y, _("Select the range to transfer:"))); y += 25;
+	add_tool(new BC_Title(x, y, _("Track"))); x += 70;
+	add_tool(new BC_Title(x, y, _("Min"))); x += 70;
+	add_tool(new BC_Title(x, y, _("Sec"))); x += 100;
+
+	add_tool(new BC_Title(x, y, _("Track"))); x += 70;
+	add_tool(new BC_Title(x, y, _("Min"))); x += 70;
+	add_tool(new BC_Title(x, y, _("Sec"))); x += 100;
 	
 	x = 10;  y += 25;
 	add_tool(track1 = new CDRipTextValue(this, &(cdripper->track1), x, y, 50));
@@ -49,12 +54,12 @@
 	add_tool(sec2 = new CDRipTextValue(this, &(cdripper->sec2), x, y, 50));
 
 	x = 10;   y += 30;
-	add_tool(new BC_Title(x, y, "From", LARGEFONT, RED));
+	add_tool(new BC_Title(x, y, _("From"), LARGEFONT, RED));
 	x += 240;
-	add_tool(new BC_Title(x, y, "To", LARGEFONT, RED));
+	add_tool(new BC_Title(x, y, _("To"), LARGEFONT, RED));
 
 	x = 10;   y += 35;
-	add_tool(new BC_Title(x, y, "CD Device:"));
+	add_tool(new BC_Title(x, y, _("CD Device:")));
 	x += 100;
 	add_tool(device = new CDRipWindowDevice(this, cdripper->device, x, y, 200));
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/chromakey/chromakey.C hvirtual-1.1.7/plugins/chromakey/chromakey.C
--- base-1.1.7/plugins/chromakey/chromakey.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/chromakey/chromakey.C	2003-10-05 19:31:44.000000000 +0200
@@ -14,6 +14,11 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -94,7 +99,7 @@
 		draw_line(x1 + i, y, x1 + i, y + 25);
 	}
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Hue:"));
+	add_subwindow(new BC_Title(x, y, _("Hue:")));
 	add_subwindow(hue = new ChromaKeyHue(plugin, x1, y));
 	y += 30;
 
@@ -106,15 +111,15 @@
 	}
 
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Value:"));
+	add_subwindow(new BC_Title(x, y, _("Value:")));
 	add_subwindow(value = new ChromaKeyValue(plugin, x1, y));
 
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Slope:"));
+	add_subwindow(new BC_Title(x, y, _("Slope:")));
 	add_subwindow(slope = new ChromaKeySlope(plugin, x1, y));
 
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Threshold:"));
+	add_subwindow(new BC_Title(x, y, _("Threshold:")));
 	add_subwindow(threshold = new ChromaKeyThreshold(plugin, x1, y));
 
 
@@ -215,7 +220,7 @@
 
 
 ChromaKeyUseValue::ChromaKeyUseValue(ChromaKey *plugin, int x, int y)
- : BC_CheckBox(x, y, plugin->config.use_value, "Use value")
+ : BC_CheckBox(x, y, plugin->config.use_value, _("Use value"))
 {
 	this->plugin = plugin;
 }
@@ -481,7 +486,7 @@
 }
 char* ChromaKey::plugin_title()
 {
-	return "Chroma key";
+	return _("Chroma key");
 }
 
 NEW_PICON_MACRO(ChromaKey)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/colorbalance/colorbalance.C hvirtual-1.1.7/plugins/colorbalance/colorbalance.C
--- base-1.1.7/plugins/colorbalance/colorbalance.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/colorbalance/colorbalance.C	2003-10-05 20:21:39.000000000 +0200
@@ -6,6 +6,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 #define SQR(a) ((a) * (a))
 
 REGISTER_PLUGIN(ColorBalanceMain)
@@ -312,7 +317,7 @@
 	}
 }
 
-char* ColorBalanceMain::plugin_title() { return "Color Balance"; }
+char* ColorBalanceMain::plugin_title() { return _("Color Balance"); }
 int ColorBalanceMain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/colorbalance/colorbalancewindow.C hvirtual-1.1.7/plugins/colorbalance/colorbalancewindow.C
--- base-1.1.7/plugins/colorbalance/colorbalancewindow.C	2002-08-05 02:02:47.000000000 +0200
+++ hvirtual-1.1.7/plugins/colorbalance/colorbalancewindow.C	2003-10-05 19:32:22.000000000 +0200
@@ -2,6 +2,11 @@
 #include "colorbalancewindow.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -34,22 +39,22 @@
 {
 //printf("ColorBalanceWindow::create_objects 1\n");
 	int x = 10, y = 10;
-	add_tool(new BC_Title(x, y, "Color Balance"));
+	add_tool(new BC_Title(x, y, _("Color Balance")));
 	y += 25;
 //printf("ColorBalanceWindow::create_objects 1\n");
-	add_tool(new BC_Title(x, y, "Cyan"));
+	add_tool(new BC_Title(x, y, _("Cyan")));
 	add_tool(cyan = new ColorBalanceSlider(client, &(client->config.cyan), x + 70, y));
-	add_tool(new BC_Title(x + 270, y, "Red"));
+	add_tool(new BC_Title(x + 270, y, _("Red")));
 	y += 25;
 //printf("ColorBalanceWindow::create_objects 1\n");
-	add_tool(new BC_Title(x, y, "Magenta"));
+	add_tool(new BC_Title(x, y, _("Magenta")));
 	add_tool(magenta = new ColorBalanceSlider(client, &(client->config.magenta), x + 70, y));
-	add_tool(new BC_Title(x + 270, y, "Green"));
+	add_tool(new BC_Title(x + 270, y, _("Green")));
 	y += 25;
 //printf("ColorBalanceWindow::create_objects 1\n");
-	add_tool(new BC_Title(x, y, "Yellow"));
+	add_tool(new BC_Title(x, y, _("Yellow")));
 	add_tool(yellow = new ColorBalanceSlider(client, &(client->config.yellow), x + 70, y));
-	add_tool(new BC_Title(x + 270, y, "Blue"));
+	add_tool(new BC_Title(x + 270, y, _("Blue")));
 	y += 25;
 //printf("ColorBalanceWindow::create_objects 1\n");
 	add_tool(preserve = new ColorBalancePreserve(client, x + 70, y));
@@ -95,7 +100,7 @@
  : BC_CheckBox(x, 
  	y, 
 	client->config.preserve, 
-	"Preserve luminosity")
+	_("Preserve luminosity"))
 {
 	this->client = client;
 }
@@ -114,7 +119,7 @@
  : BC_CheckBox(x, 
  	y, 
 	client->config.lock_params, 
-	"Lock parameters")
+	_("Lock parameters"))
 {
 	this->client = client;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/compressor/compressor.C hvirtual-1.1.7/plugins/compressor/compressor.C
--- base-1.1.7/plugins/compressor/compressor.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/compressor/compressor.C	2003-10-05 18:42:34.000000000 +0200
@@ -11,6 +11,11 @@
 #include <math.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -80,7 +85,7 @@
 
 char* CompressorEffect::plugin_title()
 {
-	return "Compressor";
+	return _("Compressor");
 }
 
 
@@ -702,26 +707,26 @@
 		get_h() - y - 70));
 	canvas->set_cursor(CROSS_CURSOR);
 	x = get_w() - 110;
-	add_subwindow(new BC_Title(x, y, "Preview secs:"));
+	add_subwindow(new BC_Title(x, y, _("Preview secs:")));
 	y += 20;
 	add_subwindow(preview = new CompressorPreview(plugin, x, y));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Reaction secs:"));
+	add_subwindow(new BC_Title(x, y, _("Reaction secs:")));
 	y += 20;
 	add_subwindow(reaction = new CompressorReaction(plugin, x, y));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Trigger:"));
+	add_subwindow(new BC_Title(x, y, _("Trigger:")));
 	y += 20;
 	add_subwindow(trigger = new CompressorTrigger(plugin, x, y));
 	y += 30;
 	add_subwindow(clear = new CompressorClear(plugin, x, y));
 	x = 10;
 	y = get_h() - 40;
-	add_subwindow(new BC_Title(x, y, "Point:"));
+	add_subwindow(new BC_Title(x, y, _("Point:")));
 	x += 50;
 	add_subwindow(x_text = new CompressorX(plugin, x, y));
 	x += 110;
-	add_subwindow(new BC_Title(x, y, "x"));
+	add_subwindow(new BC_Title(x, y, _("x")));
 	x += 20;
 	add_subwindow(y_text = new CompressorY(plugin, x, y));
 	draw_scales();
@@ -1051,7 +1056,7 @@
 
 
 CompressorClear::CompressorClear(CompressorEffect *plugin, int x, int y) 
- : BC_GenericButton(x, y, "Clear")
+ : BC_GenericButton(x, y, _("Clear"))
 {
 	this->plugin = plugin;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/crossfade/crossfade.C hvirtual-1.1.7/plugins/crossfade/crossfade.C
--- base-1.1.7/plugins/crossfade/crossfade.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/crossfade/crossfade.C	2003-10-05 19:32:29.000000000 +0200
@@ -4,6 +4,11 @@
 #include "picon_png.h"
 #include "vframe.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 REGISTER_PLUGIN(CrossfadeMain)
@@ -20,7 +25,7 @@
 {
 }
 
-char* CrossfadeMain::plugin_title() { return "Crossfade"; }
+char* CrossfadeMain::plugin_title() { return _("Crossfade"); }
 int CrossfadeMain::is_transition() { return 1; }
 int CrossfadeMain::uses_gui() { return 0; }
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/deinterlace/deinterlace.C hvirtual-1.1.7/plugins/deinterlace/deinterlace.C
--- base-1.1.7/plugins/deinterlace/deinterlace.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/deinterlace/deinterlace.C	2003-10-05 19:32:42.000000000 +0200
@@ -8,6 +8,11 @@
 #include "vframe.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -69,7 +74,7 @@
 	if(temp) delete temp;
 }
 
-char* DeInterlaceMain::plugin_title() { return "Deinterlace"; }
+char* DeInterlaceMain::plugin_title() { return _("Deinterlace"); }
 int DeInterlaceMain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/deinterlace/deinterwindow.C hvirtual-1.1.7/plugins/deinterlace/deinterwindow.C
--- base-1.1.7/plugins/deinterlace/deinterwindow.C	2003-03-24 08:36:31.000000000 +0100
+++ hvirtual-1.1.7/plugins/deinterlace/deinterwindow.C	2003-10-05 18:44:28.000000000 +0200
@@ -2,6 +2,11 @@
 #include "deinterwindow.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 PLUGIN_THREAD_OBJECT(DeInterlaceMain, DeInterlaceThread, DeInterlaceWindow)
@@ -31,26 +36,26 @@
 int DeInterlaceWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(x, y, "Select lines to keep"));
+	add_tool(new BC_Title(x, y, _("Select lines to keep")));
 	y += 25;
-	add_tool(none = new DeInterlaceOption(client, this, DEINTERLACE_NONE, x, y, "Do nothing"));
+	add_tool(none = new DeInterlaceOption(client, this, DEINTERLACE_NONE, x, y, _("Do nothing")));
 	y += 25;
-	add_tool(odd_fields = new DeInterlaceOption(client, this, DEINTERLACE_EVEN, x, y, "Odd lines"));
+	add_tool(odd_fields = new DeInterlaceOption(client, this, DEINTERLACE_EVEN, x, y, _("Odd lines")));
 	y += 25;
-	add_tool(even_fields = new DeInterlaceOption(client, this, DEINTERLACE_ODD, x, y, "Even lines"));
+	add_tool(even_fields = new DeInterlaceOption(client, this, DEINTERLACE_ODD, x, y, _("Even lines")));
 	y += 25;
-	add_tool(average_fields = new DeInterlaceOption(client, this, DEINTERLACE_AVG, x, y, "Average lines"));
+	add_tool(average_fields = new DeInterlaceOption(client, this, DEINTERLACE_AVG, x, y, _("Average lines")));
 	y += 25;
-	add_tool(swap_odd_fields = new DeInterlaceOption(client, this, DEINTERLACE_SWAP_ODD, x, y, "Swap odd fields"));
+	add_tool(swap_odd_fields = new DeInterlaceOption(client, this, DEINTERLACE_SWAP_ODD, x, y, _("Swap odd fields")));
 	y += 25;
-	add_tool(swap_even_fields = new DeInterlaceOption(client, this, DEINTERLACE_SWAP_EVEN, x, y, "Swap even fields"));
+	add_tool(swap_even_fields = new DeInterlaceOption(client, this, DEINTERLACE_SWAP_EVEN, x, y, _("Swap even fields")));
 	y += 25;
-	add_tool(avg_even = new DeInterlaceOption(client, this, DEINTERLACE_AVG_EVEN, x, y, "Average even lines"));
+	add_tool(avg_even = new DeInterlaceOption(client, this, DEINTERLACE_AVG_EVEN, x, y, _("Average even lines")));
 	draw_line(170, y + 5, 190, y + 5);
 	draw_line(190, y + 5, 190, y + 70);
 	draw_line(150, y + 70, 190, y + 70);
 	y += 25;
-	add_tool(avg_odd = new DeInterlaceOption(client, this, DEINTERLACE_AVG_ODD, x, y, "Average odd lines"));
+	add_tool(avg_odd = new DeInterlaceOption(client, this, DEINTERLACE_AVG_ODD, x, y, _("Average odd lines")));
 	draw_line(170, y + 5, 190, y + 5);
 	y += 30;
 	add_tool(adaptive = new DeInterlaceAdaptive(client, x, y));
@@ -69,7 +74,7 @@
 
 void DeInterlaceWindow::get_status_string(char *string, int changed_rows)
 {
-	sprintf(string, "Changed rows: %d\n", changed_rows);
+	sprintf(string, _("Changed rows: %d\n"), changed_rows);
 }
 
 int DeInterlaceWindow::set_mode(int mode, int recursive)
@@ -115,7 +120,7 @@
 
 
 DeInterlaceAdaptive::DeInterlaceAdaptive(DeInterlaceMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.adaptive, "Adaptive")
+ : BC_CheckBox(x, y, client->config.adaptive, _("Adaptive"))
 {
 	this->client = client;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/delayaudio/delayaudio.C hvirtual-1.1.7/plugins/delayaudio/delayaudio.C
--- base-1.1.7/plugins/delayaudio/delayaudio.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/delayaudio/delayaudio.C	2003-10-05 19:36:58.000000000 +0200
@@ -8,6 +8,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 PluginClient* new_plugin(PluginServer *server)
 {
@@ -46,7 +51,7 @@
 
 char* DelayAudio::plugin_title()
 {
-	return "Delay audio";
+	return _("Delay audio");
 }
 
 void DelayAudio::reset()
@@ -290,7 +295,7 @@
 
 int DelayAudioWindow::create_objects()
 {
-	add_subwindow(new BC_Title(10, 10, "Delay seconds:"));
+	add_subwindow(new BC_Title(10, 10, _("Delay seconds:")));
 	add_subwindow(length = new DelayAudioTextBox(plugin, 10, 40));
 	update_gui();
 	show_window();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/delayvideo/delayvideo.C hvirtual-1.1.7/plugins/delayvideo/delayvideo.C
--- base-1.1.7/plugins/delayvideo/delayvideo.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/delayvideo/delayvideo.C	2003-10-05 18:44:45.000000000 +0200
@@ -7,6 +7,11 @@
 #include "vframe.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 #include <string.h>
@@ -78,7 +83,7 @@
 {
 	int x = 10, y = 10;
 	
-	add_subwindow(new BC_Title(x, y, "Delay seconds:"));
+	add_subwindow(new BC_Title(x, y, _("Delay seconds:")));
 	y += 20;
 	add_subwindow(slider = new DelayVideoSlider(plugin, x, y));
 	update_gui();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/denoise/denoise.C hvirtual-1.1.7/plugins/denoise/denoise.C
--- base-1.1.7/plugins/denoise/denoise.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/denoise/denoise.C	2003-10-05 20:46:06.000000000 +0200
@@ -10,6 +10,10 @@
 #include <math.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
 
 
 
@@ -112,7 +116,7 @@
 
 char* DenoiseEffect::plugin_title()
 {
-	return "Denoise";
+	return _("Denoise");
 }
 
 
@@ -784,7 +788,7 @@
 {
 	int x = 10, y = 10;
 	
-	add_subwindow(new BC_Title(x, y, "Level:"));
+	add_subwindow(new BC_Title(x, y, _("Level:")));
 	x += 70;
 	add_subwindow(scale = new DenoiseLevel(plugin, x, y));
 	show_window();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/denoisefft/denoisefft.C hvirtual-1.1.7/plugins/denoisefft/denoisefft.C
--- base-1.1.7/plugins/denoisefft/denoisefft.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/denoisefft/denoisefft.C	2003-10-05 18:45:14.000000000 +0200
@@ -15,6 +15,11 @@
 #include <math.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -225,7 +230,7 @@
 }
 
 DenoiseFFTCollecting::DenoiseFFTCollecting(DenoiseFFTEffect *plugin, int x, int y)
- : BC_CheckBox(x, y, plugin->config.collecting, "Collect noise")
+ : BC_CheckBox(x, y, plugin->config.collecting, _("Collect noise"))
 {
 	this->plugin = plugin;
 }
@@ -270,12 +275,12 @@
 {
 	int x = 10, y = 10;
 
-	add_subwindow(new BC_Title(x, y, "Denoise power:"));
+	add_subwindow(new BC_Title(x, y, _("Denoise power:")));
 	add_subwindow(level = new DenoiseFFTLevel(plugin, x + 130, y));
 	y += 35;
 	add_subwindow(collect = new DenoiseFFTCollecting(plugin, x, y));
 // 	y += 35;
-// 	add_subwindow(new BC_Title(x, y, "Window size:"));
+// 	add_subwindow(new BC_Title(x, y, _("Window size:")));
 // 	add_subwindow(size = new DenoiseFFTSize(plugin, x + 100, y));
 	show_window();
 	flush();
@@ -351,7 +356,7 @@
 
 char* DenoiseFFTEffect::plugin_title()
 {
-	return "DenoiseFFT";
+	return _("DenoiseFFT");
 }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/denoisemjpeg/denoisemjpeg.C hvirtual-1.1.7/plugins/denoisemjpeg/denoisemjpeg.C
--- base-1.1.7/plugins/denoisemjpeg/denoisemjpeg.C	2002-06-28 18:05:04.000000000 +0200
+++ hvirtual-1.1.7/plugins/denoisemjpeg/denoisemjpeg.C	2003-10-05 19:38:14.000000000 +0200
@@ -8,6 +8,11 @@
 #include "vframe.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -230,7 +235,7 @@
  : BC_CheckBox(x, 
  	y, 
 	plugin->config.deinterlace,
-	"Deinterlace")
+	_("Deinterlace"))
 {
 	this->plugin = plugin;
 }
@@ -252,7 +257,7 @@
  : BC_Radial(x, 
  	y, 
 	plugin->config.mode == 0,
-	"Progressive")
+	_("Progressive"))
 {
 	this->plugin = plugin;
 	this->gui = gui;
@@ -271,7 +276,7 @@
  : BC_Radial(x, 
  	y, 
 	plugin->config.mode == 1,
-	"Interlaced")
+	_("Interlaced"))
 {
 	this->plugin = plugin;
 	this->gui = gui;
@@ -290,7 +295,7 @@
  : BC_Radial(x, 
  	y, 
 	plugin->config.mode == 2,
-	"Fast")
+	_("Fast"))
 {
 	this->plugin = plugin;
 	this->gui = gui;
@@ -356,35 +361,35 @@
 void DenoiseMJPEGWindow::create_objects()
 {
 	int x1 = 10, y1 = 20, x2 = 140, x3 = 180, y2 = 10, margin = 30, margin2 = 25;
-	add_subwindow(new BC_Title(x1, y1, "Search radius:"));
+	add_subwindow(new BC_Title(x1, y1, _("Search radius:")));
 	add_subwindow(radius = new DenoiseMJPEGRadius(plugin, x2, y2));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y1, "Pass 1 threshold:"));
+	add_subwindow(new BC_Title(x1, y1, _("Pass 1 threshold:")));
 	add_subwindow(threshold1 = new DenoiseMJPEGThresh(plugin, x3, y2));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y1, "Pass 2 threshold:"));
+	add_subwindow(new BC_Title(x1, y1, _("Pass 2 threshold:")));
 	add_subwindow(threshold2 = new DenoiseMJPEGThresh2(plugin, x2, y2));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y1, "Sharpness:"));
+	add_subwindow(new BC_Title(x1, y1, _("Sharpness:")));
 	add_subwindow(sharpness = new DenoiseMJPEGSharp(plugin, x3, y2));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y1, "Luma contrast:"));
+	add_subwindow(new BC_Title(x1, y1, _("Luma contrast:")));
 	add_subwindow(lcontrast = new DenoiseMJPEGLContrast(plugin, x2, y2));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y1, "Chroma contrast:"));
+	add_subwindow(new BC_Title(x1, y1, _("Chroma contrast:")));
 	add_subwindow(ccontrast = new DenoiseMJPEGCContrast(plugin, x3, y2));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y1, "Delay frames:"));
+	add_subwindow(new BC_Title(x1, y1, _("Delay frames:")));
 	add_subwindow(delay = new DenoiseMJPEGDelay(plugin, x2, y2));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y1, "Mode:"));
+	add_subwindow(new BC_Title(x1, y1, _("Mode:")));
 	add_subwindow(interlaced = new DenoiseMJPEGModeInterlaced(plugin, this, x2, y1));
 	y1 += margin2;
 	y2 += margin2;
@@ -468,7 +473,7 @@
 
 char* DenoiseMJPEG::plugin_title()
 {
-	return "Denoise video2";
+	return _("Denoise video2");
 }
 
 VFrame* DenoiseMJPEG::new_picon()
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/denoisevideo/denoisevideo.C hvirtual-1.1.7/plugins/denoisevideo/denoisevideo.C
--- base-1.1.7/plugins/denoisevideo/denoisevideo.C	2002-12-16 18:40:37.000000000 +0100
+++ hvirtual-1.1.7/plugins/denoisevideo/denoisevideo.C	2003-10-05 18:45:51.000000000 +0200
@@ -14,6 +14,11 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 REGISTER_PLUGIN(DenoiseVideo)
@@ -166,21 +171,21 @@
 void DenoiseVideoWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(new BC_Title(x, y, "Frames to accumulate:"));
+	add_subwindow(new BC_Title(x, y, _("Frames to accumulate:")));
 	y += 20;
 	add_subwindow(frames = new DenoiseVideoFrames(plugin, x, y));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Threshold:"));
+	add_subwindow(new BC_Title(x, y, _("Threshold:")));
 	y += 20;
 	add_subwindow(threshold = new DenoiseVideoThreshold(plugin, x, y));
 	y += 40;
-	add_subwindow(do_r = new DenoiseVideoToggle(plugin, this, x, y, &plugin->config.do_r, "Red"));
+	add_subwindow(do_r = new DenoiseVideoToggle(plugin, this, x, y, &plugin->config.do_r, _("Red")));
 	y += 30;
-	add_subwindow(do_g = new DenoiseVideoToggle(plugin, this, x, y, &plugin->config.do_g, "Green"));
+	add_subwindow(do_g = new DenoiseVideoToggle(plugin, this, x, y, &plugin->config.do_g, _("Green")));
 	y += 30;
-	add_subwindow(do_b = new DenoiseVideoToggle(plugin, this, x, y, &plugin->config.do_b, "Blue"));
+	add_subwindow(do_b = new DenoiseVideoToggle(plugin, this, x, y, &plugin->config.do_b, _("Blue")));
 	y += 30;
-	add_subwindow(do_a = new DenoiseVideoToggle(plugin, this, x, y, &plugin->config.do_a, "Alpha"));
+	add_subwindow(do_a = new DenoiseVideoToggle(plugin, this, x, y, &plugin->config.do_a, _("Alpha")));
 	show_window();
 	flush();
 }
@@ -316,7 +321,7 @@
 
 char* DenoiseVideo::plugin_title()
 {
-	return "Denoise video";
+	return _("Denoise video");
 }
 
 NEW_PICON_MACRO(DenoiseVideo)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/despike/despike.C hvirtual-1.1.7/plugins/despike/despike.C
--- base-1.1.7/plugins/despike/despike.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/despike/despike.C	2003-10-05 19:38:29.000000000 +0200
@@ -11,6 +11,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 REGISTER_PLUGIN(Despike)
 
@@ -28,7 +33,7 @@
 	PLUGIN_DESTRUCTOR_MACRO
 }
 
-char* Despike::plugin_title() { return "Despike"; }
+char* Despike::plugin_title() { return _("Despike"); }
 int Despike::is_realtime() { return 1; }
 
 NEW_PICON_MACRO(Despike)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/despike/despikewindow.C hvirtual-1.1.7/plugins/despike/despikewindow.C
--- base-1.1.7/plugins/despike/despikewindow.C	2002-07-18 18:16:47.000000000 +0200
+++ hvirtual-1.1.7/plugins/despike/despikewindow.C	2003-10-05 18:45:59.000000000 +0200
@@ -3,6 +3,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 PLUGIN_THREAD_OBJECT(Despike, DespikeThread, DespikeWindow)
 
@@ -33,11 +38,11 @@
 int DespikeWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(5, y, "Maximum level:"));
+	add_tool(new BC_Title(5, y, _("Maximum level:")));
 	y += 20;
 	add_tool(level = new DespikeLevel(despike, x, y));
 	y += 30;
-	add_tool(new BC_Title(5, y, "Maximum rate of change:"));
+	add_tool(new BC_Title(5, y, _("Maximum rate of change:")));
 	y += 20;
 	add_tool(slope = new DespikeSlope(despike, x, y));
 	show_window();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/dissolve/dissolve.C hvirtual-1.1.7/plugins/dissolve/dissolve.C
--- base-1.1.7/plugins/dissolve/dissolve.C	2002-07-18 18:16:47.000000000 +0200
+++ hvirtual-1.1.7/plugins/dissolve/dissolve.C	2003-10-05 19:40:08.000000000 +0200
@@ -4,6 +4,11 @@
 #include "picon_png.h"
 #include "vframe.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 PluginClient* new_plugin(PluginServer *server)
 {
 	return new DissolveMain(server);
@@ -25,7 +30,7 @@
 		delete overlayer;
 }
 
-char* DissolveMain::plugin_title() { return "Dissolve"; }
+char* DissolveMain::plugin_title() { return _("Dissolve"); }
 int DissolveMain::is_video() { return 1; }
 int DissolveMain::is_transition() { return 1; }
 int DissolveMain::uses_gui() { return 0; }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/dot/dot.C hvirtual-1.1.7/plugins/dot/dot.C
--- base-1.1.7/plugins/dot/dot.C	2002-10-18 17:51:05.000000000 +0200
+++ hvirtual-1.1.7/plugins/dot/dot.C	2003-10-05 18:46:11.000000000 +0200
@@ -10,6 +10,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 PluginClient* new_plugin(PluginServer *server)
 {
 	return new DotMain(server);
@@ -70,7 +75,7 @@
 	if(defaults) delete defaults;
 }
 
-char* DotMain::plugin_title() { return "DotTV"; }
+char* DotMain::plugin_title() { return _("DotTV"); }
 int DotMain::is_realtime() { return 1; }
 
 NEW_PICON_MACRO(DotMain)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/dot/dotwindow.C hvirtual-1.1.7/plugins/dot/dotwindow.C
--- base-1.1.7/plugins/dot/dotwindow.C	2002-07-10 14:21:09.000000000 +0200
+++ hvirtual-1.1.7/plugins/dot/dotwindow.C	2003-10-05 20:47:48.000000000 +0200
@@ -1,6 +1,10 @@
 #include "bcdisplayinfo.h"
 #include "dotwindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
 
 PLUGIN_THREAD_OBJECT(DotMain, DotThread, DotWindow)
 
@@ -32,8 +36,8 @@
 {
 	int x = 10, y = 10;
 	add_subwindow(new BC_Title(x, y, 
-		"DotTV from EffectTV\n"
-		"Copyright (C) 2001 FUKUCHI Kentarou"
+		_("DotTV from EffectTV\n"
+		"Copyright (C) 2001 FUKUCHI Kentarou")
 	));
 
 	show_window();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/downsample/downsample.C hvirtual-1.1.7/plugins/downsample/downsample.C
--- base-1.1.7/plugins/downsample/downsample.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/downsample/downsample.C	2003-10-05 18:46:46.000000000 +0200
@@ -12,6 +12,11 @@
 #include "pluginvclient.h"
 #include "vframe.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 class DownSampleMain;
 class DownSampleServer;
@@ -247,7 +252,7 @@
 {
 	int x = 10, y = 10;
 
-	add_subwindow(new BC_Title(x, y, "Horizontal"));
+	add_subwindow(new BC_Title(x, y, _("Horizontal")));
 	y += 30;
 	add_subwindow(h = new DownSampleSize(plugin, 
 		x, 
@@ -256,7 +261,7 @@
 		1,
 		100));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Horizontal offset"));
+	add_subwindow(new BC_Title(x, y, _("Horizontal offset")));
 	y += 30;
 	add_subwindow(h_x = new DownSampleSize(plugin, 
 		x, 
@@ -265,7 +270,7 @@
 		0,
 		100));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Vertical"));
+	add_subwindow(new BC_Title(x, y, _("Vertical")));
 	y += 30;
 	add_subwindow(v = new DownSampleSize(plugin, 
 		x, 
@@ -274,7 +279,7 @@
 		1,
 		100));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Vertical offset"));
+	add_subwindow(new BC_Title(x, y, _("Vertical offset")));
 	y += 30;
 	add_subwindow(v_y = new DownSampleSize(plugin, 
 		x, 
@@ -287,25 +292,25 @@
 		x, 
 		y, 
 		&plugin->config.r, 
-		"Red"));
+		_("Red")));
 	y += 30;
 	add_subwindow(g = new DownSampleToggle(plugin, 
 		x, 
 		y, 
 		&plugin->config.g, 
-		"Green"));
+		_("Green")));
 	y += 30;
 	add_subwindow(b = new DownSampleToggle(plugin, 
 		x, 
 		y, 
 		&plugin->config.b, 
-		"Blue"));
+		_("Blue")));
 	y += 30;
 	add_subwindow(a = new DownSampleToggle(plugin, 
 		x, 
 		y, 
 		&plugin->config.a, 
-		"Alpha"));
+		_("Alpha")));
 	y += 30;
 
 	show_window();
@@ -394,7 +399,7 @@
 	if(engine) delete engine;
 }
 
-char* DownSampleMain::plugin_title() { return "Downsample"; }
+char* DownSampleMain::plugin_title() { return _("Downsample"); }
 int DownSampleMain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/fieldframe/fieldframe.C hvirtual-1.1.7/plugins/fieldframe/fieldframe.C
--- base-1.1.7/plugins/fieldframe/fieldframe.C	2003-05-14 08:28:13.000000000 +0200
+++ hvirtual-1.1.7/plugins/fieldframe/fieldframe.C	2003-10-05 19:40:39.000000000 +0200
@@ -10,6 +10,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 #define TOP_FIELD_FIRST 0
 #define BOTTOM_FIELD_FIRST 1
 
@@ -170,7 +175,7 @@
  : BC_Radial(x, 
 	y, 
 	plugin->config.field_dominance == TOP_FIELD_FIRST,
-	"Top field first")
+	_("Top field first"))
 {
 	this->plugin = plugin;
 	this->gui = gui;
@@ -194,7 +199,7 @@
  : BC_Radial(x, 
 	y, 
 	plugin->config.field_dominance == BOTTOM_FIELD_FIRST,
-	"Bottom field first")
+	_("Bottom field first"))
 {
 	this->plugin = plugin;
 	this->gui = gui;
@@ -250,7 +255,7 @@
 
 char* FieldFrame::plugin_title()
 {
-	return "Fields to frames";
+	return _("Fields to frames");
 }
 
 NEW_PICON_MACRO(FieldFrame)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/flash/flash.C hvirtual-1.1.7/plugins/flash/flash.C
--- base-1.1.7/plugins/flash/flash.C	2002-10-18 22:23:14.000000000 +0200
+++ hvirtual-1.1.7/plugins/flash/flash.C	2003-10-05 18:46:55.000000000 +0200
@@ -5,6 +5,11 @@
 #include "vframe.h"
 #include <stdint.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 PluginClient* new_plugin(PluginServer *server)
 {
 	return new FlashMain(server);
@@ -23,7 +28,7 @@
 {
 }
 
-char* FlashMain::plugin_title() { return "Flash"; }
+char* FlashMain::plugin_title() { return _("Flash"); }
 int FlashMain::is_video() { return 1; }
 int FlashMain::is_transition() { return 1; }
 int FlashMain::uses_gui() { return 0; }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/flip/flip.C hvirtual-1.1.7/plugins/flip/flip.C
--- base-1.1.7/plugins/flip/flip.C	2002-06-28 17:17:38.000000000 +0200
+++ hvirtual-1.1.7/plugins/flip/flip.C	2003-10-05 19:40:49.000000000 +0200
@@ -9,6 +9,11 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 REGISTER_PLUGIN(FlipMain)
 
 
@@ -64,7 +69,7 @@
 	PLUGIN_DESTRUCTOR_MACRO
 }
 
-char* FlipMain::plugin_title() { return "Flip"; }
+char* FlipMain::plugin_title() { return _("Flip"); }
 int FlipMain::is_realtime() { return 1; }
 	
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/flip/flipwindow.C hvirtual-1.1.7/plugins/flip/flipwindow.C
--- base-1.1.7/plugins/flip/flipwindow.C	2002-06-28 17:17:38.000000000 +0200
+++ hvirtual-1.1.7/plugins/flip/flipwindow.C	2003-10-05 18:47:02.000000000 +0200
@@ -1,6 +1,11 @@
 #include "bcdisplayinfo.h"
 #include "flipwindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 PLUGIN_THREAD_OBJECT(FlipMain, FlipThread, FlipWindow)
 
@@ -33,13 +38,13 @@
 	int x = 10, y = 10;
 	add_tool(flip_vertical = new FlipToggle(client, 
 		&(client->config.flip_vertical), 
-		"Vertical",
+		_("Vertical"),
 		x, 
 		y));
 	y += 30;
 	add_tool(flip_horizontal = new FlipToggle(client, 
 		&(client->config.flip_horizontal), 
-		"Horizontal",
+		_("Horizontal"),
 		x, 
 		y));
 	show_window();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/framefield/framefield.C hvirtual-1.1.7/plugins/framefield/framefield.C
--- base-1.1.7/plugins/framefield/framefield.C	2003-04-17 10:26:40.000000000 +0200
+++ hvirtual-1.1.7/plugins/framefield/framefield.C	2003-10-05 19:41:36.000000000 +0200
@@ -10,6 +10,11 @@
 #include <string.h>
 #include <stdint.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 #define TOP_FIELD_FIRST 0
 #define BOTTOM_FIELD_FIRST 1
 
@@ -198,7 +203,7 @@
  : BC_Radial(x, 
 	y, 
 	plugin->config.field_dominance == TOP_FIELD_FIRST,
-	"Top field first")
+	_("Top field first"))
 {
 	this->plugin = plugin;
 	this->gui = gui;
@@ -223,7 +228,7 @@
  : BC_Radial(x, 
 	y, 
 	plugin->config.field_dominance == BOTTOM_FIELD_FIRST,
-	"Bottom field first")
+	_("Bottom field first"))
 {
 	this->plugin = plugin;
 	this->gui = gui;
@@ -248,7 +253,7 @@
  : BC_CheckBox(x, 
 	y, 
 	plugin->config.avg,
-	"Average empty rows")
+	_("Average empty rows"))
 {
 	this->plugin = plugin;
 	this->gui = gui;
@@ -469,7 +474,7 @@
 
 char* FrameField::plugin_title()
 {
-	return "Frames to fields";
+	return _("Frames to fields");
 }
 
 NEW_PICON_MACRO(FrameField) 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/freeverb/freeverb.C hvirtual-1.1.7/plugins/freeverb/freeverb.C
--- base-1.1.7/plugins/freeverb/freeverb.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/freeverb/freeverb.C	2003-10-05 18:47:40.000000000 +0200
@@ -12,6 +12,11 @@
 #include <math.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -258,7 +263,7 @@
 }
 
 FreeverbMode::FreeverbMode(FreeverbEffect *plugin, int x, int y)
- : BC_CheckBox(x, y, (int)plugin->config.mode, "Freeze")
+ : BC_CheckBox(x, y, (int)plugin->config.mode, _("Freeze"))
 {
 	this->plugin = plugin;
 }
@@ -299,27 +304,27 @@
 {
 	int x1 = 10, x2 = 100, x3 = 135, y1 = 10, y2 = 20, margin = 30;
 
-	add_subwindow(new BC_Title(x1, y2, "Gain:"));
+	add_subwindow(new BC_Title(x1, y2, _("Gain:")));
 	add_subwindow(gain = new FreeverbGain(plugin, x3, y1));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y2, "Roomsize:"));
+	add_subwindow(new BC_Title(x1, y2, _("Roomsize:")));
 	add_subwindow(roomsize = new FreeverbRoomsize(plugin, x2, y1));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y2, "Damp:"));
+	add_subwindow(new BC_Title(x1, y2, _("Damp:")));
 	add_subwindow(damp = new FreeverbDamp(plugin, x3, y1));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y2, "Wet:"));
+	add_subwindow(new BC_Title(x1, y2, _("Wet:")));
 	add_subwindow(wet = new FreeverbWet(plugin, x2, y1));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y2, "Dry:"));
+	add_subwindow(new BC_Title(x1, y2, _("Dry:")));
 	add_subwindow(dry = new FreeverbDry(plugin, x3, y1));
 	y1 += margin;
 	y2 += margin;
-	add_subwindow(new BC_Title(x1, y2, "Width:"));
+	add_subwindow(new BC_Title(x1, y2, _("Width:")));
 	add_subwindow(width = new FreeverbWidth(plugin, x2, y1));
 	y1 += margin;
 	y2 += margin;
@@ -465,7 +470,7 @@
 
 char* FreeverbEffect::plugin_title()
 {
-	return "Freeverb";
+	return _("Freeverb");
 }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/freezeframe/freezeframe.C hvirtual-1.1.7/plugins/freezeframe/freezeframe.C
--- base-1.1.7/plugins/freezeframe/freezeframe.C	2003-08-03 07:25:49.000000000 +0200
+++ hvirtual-1.1.7/plugins/freezeframe/freezeframe.C	2003-10-05 19:41:56.000000000 +0200
@@ -8,6 +8,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 REGISTER_PLUGIN(FreezeFrameMain)
 
 
@@ -77,13 +82,13 @@
 		&client->config.enabled,
 		x, 
 		y,
-		"Enabled"));
+		_("Enabled")));
 	y += 30;
 	add_tool(line_double = new FreezeFrameToggle(client, 
 		&client->config.line_double,
 		x, 
 		y,
-		"Line double"));
+		_("Line double")));
 	show_window();
 	flush();
 	return 0;
@@ -144,7 +149,7 @@
 	if(first_frame) delete first_frame;
 }
 
-char* FreezeFrameMain::plugin_title() { return "Freeze Frame"; }
+char* FreezeFrameMain::plugin_title() { return _("Freeze Frame"); }
 
 int FreezeFrameMain::is_synthesis()
 {
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/gain/gain.C hvirtual-1.1.7/plugins/gain/gain.C
--- base-1.1.7/plugins/gain/gain.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/gain/gain.C	2003-10-05 18:47:52.000000000 +0200
@@ -11,6 +11,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 REGISTER_PLUGIN(Gain)
 
@@ -60,7 +65,7 @@
 	PLUGIN_DESTRUCTOR_MACRO
 }
 
-char* Gain::plugin_title() { return "Gain"; }
+char* Gain::plugin_title() { return _("Gain"); }
 int Gain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/gain/gainwindow.C hvirtual-1.1.7/plugins/gain/gainwindow.C
--- base-1.1.7/plugins/gain/gainwindow.C	2002-07-18 18:16:48.000000000 +0200
+++ hvirtual-1.1.7/plugins/gain/gainwindow.C	2003-10-05 19:42:09.000000000 +0200
@@ -5,6 +5,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 PLUGIN_THREAD_OBJECT(Gain, GainThread, GainWindow)
 
 
@@ -34,7 +39,7 @@
 int GainWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(5, y, "Level:"));
+	add_tool(new BC_Title(5, y, _("Level:")));
 	y += 20;
 	add_tool(level = new GainLevel(gain, x, y));
 	show_window();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/gradient/gradient.C hvirtual-1.1.7/plugins/gradient/gradient.C
--- base-1.1.7/plugins/gradient/gradient.C	2002-10-14 04:23:45.000000000 +0200
+++ hvirtual-1.1.7/plugins/gradient/gradient.C	2003-10-05 21:03:35.000000000 +0200
@@ -12,6 +12,10 @@
 #include "picon_png.h"
 #include "vframe.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
 
 
 
@@ -141,13 +145,13 @@
 {
 	int x = 10, y = 10, x2 = 130;
 
-	add_subwindow(new BC_Title(x, y, "Angle:"));
+	add_subwindow(new BC_Title(x, y, _("Angle:")));
 	add_subwindow(angle = new GradientAngle(plugin, x2, y));
 	y += 40;
-	add_subwindow(new BC_Title(x, y, "Inner radius:"));
+	add_subwindow(new BC_Title(x, y, _("Inner radius:")));
 	add_subwindow(in_radius = new GradientInRadius(plugin, x2, y));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Outer radius:"));
+	add_subwindow(new BC_Title(x, y, _("Outer radius:")));
 	add_subwindow(out_radius = new GradientOutRadius(plugin, x2, y));
 	y += 35;
 	add_subwindow(in_color = new GradientInColorButton(plugin, this, x, y));
@@ -258,7 +262,7 @@
 }
 
 GradientInColorButton::GradientInColorButton(GradientMain *plugin, GradientWindow *window, int x, int y)
- : BC_GenericButton(x, y, "Inner color:")
+ : BC_GenericButton(x, y, _("Inner color:"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -274,7 +278,7 @@
 
 
 GradientOutColorButton::GradientOutColorButton(GradientMain *plugin, GradientWindow *window, int x, int y)
- : BC_GenericButton(x, y, "Outer color:")
+ : BC_GenericButton(x, y, _("Outer color:"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -292,7 +296,7 @@
 
 GradientInColorThread::GradientInColorThread(GradientMain *plugin, 
 	GradientWindow *window)
- : ColorThread(1, "Inner color")
+ : ColorThread(1, _("Inner color"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -381,7 +385,7 @@
 	if(overlayer) delete overlayer;
 }
 
-char* GradientMain::plugin_title() { return "Gradient"; }
+char* GradientMain::plugin_title() { return _("Gradient"); }
 int GradientMain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/histogram/histogram.C hvirtual-1.1.7/plugins/histogram/histogram.C
--- base-1.1.7/plugins/histogram/histogram.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/histogram/histogram.C	2003-10-05 18:50:16.000000000 +0200
@@ -17,6 +17,13 @@
 #include "pluginvclient.h"
 #include "vframe.h"
 
+
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
+
 class HistogramMain;
 class HistogramEngine;
 class HistogramWindow;
@@ -386,35 +393,35 @@
 		x, 
 		y,
 		HISTOGRAM_VALUE,
-		"Value"));
+		_("Value")));
 	x += 70;
 	add_subwindow(mode_r = new HistogramMode(plugin, 
 		x, 
 		y,
 		HISTOGRAM_RED,
-		"Red"));
+		_("Red")));
 	x += 70;
 	add_subwindow(mode_g = new HistogramMode(plugin, 
 		x, 
 		y,
 		HISTOGRAM_GREEN,
-		"Green"));
+		_("Green")));
 	x += 70;
 	add_subwindow(mode_b = new HistogramMode(plugin, 
 		x, 
 		y,
 		HISTOGRAM_BLUE,
-		"Blue"));
+		_("Blue")));
 	x += 70;
 	add_subwindow(mode_a = new HistogramMode(plugin, 
 		x, 
 		y,
 		HISTOGRAM_ALPHA,
-		"Alpha"));
+		_("Alpha")));
 
 	x = x1;
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Input min:"));
+	add_subwindow(new BC_Title(x, y, _("Input min:")));
 	x += 80;
 	input_min = new HistogramText(plugin,
 		this,
@@ -423,7 +430,7 @@
 		&plugin->config.input_min[subscript]);
 	input_min->create_objects();
 	x += 90;
-	add_subwindow(new BC_Title(x, y, "Mid:"));
+	add_subwindow(new BC_Title(x, y, _("Mid:")));
 	x += 40;
 	input_mid = new HistogramText(plugin,
 		this,
@@ -433,7 +440,7 @@
 	input_mid->create_objects();
 	input_mid->update((int64_t)plugin->config.input_mid[subscript]);
 	x += 90;
-	add_subwindow(new BC_Title(x, y, "Max:"));
+	add_subwindow(new BC_Title(x, y, _("Max:")));
 	x += 40;
 	input_max = new HistogramText(plugin,
 		this,
@@ -461,7 +468,7 @@
 	input->update();
 
 	y += input->get_h() + 10;
-	add_subwindow(new BC_Title(x, y, "Output min:"));
+	add_subwindow(new BC_Title(x, y, _("Output min:")));
 	x += 90;
 	output_min = new HistogramText(plugin,
 		this,
@@ -470,7 +477,7 @@
 		&plugin->config.output_min[subscript]);
 	output_min->create_objects();
 	x += 90;
-	add_subwindow(new BC_Title(x, y, "Max:"));
+	add_subwindow(new BC_Title(x, y, _("Max:")));
 	x += 40;
 	output_max = new HistogramText(plugin,
 		this,
@@ -504,7 +511,7 @@
 		x, 
 		y));
 	x += 100;
-	add_subwindow(new BC_Title(x, y, "Threshold:"));
+	add_subwindow(new BC_Title(x, y, _("Threshold:")));
 	x += 100;
 	threshold = new HistogramText(plugin,
 		this,
@@ -631,7 +638,7 @@
 HistogramReset::HistogramReset(HistogramMain *plugin, 
 	int x,
 	int y)
- : BC_GenericButton(x, y, "Reset")
+ : BC_GenericButton(x, y, _("Reset"))
 {
 	this->plugin = plugin;
 }
@@ -907,7 +914,7 @@
 HistogramAuto::HistogramAuto(HistogramMain *plugin, 
 	int x, 
 	int y)
- : BC_CheckBox(x, y, plugin->config.automatic, "Automatic")
+ : BC_CheckBox(x, y, plugin->config.automatic, _("Automatic"))
 {
 	this->plugin = plugin;
 }
@@ -1025,7 +1032,7 @@
 	if(engine) delete engine;
 }
 
-char* HistogramMain::plugin_title() { return "Histogram"; }
+char* HistogramMain::plugin_title() { return _("Histogram"); }
 int HistogramMain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/holo/holo.C hvirtual-1.1.7/plugins/holo/holo.C
--- base-1.1.7/plugins/holo/holo.C	2003-05-06 22:18:34.000000000 +0200
+++ hvirtual-1.1.7/plugins/holo/holo.C	2003-10-05 20:22:06.000000000 +0200
@@ -10,6 +10,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 PluginClient* new_plugin(PluginServer *server)
 {
 	return new HoloMain(server);
@@ -61,7 +66,7 @@
 		delete bgimage;
 }
 
-char* HoloMain::plugin_title() { return "HolographicTV"; }
+char* HoloMain::plugin_title() { return _("HolographicTV"); }
 int HoloMain::is_realtime() { return 1; }
 
 VFrame* HoloMain::new_picon()
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/holo/holowindow.C hvirtual-1.1.7/plugins/holo/holowindow.C
--- base-1.1.7/plugins/holo/holowindow.C	2002-06-21 14:35:25.000000000 +0200
+++ hvirtual-1.1.7/plugins/holo/holowindow.C	2003-10-05 18:50:25.000000000 +0200
@@ -1,6 +1,11 @@
 #include "bcdisplayinfo.h"
 #include "holowindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 HoloThread::HoloThread(HoloMain *client)
  : Thread()
@@ -59,8 +64,8 @@
 {
 	int x = 10, y = 10;
 	add_subwindow(new BC_Title(x, y, 
-		"HolographicTV from EffectTV\n"
-		"Copyright (C) 2001 FUKUCHI Kentarou"
+		_("HolographicTV from EffectTV\n"
+		"Copyright (C) 2001 FUKUCHI Kentarou")
 	));
 
 	show_window();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/huesaturation/huesaturation.C hvirtual-1.1.7/plugins/huesaturation/huesaturation.C
--- base-1.1.7/plugins/huesaturation/huesaturation.C	2003-08-24 22:13:57.000000000 +0200
+++ hvirtual-1.1.7/plugins/huesaturation/huesaturation.C	2003-10-05 19:43:03.000000000 +0200
@@ -12,6 +12,11 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 class HueEffect;
 
 #define MINHUE -180
@@ -282,13 +287,13 @@
 void HueWindow::create_objects()
 {
 	int x = 10, y = 10, x1 = 100;
-	add_subwindow(new BC_Title(x, y, "Hue:"));
+	add_subwindow(new BC_Title(x, y, _("Hue:")));
 	add_subwindow(hue = new HueSlider(plugin, x1, y, 200));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Saturation:"));
+	add_subwindow(new BC_Title(x, y, _("Saturation:")));
 	add_subwindow(saturation = new SaturationSlider(plugin, x1, y, 200));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Value:"));
+	add_subwindow(new BC_Title(x, y, _("Value:")));
 	add_subwindow(value = new ValueSlider(plugin, x1, y, 200));
 	show_window();
 	flush();
@@ -525,7 +530,7 @@
 }
 char* HueEffect::plugin_title()
 {
-	return "Hue saturation";
+	return _("Hue saturation");
 }
 
 NEW_PICON_MACRO(HueEffect)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/huesaturation/huewindow.C hvirtual-1.1.7/plugins/huesaturation/huewindow.C
--- base-1.1.7/plugins/huesaturation/huewindow.C	2002-06-21 14:35:25.000000000 +0200
+++ hvirtual-1.1.7/plugins/huesaturation/huewindow.C	2003-10-05 18:50:41.000000000 +0200
@@ -1,5 +1,10 @@
 #include "huewindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 HueThread::HueThread(HueMain *client)
  : Thread()
@@ -44,17 +49,17 @@
 int HueWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(x, y, "Hue"));
+	add_tool(new BC_Title(x, y, _("Hue")));
 	add_tool(automation[0] = new AutomatedFn(client, this, x + 80, y, 0));
 	y += 20;
 	add_tool(hue_slider = new HueSlider(client, x, y));
 	y += 35;
-	add_tool(new BC_Title(x, y, "Saturation"));
+	add_tool(new BC_Title(x, y, _("Saturation")));
 	add_tool(automation[1] = new AutomatedFn(client, this, x + 80, y, 1));
 	y += 20;
 	add_tool(saturation_slider = new SaturationSlider(client, x, y));
 	y += 35;
-	add_tool(new BC_Title(x, y, "Value"));
+	add_tool(new BC_Title(x, y, _("Value")));
 	add_tool(automation[2] = new AutomatedFn(client, this, x + 80, y, 2));
 	y += 20;
 	add_tool(value_slider = new ValueSlider(client, x, y));
@@ -110,7 +115,7 @@
 }
 
 AutomatedFn::AutomatedFn(HueMain *client, HueWindow *window, int x, int y, int number)
- : BC_CheckBox(x, y, 16, 16, client->automated_function == number, "Automate")
+ : BC_CheckBox(x, y, 16, 16, client->automated_function == number, _("Automate"))
 {
 	this->client = client;
 	this->window = window;
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/interpolate/interpolate.C hvirtual-1.1.7/plugins/interpolate/interpolate.C
--- base-1.1.7/plugins/interpolate/interpolate.C	2002-07-22 16:30:19.000000000 +0200
+++ hvirtual-1.1.7/plugins/interpolate/interpolate.C	2003-10-05 18:51:05.000000000 +0200
@@ -7,6 +7,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -318,7 +323,7 @@
 
 char* InterpolateEffect::plugin_title()
 {
-	return "Interpolate";
+	return _("Interpolate");
 }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/interpolateall/interpolateall.C hvirtual-1.1.7/plugins/interpolateall/interpolateall.C
--- base-1.1.7/plugins/interpolateall/interpolateall.C	2002-07-22 16:30:19.000000000 +0200
+++ hvirtual-1.1.7/plugins/interpolateall/interpolateall.C	2003-10-05 19:43:13.000000000 +0200
@@ -9,6 +9,11 @@
 #include <string.h>
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -75,7 +80,7 @@
 
 char* InterpolateAllEffect::plugin_title()
 {
-	return "Interpolate";
+	return _("Interpolate");
 }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/invertaudio/invert.C hvirtual-1.1.7/plugins/invertaudio/invert.C
--- base-1.1.7/plugins/invertaudio/invert.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/invertaudio/invert.C	2003-10-05 19:43:23.000000000 +0200
@@ -2,6 +2,11 @@
 #include "pluginaclient.h"
 #include "vframe.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 class InvertAudioEffect : public PluginAClient
 {
 public:
@@ -19,7 +24,7 @@
 	};
 	char* plugin_title()
 	{
-		return "Invert Audio";
+		return _("Invert Audio");
 	};
 	int is_realtime()
 	{
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/invertvideo/invert.C hvirtual-1.1.7/plugins/invertvideo/invert.C
--- base-1.1.7/plugins/invertvideo/invert.C	2003-08-24 22:17:46.000000000 +0200
+++ hvirtual-1.1.7/plugins/invertvideo/invert.C	2003-10-05 18:51:38.000000000 +0200
@@ -11,6 +11,11 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 class InvertVideoEffect;
 
@@ -162,13 +167,13 @@
 void InvertVideoWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(r = new InvertVideoEnable(plugin, &plugin->config.r, x, y, "Invert R"));
+	add_subwindow(r = new InvertVideoEnable(plugin, &plugin->config.r, x, y, _("Invert R")));
 	y += 30;
-	add_subwindow(g = new InvertVideoEnable(plugin, &plugin->config.g, x, y, "Invert G"));
+	add_subwindow(g = new InvertVideoEnable(plugin, &plugin->config.g, x, y, _("Invert G")));
 	y += 30;
-	add_subwindow(b = new InvertVideoEnable(plugin, &plugin->config.b, x, y, "Invert B"));
+	add_subwindow(b = new InvertVideoEnable(plugin, &plugin->config.b, x, y, _("Invert B")));
 	y += 30;
-	add_subwindow(a = new InvertVideoEnable(plugin, &plugin->config.a, x, y, "Invert A"));
+	add_subwindow(a = new InvertVideoEnable(plugin, &plugin->config.a, x, y, _("Invert A")));
 
 	show_window();
 	flush();
@@ -208,7 +213,7 @@
 
 char* InvertVideoEffect::plugin_title()
 {
-	return "Invert Video";
+	return _("Invert Video");
 }
 
 NEW_PICON_MACRO(InvertVideoEffect)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/invertvideo/invertwindow.C hvirtual-1.1.7/plugins/invertvideo/invertwindow.C
--- base-1.1.7/plugins/invertvideo/invertwindow.C	2002-06-21 14:35:25.000000000 +0200
+++ hvirtual-1.1.7/plugins/invertvideo/invertwindow.C	2003-10-05 19:43:28.000000000 +0200
@@ -1,5 +1,10 @@
 #include "invertwindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 InvertThread::InvertThread(InvertMain *client)
  : Thread()
@@ -39,7 +44,7 @@
 int InvertWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(x, y, "Invert"));
+	add_tool(new BC_Title(x, y, _("Invert")));
 	y += 20;
 	add_tool(invert = new InvertToggle(client, &(client->invert), x, y));
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/irissquare/irissquare.C hvirtual-1.1.7/plugins/irissquare/irissquare.C
--- base-1.1.7/plugins/irissquare/irissquare.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/irissquare/irissquare.C	2003-10-05 18:51:56.000000000 +0200
@@ -11,6 +11,12 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
+
 REGISTER_PLUGIN(IrisSquareMain)
 
 
@@ -24,7 +30,7 @@
  : BC_Radial(x, 
 		y, 
 		plugin->direction == 0, 
-		"In")
+		_("In"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -46,7 +52,7 @@
  : BC_Radial(x, 
 		y, 
 		plugin->direction == 1, 
-		"Out")
+		_("Out"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -93,7 +99,7 @@
 void IrisSquareWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(new BC_Title(x, y, "Direction:"));
+	add_subwindow(new BC_Title(x, y, _("Direction:")));
 	x += 100;
 	add_subwindow(in = new IrisSquareIn(plugin, 
 		this,
@@ -130,7 +136,7 @@
 	PLUGIN_DESTRUCTOR_MACRO
 }
 
-char* IrisSquareMain::plugin_title() { return "IrisSquare"; }
+char* IrisSquareMain::plugin_title() { return _("IrisSquare"); }
 int IrisSquareMain::is_video() { return 1; }
 int IrisSquareMain::is_transition() { return 1; }
 int IrisSquareMain::uses_gui() { return 1; }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/ivtc/ivtc.C hvirtual-1.1.7/plugins/ivtc/ivtc.C
--- base-1.1.7/plugins/ivtc/ivtc.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/ivtc/ivtc.C	2003-10-05 19:43:45.000000000 +0200
@@ -6,6 +6,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 REGISTER_PLUGIN(IVTCMain)
 
@@ -41,7 +46,7 @@
 	}
 }
 
-char* IVTCMain::plugin_title() { return "Inverse Telecine"; }
+char* IVTCMain::plugin_title() { return _("Inverse Telecine"); }
 
 int IVTCMain::is_realtime() { return 1; }
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/ivtc/ivtcwindow.C hvirtual-1.1.7/plugins/ivtc/ivtcwindow.C
--- base-1.1.7/plugins/ivtc/ivtcwindow.C	2003-05-05 09:27:30.000000000 +0200
+++ hvirtual-1.1.7/plugins/ivtc/ivtcwindow.C	2003-10-05 18:52:31.000000000 +0200
@@ -2,6 +2,11 @@
 #include "ivtcwindow.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 PLUGIN_THREAD_OBJECT(IVTCMain, IVTCThread, IVTCWindow)
 
@@ -38,7 +43,7 @@
 		"AB  BC  CD  DE  EF"
 	};
 	
-	add_tool(new BC_Title(x, y, "Pattern offset:"));
+	add_tool(new BC_Title(x, y, _("Pattern offset:")));
 	y += 20;
 	add_tool(frame_offset = new IVTCOffset(client, x, y));
 	y += 30;
@@ -46,7 +51,7 @@
 	y += 30;
 	add_tool(automatic = new IVTCAuto(client, x, y));
 	y += 40;
-	add_subwindow(new BC_Title(x, y, "Pattern:"));
+	add_subwindow(new BC_Title(x, y, _("Pattern:")));
 	y += 20;
 	for(int i = 0; i < TOTAL_PATTERNS; i++)
 	{
@@ -60,7 +65,7 @@
 	}
 	
 //	y += 30;
-//	add_tool(new BC_Title(x, y, "Field threshold:"));
+//	add_tool(new BC_Title(x, y, _("Field threshold:")));
 //	y += 20;
 //	add_tool(threshold = new IVTCAutoThreshold(client, x, y));
 	show_window();
@@ -93,7 +98,7 @@
 
 
 IVTCFieldOrder::IVTCFieldOrder(IVTCMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.first_field, "Odd field first")
+ : BC_CheckBox(x, y, client->config.first_field, _("Odd field first"))
 {
 	this->client = client;
 }
@@ -109,7 +114,7 @@
 
 
 IVTCAuto::IVTCAuto(IVTCMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.automatic, "Automatic IVTC")
+ : BC_CheckBox(x, y, client->config.automatic, _("Automatic IVTC"))
 {
 	this->client = client;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/level/leveleffect.C hvirtual-1.1.7/plugins/level/leveleffect.C
--- base-1.1.7/plugins/level/leveleffect.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/level/leveleffect.C	2003-10-05 19:44:25.000000000 +0200
@@ -13,6 +13,11 @@
 #include <string.h>
 #include <unistd.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -106,13 +111,13 @@
 	int x = 10, y = 10;
 
 
-	add_subwindow(new BC_Title(x, y, "Duration (seconds):"));
+	add_subwindow(new BC_Title(x, y, _("Duration (seconds):")));
 	add_subwindow(duration = new SoundLevelDuration(plugin, x + 150, y));
 	y += 35;
-	add_subwindow(new BC_Title(x, y, "Max soundlevel (dB):"));
+	add_subwindow(new BC_Title(x, y, _("Max soundlevel (dB):")));
 	add_subwindow(soundlevel_max = new BC_Title(x + 150, y, "0.0"));
 	y += 35;
-	add_subwindow(new BC_Title(x, y, "RMS soundlevel (dB):"));
+	add_subwindow(new BC_Title(x, y, _("RMS soundlevel (dB):")));
 	add_subwindow(soundlevel_rms = new BC_Title(x + 150, y, "0.0"));
 
 	show_window();
@@ -180,7 +185,7 @@
 
 char* SoundLevelEffect::plugin_title()
 {
-	return "SoundLevel";
+	return _("SoundLevel");
 }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/libcolors/colorpicker.C hvirtual-1.1.7/plugins/libcolors/colorpicker.C
--- base-1.1.7/plugins/libcolors/colorpicker.C	2002-08-21 02:06:42.000000000 +0200
+++ hvirtual-1.1.7/plugins/libcolors/colorpicker.C	2003-10-05 18:57:58.000000000 +0200
@@ -7,6 +7,11 @@
 #include <string.h>
 #include <unistd.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 ColorThread::ColorThread(int do_alpha, char *title)
  : Thread()
 {
@@ -52,7 +57,7 @@
 	if(title)
 		strcat(window_title, title);
 	else
-		strcat(window_title, "Color Picker");
+		strcat(window_title, _("Color Picker"));
 
 
 
@@ -119,37 +124,37 @@
 //printf("ColorWindow::create_objects 1\n");
 	
 	x += 240; y = init_y;
-	add_tool(new BC_Title(x, y, "Hue", SMALLFONT));
+	add_tool(new BC_Title(x, y, _("Hue"), SMALLFONT));
 	y += 15;
 //printf("ColorWindow::create_objects 1 %p\n", this);
 	add_tool(hue = new PaletteHue(this, x, y));
 	y += 30;
 //printf("ColorWindow::create_objects 1\n");
-	add_tool(new BC_Title(x, y, "Saturation", SMALLFONT));
+	add_tool(new BC_Title(x, y, _("Saturation"), SMALLFONT));
 	y += 15;
 //printf("ColorWindow::create_objects 1\n");
 	add_tool(saturation = new PaletteSaturation(this, x, y));
 	y += 30;
 //printf("ColorWindow::create_objects 1\n");
-	add_tool(new BC_Title(x, y, "Value", SMALLFONT));
+	add_tool(new BC_Title(x, y, _("Value"), SMALLFONT));
 	y += 15;
 //printf("ColorWindow::create_objects 1\n");
 	add_tool(value = new PaletteValue(this, x, y));
 	y += 30;
 //printf("ColorWindow::create_objects 1\n");
-	add_tool(new BC_Title(x, y, "Red", SMALLFONT));
+	add_tool(new BC_Title(x, y, _("Red"), SMALLFONT));
 	y += 15;
 //printf("ColorWindow::create_objects 1\n");
 	add_tool(red = new PaletteRed(this, x, y));
 	y += 30;
 //printf("ColorWindow::create_objects 1\n");
-	add_tool(new BC_Title(x, y, "Green", SMALLFONT));
+	add_tool(new BC_Title(x, y, _("Green"), SMALLFONT));
 	y += 15;
 //printf("ColorWindow::create_objects 1\n");
 	add_tool(green = new PaletteGreen(this, x, y));
 	y += 30;
 //printf("ColorWindow::create_objects 1\n");
-	add_tool(new BC_Title(x, y, "Blue", SMALLFONT));
+	add_tool(new BC_Title(x, y, _("Blue"), SMALLFONT));
 	y += 15;
 //printf("ColorWindow::create_objects 1\n");
 	add_tool(blue = new PaletteBlue(this, x, y));
@@ -157,7 +162,7 @@
 	if(thread->do_alpha)
 	{
 		y += 30;
-		add_tool(new BC_Title(x, y, "Alpha", SMALLFONT));
+		add_tool(new BC_Title(x, y, _("Alpha"), SMALLFONT));
 		y += 15;
 		add_tool(alpha = new PaletteAlpha(this, x, y));
 	}
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/linearblur/linearblur.C hvirtual-1.1.7/plugins/linearblur/linearblur.C
--- base-1.1.7/plugins/linearblur/linearblur.C	2002-10-31 09:19:43.000000000 +0100
+++ hvirtual-1.1.7/plugins/linearblur/linearblur.C	2003-10-05 18:59:00.000000000 +0200
@@ -12,6 +12,11 @@
 #include "pluginvclient.h"
 #include "vframe.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 class LinearBlurMain;
 class LinearBlurEngine;
@@ -251,25 +256,25 @@
 {
 	int x = 10, y = 10;
 
-	add_subwindow(new BC_Title(x, y, "Length:"));
+	add_subwindow(new BC_Title(x, y, _("Length:")));
 	y += 20;
 	add_subwindow(radius = new LinearBlurSize(plugin, x, y, &plugin->config.radius, 0, 100));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Angle:"));
+	add_subwindow(new BC_Title(x, y, _("Angle:")));
 	y += 20;
 	add_subwindow(angle = new LinearBlurSize(plugin, x, y, &plugin->config.angle, -180, 180));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Steps:"));
+	add_subwindow(new BC_Title(x, y, _("Steps:")));
 	y += 20;
 	add_subwindow(steps = new LinearBlurSize(plugin, x, y, &plugin->config.steps, 1, 100));
 	y += 30;
-	add_subwindow(r = new LinearBlurToggle(plugin, x, y, &plugin->config.r, "Red"));
+	add_subwindow(r = new LinearBlurToggle(plugin, x, y, &plugin->config.r, _("Red")));
 	y += 30;
-	add_subwindow(g = new LinearBlurToggle(plugin, x, y, &plugin->config.g, "Green"));
+	add_subwindow(g = new LinearBlurToggle(plugin, x, y, &plugin->config.g, _("Green")));
 	y += 30;
-	add_subwindow(b = new LinearBlurToggle(plugin, x, y, &plugin->config.b, "Blue"));
+	add_subwindow(b = new LinearBlurToggle(plugin, x, y, &plugin->config.b, _("Blue")));
 	y += 30;
-	add_subwindow(a = new LinearBlurToggle(plugin, x, y, &plugin->config.a, "Alpha"));
+	add_subwindow(a = new LinearBlurToggle(plugin, x, y, &plugin->config.a, _("Alpha")));
 	y += 30;
 
 	show_window();
@@ -366,7 +371,7 @@
 	if(temp) delete temp;
 }
 
-char* LinearBlurMain::plugin_title() { return "Linear Blur"; }
+char* LinearBlurMain::plugin_title() { return _("Linear Blur"); }
 int LinearBlurMain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/motion/motion.C hvirtual-1.1.7/plugins/motion/motion.C
--- base-1.1.7/plugins/motion/motion.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/motion/motion.C	2003-10-05 18:59:34.000000000 +0200
@@ -7,6 +7,11 @@
 #include "picon_png.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -85,31 +90,31 @@
 {
 	int x = 10, y = 10;
 
-	add_subwindow(new BC_Title(x, y, "Search radius:"));
+	add_subwindow(new BC_Title(x, y, _("Search radius:")));
 	add_subwindow(radius = new MotionSearchRadius(plugin, 
 		x + 190, 
 		y));
 
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Block size:"));
+	add_subwindow(new BC_Title(x, y, _("Block size:")));
 	add_subwindow(block_size = new MotionBlockSize(plugin, 
 		x + 230, 
 		y));
 
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Maximum absolute offset:"));
+	add_subwindow(new BC_Title(x, y, _("Maximum absolute offset:")));
 	add_subwindow(magnitude = new MotionMagnitude(plugin, 
 		x + 190, 
 		y));
 
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Stabilizer settling time:"));
+	add_subwindow(new BC_Title(x, y, _("Stabilizer settling time:")));
 	add_subwindow(return_speed = new MotionReturnSpeed(plugin,
 		x + 230, 
 		y));
 
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Mode:"));
+	add_subwindow(new BC_Title(x, y, _("Mode:")));
 	y += 20;
 	add_subwindow(track = new MotionTrack(plugin, 
 		this,
@@ -248,7 +253,7 @@
  : BC_Radial(x, 
  	y, 
 	plugin->config.mode == MotionConfig::STABILIZE,
-	"Stabilize")
+	_("Stabilize"))
 {
 	this->gui = gui;
 	this->plugin = plugin;
@@ -273,7 +278,7 @@
  : BC_Radial(x,
  	y, 
 	plugin->config.mode == MotionConfig::TRACK,
-	"Track")
+	_("Track"))
 {
 	this->gui = gui;
 	this->plugin = plugin;
@@ -298,7 +303,7 @@
  : BC_Radial(x,
  	y, 
 	plugin->config.mode == MotionConfig::DRAW_VECTORS,
-	"Draw vectors")
+	_("Draw vectors"))
 {
 	this->gui = gui;
 	this->plugin = plugin;
@@ -350,7 +355,7 @@
 	if(temp_frame) delete temp_frame;
 }
 
-char* MotionMain::plugin_title() { return "Motion"; }
+char* MotionMain::plugin_title() { return _("Motion"); }
 int MotionMain::is_realtime() { return 1; }
 int MotionMain::is_multichannel() { return 1; }
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/normalize/normalize.C hvirtual-1.1.7/plugins/normalize/normalize.C
--- base-1.1.7/plugins/normalize/normalize.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/normalize/normalize.C	2003-10-05 19:45:35.000000000 +0200
@@ -10,6 +10,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 REGISTER_PLUGIN(NormalizeMain)
 
 
@@ -29,7 +34,7 @@
 	delete defaults;
 }
 
-char* NormalizeMain::plugin_title() { return "Normalize"; }
+char* NormalizeMain::plugin_title() { return _("Normalize"); }
 
 int NormalizeMain::is_realtime() { return 0; }
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/normalize/normalizewindow.C hvirtual-1.1.7/plugins/normalize/normalizewindow.C
--- base-1.1.7/plugins/normalize/normalizewindow.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/normalize/normalizewindow.C	2003-10-05 18:59:49.000000000 +0200
@@ -1,6 +1,11 @@
 #include "mwindow.inc"
 #include "normalizewindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 NormalizeWindow::NormalizeWindow(int x, int y)
  : BC_Window(PROGRAM_NAME ": Normalize", 
  				x - 160,
@@ -24,7 +29,7 @@
 	int x = 10, y = 10;
 	this->db_over = db_over;
 	this->separate_tracks = separate_tracks;
-	add_subwindow(new BC_Title(x, y, "Enter the DB to overload by:"));
+	add_subwindow(new BC_Title(x, y, _("Enter the DB to overload by:")));
 	y += 20;
 	add_subwindow(new NormalizeWindowOverload(x, y, this->db_over));
 	y += 30;
@@ -60,7 +65,7 @@
 
 
 NormalizeWindowSeparate::NormalizeWindowSeparate(int x, int y, int *separate_tracks)
- : BC_CheckBox(x, y, *separate_tracks, "Treat tracks independantly")
+ : BC_CheckBox(x, y, *separate_tracks, _("Treat tracks independantly"))
 {
 	this->separate_tracks = separate_tracks;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/oilpainting/oil.C hvirtual-1.1.7/plugins/oilpainting/oil.C
--- base-1.1.7/plugins/oilpainting/oil.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/oilpainting/oil.C	2003-10-05 19:46:44.000000000 +0200
@@ -13,6 +13,11 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 // Algorithm by Torsten Martinsen
@@ -218,7 +223,7 @@
 
 
 OilIntensity::OilIntensity(OilEffect *plugin, int x, int y)
- : BC_CheckBox(x, y, plugin->config.use_intensity, "Use intensity")
+ : BC_CheckBox(x, y, plugin->config.use_intensity, _("Use intensity"))
 {
 	this->plugin = plugin;
 }
@@ -257,7 +262,7 @@
 void OilWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(new BC_Title(x, y, "Radius:"));
+	add_subwindow(new BC_Title(x, y, _("Radius:")));
 	add_subwindow(radius = new OilRadius(plugin, x + 70, y));
 	y += 40;
 	add_subwindow(intensity = new OilIntensity(plugin, x, y));
@@ -309,7 +314,7 @@
 
 char* OilEffect::plugin_title()
 {
-	return "Oil painting";
+	return _("Oil painting");
 }
 
 NEW_PICON_MACRO(OilEffect)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/oilpainting/oilwindow.C hvirtual-1.1.7/plugins/oilpainting/oilwindow.C
--- base-1.1.7/plugins/oilpainting/oilwindow.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/oilpainting/oilwindow.C	2003-10-05 19:00:01.000000000 +0200
@@ -1,5 +1,10 @@
 #include "oilwindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 OilThread::OilThread(OilMain *client)
  : Thread()
@@ -39,11 +44,11 @@
 int OilWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(x, y, "Oil Painting"));
+	add_tool(new BC_Title(x, y, _("Oil Painting")));
 	y += 20;
 	add_tool(radius = new OilRadius(client, x, y));
 	x += 50;
-	add_tool(new BC_Title(x, y, "Radius"));
+	add_tool(new BC_Title(x, y, _("Radius")));
 	y += 50;
 	x = 10;
 	add_tool(use_intensity = new OilIntensity(client, x, y));
@@ -71,7 +76,7 @@
 
 
 OilIntensity::OilIntensity(OilMain *client, int x, int y)
- : BC_CheckBox(x, y, 16, 16, client->use_intensity, "Use Intensity")
+ : BC_CheckBox(x, y, 16, 16, client->use_intensity, _("Use Intensity"))
 {
 	this->client = client;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/parametric/parametric.C hvirtual-1.1.7/plugins/parametric/parametric.C
--- base-1.1.7/plugins/parametric/parametric.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/parametric/parametric.C	2003-10-05 19:47:41.000000000 +0200
@@ -10,6 +10,11 @@
 #include <math.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -245,16 +250,16 @@
 	switch(mode)
 	{
 		case ParametricBand::LOWPASS:
-			return "Lowpass";
+			return _("Lowpass");
 			break;
 		case ParametricBand::HIGHPASS:
-			return "Highpass";
+			return _("Highpass");
 			break;
 		case ParametricBand::BANDPASS:
-			return "Bandpass";
+			return _("Bandpass");
 			break;
 		case ParametricBand::NONE:
-			return "None";
+			return _("None");
 			break;
 	}
 	return "";
@@ -356,10 +361,10 @@
 	int y = 35;
 	
 	
-	add_subwindow(new BC_Title(X1, 10, "Freq"));
-	add_subwindow(new BC_Title(X2, 10, "Qual"));
-	add_subwindow(new BC_Title(X3, 10, "Level"));
-	add_subwindow(new BC_Title(X4, 10, "Mode"));
+	add_subwindow(new BC_Title(X1, 10, _("Freq")));
+	add_subwindow(new BC_Title(X2, 10, _("Qual")));
+	add_subwindow(new BC_Title(X3, 10, _("Level")));
+	add_subwindow(new BC_Title(X4, 10, _("Mode")));
 	for(int i = 0; i < BANDS; i++)
 	{
 		bands[i] = new ParametricBandGUI(plugin, this, 10, y, i);
@@ -367,7 +372,7 @@
 		y += 50;
 	}
 
-	add_subwindow(new BC_Title(10, y + 10, "Wetness:"));
+	add_subwindow(new BC_Title(10, y + 10, _("Wetness:")));
 	add_subwindow(wetness = new ParametricWetness(plugin, 80, y));
 	y += 50;
 	add_subwindow(canvas = new BC_SubWindow(10, y, get_w() - 20, get_h() - y - 10, WHITE));
@@ -515,7 +520,7 @@
 
 char* ParametricEQ::plugin_title()
 {
-	return "EQ Parametric";
+	return _("EQ Parametric");
 }
 
 int ParametricEQ::is_realtime()
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/perspective/perspective.C hvirtual-1.1.7/plugins/perspective/perspective.C
--- base-1.1.7/plugins/perspective/perspective.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/perspective/perspective.C	2003-10-05 19:00:45.000000000 +0200
@@ -1,6 +1,11 @@
 #include "cursors.h"
 #include "perspective.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -121,7 +126,7 @@
 		get_h() - 140));
 	canvas->set_cursor(CROSS_CURSOR);
 	y += canvas->get_h() + 10;
-	add_subwindow(new BC_Title(x, y, "Current X:"));
+	add_subwindow(new BC_Title(x, y, _("Current X:")));
 	x += 80;
 	this->x = new PerspectiveCoord(this, 
 		plugin, 
@@ -131,7 +136,7 @@
 		1);
 	this->x->create_objects();
 	x += 140;
-	add_subwindow(new BC_Title(x, y, "Y:"));
+	add_subwindow(new BC_Title(x, y, _("Y:")));
 	x += 20;
 	this->y = new PerspectiveCoord(this, 
 		plugin, 
@@ -148,36 +153,36 @@
 		x, 
 		y, 
 		PerspectiveConfig::PERSPECTIVE,
-		"Perspective"));
+		_("Perspective")));
 	x += 120;
 	add_subwindow(mode_sheer = new PerspectiveMode(plugin, 
 		x, 
 		y, 
 		PerspectiveConfig::SHEER,
-		"Sheer"));
+		_("Sheer")));
 	x = 110;
 	y += 30;
 	add_subwindow(mode_stretch = new PerspectiveMode(plugin, 
 		x, 
 		y, 
 		PerspectiveConfig::STRETCH,
-		"Stretch"));
+		_("Stretch")));
 	update_canvas();
 	y += 30;
 	x = 10;
-	add_subwindow(new BC_Title(x, y, "Perspective direction:"));
+	add_subwindow(new BC_Title(x, y, _("Perspective direction:")));
 	x += 170;
 	add_subwindow(forward = new PerspectiveDirection(plugin, 
 		x, 
 		y, 
 		1,
-		"Forward"));
+		_("Forward")));
 	x += 100;
 	add_subwindow(reverse = new PerspectiveDirection(plugin, 
 		x, 
 		y, 
 		0,
-		"Reverse"));
+		_("Reverse")));
 
 	show_window();
 	flush();
@@ -504,7 +509,7 @@
 PerspectiveReset::PerspectiveReset(PerspectiveMain *plugin, 
 	int x, 
 	int y)
- : BC_GenericButton(x, y, "Reset")
+ : BC_GenericButton(x, y, _("Reset"))
 {
 	this->plugin = plugin;
 }
@@ -600,7 +605,7 @@
 	if(temp) delete temp;
 }
 
-char* PerspectiveMain::plugin_title() { return "Perspective"; }
+char* PerspectiveMain::plugin_title() { return _("Perspective"); }
 int PerspectiveMain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/pitch/pitch.C hvirtual-1.1.7/plugins/pitch/pitch.C
--- base-1.1.7/plugins/pitch/pitch.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/pitch/pitch.C	2003-10-05 19:47:54.000000000 +0200
@@ -11,6 +11,11 @@
 #include <string.h>
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -55,7 +60,7 @@
 
 char* PitchEffect::plugin_title()
 {
-	return "Pitch shift";
+	return _("Pitch shift");
 }
 
 
@@ -338,7 +343,7 @@
 {
 	int x = 10, y = 10;
 	
-	add_subwindow(new BC_Title(x, y, "Scale:"));
+	add_subwindow(new BC_Title(x, y, _("Scale:")));
 	x += 70;
 	add_subwindow(scale = new PitchScale(plugin, x, y));
 	show_window();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/polar/polar.C hvirtual-1.1.7/plugins/polar/polar.C
--- base-1.1.7/plugins/polar/polar.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/polar/polar.C	2003-10-05 19:01:03.000000000 +0200
@@ -14,6 +14,11 @@
 #include <string.h>
 #include <stdint.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 #define SQR(x) ((x) * (x))
 #define WITHIN(a, b, c) ((((a) <= (b)) && ((b) <= (c))) ? 1 : 0)
 
@@ -196,10 +201,10 @@
 void PolarWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(new BC_Title(x, y, "Depth:"));
+	add_subwindow(new BC_Title(x, y, _("Depth:")));
 	add_subwindow(depth = new PolarDepth(plugin, x + 50, y));
 	y += 40;
-	add_subwindow(new BC_Title(x, y, "Angle:"));
+	add_subwindow(new BC_Title(x, y, _("Angle:")));
 	add_subwindow(angle = new PolarAngle(plugin, x + 50, y));
 
 	show_window();
@@ -285,7 +290,7 @@
 
 char* PolarEffect::plugin_title()
 {
-	return "Polar";
+	return _("Polar");
 }
 
 NEW_PICON_MACRO(PolarEffect)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/polar/polarwindow.C hvirtual-1.1.7/plugins/polar/polarwindow.C
--- base-1.1.7/plugins/polar/polarwindow.C	2002-07-18 18:16:48.000000000 +0200
+++ hvirtual-1.1.7/plugins/polar/polarwindow.C	2003-10-05 19:48:08.000000000 +0200
@@ -1,5 +1,10 @@
 #include "polarwindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 PLUGIN_THREAD_OBJECT(PolarMain, PolarThread, PolarWindow)
 
@@ -34,12 +39,12 @@
 int PolarWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(x, y, "Depth"));
+	add_tool(new BC_Title(x, y, _("Depth")));
 	add_tool(automation[0] = new AutomatedFn(client, this, x + 80, y, 0));
 	y += 20;
 	add_tool(depth_slider = new DepthSlider(client, x, y));
 	y += 35;
-	add_tool(new BC_Title(x, y, "Angle"));
+	add_tool(new BC_Title(x, y, _("Angle")));
 	add_tool(automation[1] = new AutomatedFn(client, this, x + 80, y, 1));
 	y += 20;
 	add_tool(angle_slider = new AngleSlider(client, x, y));
@@ -81,7 +86,7 @@
 }
 
 AutomatedFn::AutomatedFn(PolarMain *client, PolarWindow *window, int x, int y, int number)
- : BC_CheckBox(x, y, 16, 16, client->automated_function == number, "Automate")
+ : BC_CheckBox(x, y, 16, 16, client->automated_function == number, _("Automate"))
 {
 	this->client = client;
 	this->window = window;
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/quark/quark.C hvirtual-1.1.7/plugins/quark/quark.C
--- base-1.1.7/plugins/quark/quark.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/quark/quark.C	2003-10-05 19:01:15.000000000 +0200
@@ -7,6 +7,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 PluginClient* new_plugin(PluginServer *server)
 {
 	return new SharpenMain(server);
@@ -34,7 +39,7 @@
 	delete defaults;
 }
 
-char* SharpenMain::plugin_title() { return "Quark"; }
+char* SharpenMain::plugin_title() { return _("Quark"); }
 int SharpenMain::is_realtime() { return 1; }
 
 VFrame* SharpenMain::new_picon()
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/quark/quarkwindow.C hvirtual-1.1.7/plugins/quark/quarkwindow.C
--- base-1.1.7/plugins/quark/quarkwindow.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/quark/quarkwindow.C	2003-10-05 19:49:00.000000000 +0200
@@ -1,6 +1,11 @@
 #include "bcdisplayinfo.h"
 #include "sharpenwindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 SharpenThread::SharpenThread(SharpenMain *client)
  : Thread()
@@ -58,7 +63,7 @@
 int SharpenWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(x, y, "Sharpness"));
+	add_tool(new BC_Title(x, y, _("Sharpness")));
 	y += 20;
 	add_tool(sharpen_slider = new SharpenSlider(client, &(client->sharpness), x, y));
 	y += 30;
@@ -109,7 +114,7 @@
 
 
 SharpenInterlace::SharpenInterlace(SharpenMain *client, int x, int y)
- : BC_CheckBox(x, y, client->interlace, "Interlace")
+ : BC_CheckBox(x, y, client->interlace, _("Interlace"))
 {
 	this->client = client;
 }
@@ -127,7 +132,7 @@
 
 
 SharpenHorizontal::SharpenHorizontal(SharpenMain *client, int x, int y)
- : BC_CheckBox(x, y, client->horizontal, "Horizontal only")
+ : BC_CheckBox(x, y, client->horizontal, _("Horizontal only"))
 {
 	this->client = client;
 }
@@ -144,7 +149,7 @@
 
 
 SharpenLuminance::SharpenLuminance(SharpenMain *client, int x, int y)
- : BC_CheckBox(x, y, client->luminance, "Luminance only")
+ : BC_CheckBox(x, y, client->luminance, _("Luminance only"))
 {
 	this->client = client;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/radialblur/radialblur.C hvirtual-1.1.7/plugins/radialblur/radialblur.C
--- base-1.1.7/plugins/radialblur/radialblur.C	2002-10-31 09:19:43.000000000 +0100
+++ hvirtual-1.1.7/plugins/radialblur/radialblur.C	2003-10-05 19:01:49.000000000 +0200
@@ -13,6 +13,11 @@
 #include "vframe.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 class RadialBlurMain;
 class RadialBlurEngine;
 
@@ -250,29 +255,29 @@
 {
 	int x = 10, y = 10;
 
-	add_subwindow(new BC_Title(x, y, "X:"));
+	add_subwindow(new BC_Title(x, y, _("X:")));
 	y += 20;
 	add_subwindow(this->x = new RadialBlurSize(plugin, x, y, &plugin->config.x, 0, 100));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Y:"));
+	add_subwindow(new BC_Title(x, y, _("Y:")));
 	y += 20;
 	add_subwindow(this->y = new RadialBlurSize(plugin, x, y, &plugin->config.y, 0, 100));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Angle:"));
+	add_subwindow(new BC_Title(x, y, _("Angle:")));
 	y += 20;
 	add_subwindow(angle = new RadialBlurSize(plugin, x, y, &plugin->config.angle, 0, 360));
 	y += 30;
-	add_subwindow(new BC_Title(x, y, "Steps:"));
+	add_subwindow(new BC_Title(x, y, _("Steps:")));
 	y += 20;
 	add_subwindow(steps = new RadialBlurSize(plugin, x, y, &plugin->config.steps, 1, 100));
 	y += 30;
-	add_subwindow(r = new RadialBlurToggle(plugin, x, y, &plugin->config.r, "Red"));
+	add_subwindow(r = new RadialBlurToggle(plugin, x, y, &plugin->config.r, _("Red")));
 	y += 30;
-	add_subwindow(g = new RadialBlurToggle(plugin, x, y, &plugin->config.g, "Green"));
+	add_subwindow(g = new RadialBlurToggle(plugin, x, y, &plugin->config.g, _("Green")));
 	y += 30;
-	add_subwindow(b = new RadialBlurToggle(plugin, x, y, &plugin->config.b, "Blue"));
+	add_subwindow(b = new RadialBlurToggle(plugin, x, y, &plugin->config.b, _("Blue")));
 	y += 30;
-	add_subwindow(a = new RadialBlurToggle(plugin, x, y, &plugin->config.a, "Alpha"));
+	add_subwindow(a = new RadialBlurToggle(plugin, x, y, &plugin->config.a, _("Alpha")));
 	y += 30;
 
 	show_window();
@@ -362,7 +367,7 @@
 	if(temp) delete temp;
 }
 
-char* RadialBlurMain::plugin_title() { return "Radial Blur"; }
+char* RadialBlurMain::plugin_title() { return _("Radial Blur"); }
 int RadialBlurMain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/reframe/reframe.C hvirtual-1.1.7/plugins/reframe/reframe.C
--- base-1.1.7/plugins/reframe/reframe.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/reframe/reframe.C	2003-10-05 19:49:15.000000000 +0200
@@ -5,6 +5,11 @@
 #include "reframe.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -32,7 +37,7 @@
 	delete defaults;
 }
 
-char* ReFrame::plugin_title() { return "Reframe"; }
+char* ReFrame::plugin_title() { return _("Reframe"); }
 
 NEW_PICON_MACRO(ReFrame) 
 
@@ -168,7 +173,7 @@
 void ReFrameWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(new BC_Title(x, y, "Scale factor:"));
+	add_subwindow(new BC_Title(x, y, _("Scale factor:")));
 	y += 20;
 	add_subwindow(new ReFrameOutput(plugin, x, y));
 	add_subwindow(new BC_OKButton(this));
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/resample/resample.C hvirtual-1.1.7/plugins/resample/resample.C
--- base-1.1.7/plugins/resample/resample.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/resample/resample.C	2003-10-05 19:02:01.000000000 +0200
@@ -53,7 +53,7 @@
 void ResampleWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(new BC_Title(x, y, "Scale factor:"));
+	add_subwindow(new BC_Title(x, y, _("Scale factor:")));
 	y += 20;
 	add_subwindow(new ResampleFraction(plugin, x, y));
 	add_subwindow(new BC_OKButton(this));
@@ -84,7 +84,7 @@
 
 char* ResampleEffect::plugin_title()
 {
-	return "Resample";
+	return _("Resample");
 }
 
 VFrame* ResampleEffect::new_picon()
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/reverb/reverb.C hvirtual-1.1.7/plugins/reverb/reverb.C
--- base-1.1.7/plugins/reverb/reverb.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/reverb/reverb.C	2003-10-05 19:50:20.000000000 +0200
@@ -14,6 +14,11 @@
 #include <time.h>
 #include <unistd.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 PluginClient* new_plugin(PluginServer *server)
@@ -74,7 +79,7 @@
 	}
 }
 
-char* Reverb::plugin_title() { return "Heroine College Concert Hall"; }
+char* Reverb::plugin_title() { return _("Heroine College Concert Hall"); }
 int Reverb::is_realtime() { return 1; }
 int Reverb::is_multichannel() { return 1; }
 
@@ -389,7 +394,7 @@
 // failed
 		ErrorBox errorbox("");
 		char string[1024];
-		sprintf(string, "Couldn't open %s.", path);
+		sprintf(string, _("Couldn't open %s."), path);
 		errorbox.create_objects(string);
 		errorbox.run_window();
 		result = 1;
@@ -423,7 +428,7 @@
 // failed
 			ErrorBox errorbox("");
 			char string[1024];
-			sprintf(string, "Couldn't save %s.", path);
+			sprintf(string, _("Couldn't save %s."), path);
 			errorbox.create_objects(string);
 			errorbox.run_window();
 			result = 1;
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/reverb/reverbwindow.C hvirtual-1.1.7/plugins/reverb/reverbwindow.C
--- base-1.1.7/plugins/reverb/reverbwindow.C	2002-07-12 02:34:02.000000000 +0200
+++ hvirtual-1.1.7/plugins/reverb/reverbwindow.C	2003-10-05 20:55:06.000000000 +0200
@@ -8,6 +8,11 @@
 
 PLUGIN_THREAD_OBJECT(Reverb, ReverbThread, ReverbWindow)
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 ReverbWindow::ReverbWindow(Reverb *reverb, int x, int y)
@@ -32,21 +37,21 @@
 int ReverbWindow::create_objects()
 {
 	int x = 170, y = 10;
-	add_tool(new BC_Title(5, y + 10, "Initial signal level:"));
+	add_tool(new BC_Title(5, y + 10, _("Initial signal level:")));
 	add_tool(level_init = new ReverbLevelInit(reverb, x, y)); y += 25;
-	add_tool(new BC_Title(5, y + 10, "ms before reflections:"));
+	add_tool(new BC_Title(5, y + 10, _("ms before reflections:")));
 	add_tool(delay_init = new ReverbDelayInit(reverb, x + 35, y)); y += 25;
-	add_tool(new BC_Title(5, y + 10, "First reflection level:"));
+	add_tool(new BC_Title(5, y + 10, _("First reflection level:")));
 	add_tool(ref_level1 = new ReverbRefLevel1(reverb, x, y)); y += 25;
-	add_tool(new BC_Title(5, y + 10, "Last reflection level:"));
+	add_tool(new BC_Title(5, y + 10, _("Last reflection level:")));
 	add_tool(ref_level2 = new ReverbRefLevel2(reverb, x + 35, y)); y += 25;
-	add_tool(new BC_Title(5, y + 10, "Number of reflections:"));
+	add_tool(new BC_Title(5, y + 10, _("Number of reflections:")));
 	add_tool(ref_total = new ReverbRefTotal(reverb, x, y)); y += 25;
-	add_tool(new BC_Title(5, y + 10, "ms of reflections:"));
+	add_tool(new BC_Title(5, y + 10, _("ms of reflections:")));
 	add_tool(ref_length = new ReverbRefLength(reverb, x + 35, y)); y += 25;
-	add_tool(new BC_Title(5, y + 10, "Start band for lowpass:"));
+	add_tool(new BC_Title(5, y + 10, _("Start band for lowpass:")));
 	add_tool(lowpass1 = new ReverbLowPass1(reverb, x, y)); y += 25;
-	add_tool(new BC_Title(5, y + 10, "End band for lowpass:"));
+	add_tool(new BC_Title(5, y + 10, _("End band for lowpass:")));
 	add_tool(lowpass2 = new ReverbLowPass2(reverb, x + 35, y)); y += 40;
 	show_window();
 	flush();
@@ -226,7 +231,7 @@
 
 int ReverbMenu::create_objects(Defaults *defaults)
 {
-	add_menu(filemenu = new BC_Menu("File"));
+	add_menu(filemenu = new BC_Menu(_("File")));
 	filemenu->add_item(load = new ReverbLoad(reverb, this));
 	filemenu->add_item(save = new ReverbSave(reverb, this));
 	//filemenu->add_item(set_default = new ReverbSetDefault);
@@ -323,7 +328,7 @@
 }
 
 ReverbLoad::ReverbLoad(Reverb *reverb, ReverbMenu *menu)
- : BC_MenuItem("Load...")
+ : BC_MenuItem(_("Load..."))
 {
 	this->reverb = reverb;
 	this->menu = menu;
@@ -340,7 +345,7 @@
 }
 
 ReverbSave::ReverbSave(Reverb *reverb, ReverbMenu *menu)
- : BC_MenuItem("Save...")
+ : BC_MenuItem(_("Save..."))
 {
 	this->reverb = reverb;
 	this->menu = menu;
@@ -357,7 +362,7 @@
 }
 
 ReverbSetDefault::ReverbSetDefault()
- : BC_MenuItem("Set default")
+ : BC_MenuItem(_("Set default"))
 {
 }
 int ReverbSetDefault::handle_event()
@@ -418,8 +423,8 @@
  : BC_FileBox(0,
  			0, 
  			reverb->config_directory, 
- 			"Save reverb", 
- 			"Select the reverb file to save as", 0, 0)
+ 			_("Save reverb"), 
+ 			_("Select the reverb file to save as"), 0, 0)
 {
 	this->reverb = reverb;
 }
@@ -501,8 +506,8 @@
  : BC_FileBox(0,
  			0, 
  			reverb->config_directory, 
- 			"Load reverb", 
- 			"Select the reverb file to load from", 0, 0)
+ 			_("Load reverb"), 
+ 			_("Select the reverb file to load from"), 0, 0)
 {
 	this->reverb = reverb;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/reverseaudio/reverseaudio.C hvirtual-1.1.7/plugins/reverseaudio/reverseaudio.C
--- base-1.1.7/plugins/reverseaudio/reverseaudio.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/reverseaudio/reverseaudio.C	2003-10-05 19:50:36.000000000 +0200
@@ -4,6 +4,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 PluginClient* new_plugin(PluginServer *server)
 {
@@ -19,7 +24,7 @@
 {
 }
 
-char* ReverseAudio::plugin_title() { return "Reverse audio"; }
+char* ReverseAudio::plugin_title() { return _("Reverse audio"); }
 
 int ReverseAudio::is_realtime() { return 0; }
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/reversevideo/reversevideo.C hvirtual-1.1.7/plugins/reversevideo/reversevideo.C
--- base-1.1.7/plugins/reversevideo/reversevideo.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/reversevideo/reversevideo.C	2003-10-05 19:03:13.000000000 +0200
@@ -1,6 +1,11 @@
 #include "mainprogress.h"
 #include "reversevideo.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -33,7 +38,7 @@
 
 char* ReverseVideo::plugin_title()
 {
-	return "Reverse video";
+	return _("Reverse video");
 }
 
 VFrame* ReverseVideo::new_picon()
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/rgb601/rgb601.C hvirtual-1.1.7/plugins/rgb601/rgb601.C
--- base-1.1.7/plugins/rgb601/rgb601.C	2002-08-01 18:13:03.000000000 +0200
+++ hvirtual-1.1.7/plugins/rgb601/rgb601.C	2003-10-05 19:50:49.000000000 +0200
@@ -8,6 +8,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 REGISTER_PLUGIN(RGB601Main)
 
 
@@ -29,7 +34,7 @@
 	PLUGIN_DESTRUCTOR_MACRO
 }
 
-char* RGB601Main::plugin_title() { return "RGB - 601"; }
+char* RGB601Main::plugin_title() { return _("RGB - 601"); }
 int RGB601Main::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/rgb601/rgb601window.C hvirtual-1.1.7/plugins/rgb601/rgb601window.C
--- base-1.1.7/plugins/rgb601/rgb601window.C	2002-07-18 18:16:48.000000000 +0200
+++ hvirtual-1.1.7/plugins/rgb601/rgb601window.C	2003-10-05 19:03:33.000000000 +0200
@@ -2,6 +2,11 @@
 #include "rgb601window.h"
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -35,9 +40,9 @@
 {
 	int x = 10, y = 10;
 	
-	add_tool(forward = new RGB601Direction(this, x, y, &client->config.direction, 1, "RGB -> 601"));
+	add_tool(forward = new RGB601Direction(this, x, y, &client->config.direction, 1, _("RGB -> 601")));
 	y += 30;
-	add_tool(reverse = new RGB601Direction(this, x, y, &client->config.direction, 2, "601 -> RGB"));
+	add_tool(reverse = new RGB601Direction(this, x, y, &client->config.direction, 2, _("601 -> RGB")));
 
 	show_window();
 	flush();
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/rotate/rotate.C hvirtual-1.1.7/plugins/rotate/rotate.C
--- base-1.1.7/plugins/rotate/rotate.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/rotate/rotate.C	2003-10-05 19:51:21.000000000 +0200
@@ -11,6 +11,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 #define SQR(x) ((x) * (x))
 #define MAXANGLE 360
@@ -216,7 +221,7 @@
 
 
 RotateInterpolate::RotateInterpolate(RotateEffect *plugin, int x, int y)
- : BC_CheckBox(x, y, plugin->config.bilinear, "Interpolate")
+ : BC_CheckBox(x, y, plugin->config.bilinear, _("Interpolate"))
 {
 	this->plugin = plugin;
 }
@@ -283,7 +288,7 @@
 
 
 
-	add_tool(new BC_Title(x, y, "Rotate"));
+	add_tool(new BC_Title(x, y, _("Rotate")));
 	x += 50;
 	y += 20;
 	add_tool(toggle0 = new RotateToggle(this, 
@@ -325,7 +330,7 @@
 	y -= 50;
 	add_tool(fine = new RotateFine(this, plugin, x, y));
 	y += fine->get_h() + 10;
-	add_tool(new BC_Title(x, y, "Angle"));
+	add_tool(new BC_Title(x, y, _("Angle")));
 
 
 
@@ -420,7 +425,7 @@
 
 char* RotateEffect::plugin_title() 
 {
-	return "Rotate";
+	return _("Rotate");
 }
 
 int RotateEffect::is_realtime() 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/rotate/rotatewindow.C hvirtual-1.1.7/plugins/rotate/rotatewindow.C
--- base-1.1.7/plugins/rotate/rotatewindow.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/rotate/rotatewindow.C	2003-10-05 19:03:56.000000000 +0200
@@ -1,5 +1,10 @@
 #include "rotatewindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 RotateThread::RotateThread(RotateMain *client)
  : Thread()
@@ -40,26 +45,26 @@
 int RotateWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(x, y, "Rotate"));
+	add_tool(new BC_Title(x, y, _("Rotate")));
 	x += 50;
 	y += 20;
-	add_tool(toggle0 = new RotateToggle(this, client, client->angle == 0, x, y, 0, "0"));
+	add_tool(toggle0 = new RotateToggle(this, client, client->angle == 0, x, y, 0, _("0")));
     x += RADIUS;
     y += RADIUS;
-	add_tool(toggle90 = new RotateToggle(this, client, client->angle == 90, x, y, 90, "90"));
+	add_tool(toggle90 = new RotateToggle(this, client, client->angle == 90, x, y, 90, _("90")));
     x -= RADIUS;
     y += RADIUS;
-	add_tool(toggle180 = new RotateToggle(this, client, client->angle == 180, x, y, 180, "180"));
+	add_tool(toggle180 = new RotateToggle(this, client, client->angle == 180, x, y, 180, _("180")));
     x -= RADIUS;
     y -= RADIUS;
-	add_tool(toggle270 = new RotateToggle(this, client, client->angle == 270, x, y, 270, "270"));
+	add_tool(toggle270 = new RotateToggle(this, client, client->angle == 270, x, y, 270, _("270")));
 	x += 110;
 	y -= 50;
 	add_tool(fine = new RotateFine(this, client, x, y));
 	y += fine->get_h() + 10;
-	add_tool(new BC_Title(x, y, "Angle"));
+	add_tool(new BC_Title(x, y, _("Angle")));
 	y += 20;
-	add_tool(new BC_Title(x, y, "(Automated)"));
+	add_tool(new BC_Title(x, y, _("(Automated)")));
 }
 
 int RotateWindow::close_event()
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/scale/scale.C hvirtual-1.1.7/plugins/scale/scale.C
--- base-1.1.7/plugins/scale/scale.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/scale/scale.C	2003-10-05 19:51:34.000000000 +0200
@@ -6,6 +6,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 REGISTER_PLUGIN(ScaleMain)
 
 
@@ -69,7 +74,7 @@
 	overlayer = 0;
 }
 
-char* ScaleMain::plugin_title() { return "Scale"; }
+char* ScaleMain::plugin_title() { return _("Scale"); }
 int ScaleMain::is_realtime() { return 1; }
 
 NEW_PICON_MACRO(ScaleMain)
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/scale/scalewin.C hvirtual-1.1.7/plugins/scale/scalewin.C
--- base-1.1.7/plugins/scale/scalewin.C	2003-08-08 06:02:20.000000000 +0200
+++ hvirtual-1.1.7/plugins/scale/scalewin.C	2003-10-05 19:04:08.000000000 +0200
@@ -2,6 +2,11 @@
 #include "clip.h"
 #include "scale.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -38,12 +43,12 @@
 {
 	int x = 10, y = 10;
 
-	add_tool(new BC_Title(x, y, "X Scale:"));
+	add_tool(new BC_Title(x, y, _("X Scale:")));
 	y += 20;
 	width = new ScaleWidth(this, client, x, y);
 	width->create_objects();
 	y += 30;
-	add_tool(new BC_Title(x, y, "Y Scale:"));
+	add_tool(new BC_Title(x, y, _("Y Scale:")));
 	y += 20;
 	height = new ScaleHeight(this, client, x, y);
 	height->create_objects();
@@ -136,7 +141,7 @@
 
 
 ScaleConstrain::ScaleConstrain(ScaleMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.constrain, "Constrain ratio")
+ : BC_CheckBox(x, y, client->config.constrain, _("Constrain ratio"))
 {
 	this->client = client;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/sharpen/sharpen.C hvirtual-1.1.7/plugins/sharpen/sharpen.C
--- base-1.1.7/plugins/sharpen/sharpen.C	2002-07-08 04:04:08.000000000 +0200
+++ hvirtual-1.1.7/plugins/sharpen/sharpen.C	2003-10-05 20:00:00.000000000 +0200
@@ -8,6 +8,11 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 REGISTER_PLUGIN(SharpenMain)
 
 
@@ -105,7 +110,7 @@
 
 LOAD_CONFIGURATION_MACRO(SharpenMain, SharpenConfig)
 
-char* SharpenMain::plugin_title() { return "Sharpen"; }
+char* SharpenMain::plugin_title() { return _("Sharpen"); }
 int SharpenMain::is_realtime() { return 1; }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/sharpen/sharpenwindow.C hvirtual-1.1.7/plugins/sharpen/sharpenwindow.C
--- base-1.1.7/plugins/sharpen/sharpenwindow.C	2002-08-11 08:03:58.000000000 +0200
+++ hvirtual-1.1.7/plugins/sharpen/sharpenwindow.C	2003-10-05 19:04:21.000000000 +0200
@@ -1,6 +1,11 @@
 #include "bcdisplayinfo.h"
 #include "sharpenwindow.h"
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 PLUGIN_THREAD_OBJECT(SharpenMain, SharpenThread, SharpenWindow)
 
@@ -32,7 +37,7 @@
 int SharpenWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_tool(new BC_Title(x, y, "Sharpness"));
+	add_tool(new BC_Title(x, y, _("Sharpness")));
 	y += 20;
 	add_tool(sharpen_slider = new SharpenSlider(client, &(client->config.sharpness), x, y));
 	y += 30;
@@ -83,7 +88,7 @@
 
 
 SharpenInterlace::SharpenInterlace(SharpenMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.interlace, "Interlace")
+ : BC_CheckBox(x, y, client->config.interlace, _("Interlace"))
 {
 	this->client = client;
 }
@@ -101,7 +106,7 @@
 
 
 SharpenHorizontal::SharpenHorizontal(SharpenMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.horizontal, "Horizontal only")
+ : BC_CheckBox(x, y, client->config.horizontal, _("Horizontal only"))
 {
 	this->client = client;
 }
@@ -118,7 +123,7 @@
 
 
 SharpenLuminance::SharpenLuminance(SharpenMain *client, int x, int y)
- : BC_CheckBox(x, y, client->config.luminance, "Luminance only")
+ : BC_CheckBox(x, y, client->config.luminance, _("Luminance only"))
 {
 	this->client = client;
 }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/shiftinterlace/shiftinterlace.C hvirtual-1.1.7/plugins/shiftinterlace/shiftinterlace.C
--- base-1.1.7/plugins/shiftinterlace/shiftinterlace.C	2002-07-07 21:01:50.000000000 +0200
+++ hvirtual-1.1.7/plugins/shiftinterlace/shiftinterlace.C	2003-10-05 20:00:19.000000000 +0200
@@ -13,6 +13,11 @@
 #include <string.h>
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -181,10 +186,10 @@
 	int x = 10, y = 10;
 	int margin = 30;
 
-	add_subwindow(new BC_Title(x, y, "Odd offset:"));
+	add_subwindow(new BC_Title(x, y, _("Odd offset:")));
 	add_subwindow(odd_offset = new ShiftInterlaceOdd(plugin, x + 90, y));
 	y += margin;
-	add_subwindow(new BC_Title(x, y, "Even offset:"));
+	add_subwindow(new BC_Title(x, y, _("Even offset:")));
 	add_subwindow(even_offset = new ShiftInterlaceEven(plugin, x + 90, y));
 
 	show_window();
@@ -266,7 +271,7 @@
 
 char* ShiftInterlaceMain::plugin_title() 
 {
-	return "ShiftInterlace channels";
+	return _("ShiftInterlace channels");
 }
 
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/slide/slide.C hvirtual-1.1.7/plugins/slide/slide.C
--- base-1.1.7/plugins/slide/slide.C	2002-06-21 14:35:26.000000000 +0200
+++ hvirtual-1.1.7/plugins/slide/slide.C	2003-10-05 19:04:47.000000000 +0200
@@ -11,6 +11,11 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 REGISTER_PLUGIN(SlideMain)
 
 
@@ -24,7 +29,7 @@
  : BC_Radial(x, 
 		y, 
 		plugin->motion_direction == 0, 
-		"Left")
+		_("Left"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -46,7 +51,7 @@
  : BC_Radial(x, 
 		y, 
 		plugin->motion_direction == 1, 
-		"Right")
+		_("Right"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -68,7 +73,7 @@
  : BC_Radial(x, 
 		y, 
 		plugin->direction == 0, 
-		"In")
+		_("In"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -90,7 +95,7 @@
  : BC_Radial(x, 
 		y, 
 		plugin->direction == 1, 
-		"Out")
+		_("Out"))
 {
 	this->plugin = plugin;
 	this->window = window;
@@ -137,7 +142,7 @@
 void SlideWindow::create_objects()
 {
 	int x = 10, y = 10;
-	add_subwindow(new BC_Title(x, y, "Direction:"));
+	add_subwindow(new BC_Title(x, y, _("Direction:")));
 	x += 100;
 	add_subwindow(left = new SlideLeft(plugin, 
 		this,
@@ -151,7 +156,7 @@
 
 	y += 30;
 	x = 10;
-	add_subwindow(new BC_Title(x, y, "Direction:"));
+	add_subwindow(new BC_Title(x, y, _("Direction:")));
 	x += 100;
 	add_subwindow(in = new SlideIn(plugin, 
 		this,
@@ -190,7 +195,7 @@
 	PLUGIN_DESTRUCTOR_MACRO
 }
 
-char* SlideMain::plugin_title() { return "Slide"; }
+char* SlideMain::plugin_title() { return _("Slide"); }
 int SlideMain::is_video() { return 1; }
 int SlideMain::is_transition() { return 1; }
 int SlideMain::uses_gui() { return 1; }
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/spectrogram/spectrogram.C hvirtual-1.1.7/plugins/spectrogram/spectrogram.C
--- base-1.1.7/plugins/spectrogram/spectrogram.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/spectrogram/spectrogram.C	2003-10-05 20:00:36.000000000 +0200
@@ -9,6 +9,11 @@
 
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 REGISTER_PLUGIN(Spectrogram)
@@ -94,7 +99,7 @@
 	x = canvas->get_x();
 	y = canvas->get_y() + canvas->get_h() + 5;
 
-	add_subwindow(new BC_Title(x, y + 10, "Level:"));
+	add_subwindow(new BC_Title(x, y + 10, _("Level:")));
 	add_subwindow(level = new SpectrogramLevel(plugin, x + 50, y));
 
 	show_window();
@@ -239,7 +244,7 @@
 
 char* Spectrogram::plugin_title()
 {
-	return "Spectrogram";
+	return _("Spectrogram");
 }
 
 int Spectrogram::is_realtime()
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/swapchannels/swapchannels.C hvirtual-1.1.7/plugins/swapchannels/swapchannels.C
--- base-1.1.7/plugins/swapchannels/swapchannels.C	2003-05-12 21:03:43.000000000 +0200
+++ hvirtual-1.1.7/plugins/swapchannels/swapchannels.C	2003-10-05 19:19:08.000000000 +0200
@@ -11,6 +11,11 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 
@@ -82,21 +87,21 @@
 	int x = 10, y = 10;
 	int margin = 30;
 
-	add_subwindow(new BC_Title(x, y, "Swap channels"));
+	add_subwindow(new BC_Title(x, y, _("Swap channels")));
 	y += margin;
-	add_subwindow(new BC_Title(x + 160, y + 5, "-> Red"));
+	add_subwindow(new BC_Title(x + 160, y + 5, _("-> Red")));
 	add_subwindow(red = new SwapMenu(plugin, &(plugin->config.red), x, y));
 	red->create_objects();
 	y += margin;
-	add_subwindow(new BC_Title(x + 160, y + 5, "-> Green"));
+	add_subwindow(new BC_Title(x + 160, y + 5, _("-> Green")));
 	add_subwindow(green = new SwapMenu(plugin, &(plugin->config.green), x, y));
 	green->create_objects();
 	y += margin;
-	add_subwindow(new BC_Title(x + 160, y + 5, "-> Blue"));
+	add_subwindow(new BC_Title(x + 160, y + 5, _("-> Blue")));
 	add_subwindow(blue = new SwapMenu(plugin, &(plugin->config.blue), x, y));
 	blue->create_objects();
 	y += margin;
-	add_subwindow(new BC_Title(x + 160, y + 5, "-> Alpha"));
+	add_subwindow(new BC_Title(x + 160, y + 5, _("-> Alpha")));
 	add_subwindow(alpha = new SwapMenu(plugin, &(plugin->config.alpha), x, y));
 	alpha->create_objects();
 
@@ -201,7 +206,7 @@
 
 char* SwapMain::plugin_title() 
 {
-	return "Swap channels";
+	return _("Swap channels");
 }
 
 int SwapMain::is_synthesis()
@@ -429,22 +434,22 @@
 	switch(value)
 	{
 		case RED_SRC:
-			return "Red";
+			return _("Red");
 			break;
 		case GREEN_SRC:
-			return "Green";
+			return _("Green");
 			break;
 		case BLUE_SRC:
-			return "Blue";
+			return _("Blue");
 			break;
 		case ALPHA_SRC:
-			return "Alpha";
+			return _("Alpha");
 			break;
 		case NO_SRC:
-			return "0%";
+			return _("0%");
 			break;
 		case MAX_SRC:
-			return "100%";
+			return _("100%");
 			break;
 		default:
 			return "";
@@ -454,12 +459,12 @@
 
 int SwapMain::text_to_output(char *text)
 {
-	if(!strcmp(text, "Red")) return RED_SRC;
-	if(!strcmp(text, "Green")) return GREEN_SRC;
-	if(!strcmp(text, "Blue")) return BLUE_SRC;
-	if(!strcmp(text, "Alpha")) return ALPHA_SRC;
-	if(!strcmp(text, "0%")) return NO_SRC;
-	if(!strcmp(text, "100%")) return MAX_SRC;
+	if(!strcmp(text, _("Red"))) return RED_SRC;
+	if(!strcmp(text, _("Green"))) return GREEN_SRC;
+	if(!strcmp(text, _("Blue"))) return BLUE_SRC;
+	if(!strcmp(text, _("Alpha"))) return ALPHA_SRC;
+	if(!strcmp(text, _("0%"))) return NO_SRC;
+	if(!strcmp(text, _("100%"))) return MAX_SRC;
 	return 0;
 }
 
diff -ur -x 'Makefi*' -x 'configure.in*' base-1.1.7/plugins/synthesizer/synthesizer.C hvirtual-1.1.7/plugins/synthesizer/synthesizer.C
--- base-1.1.7/plugins/synthesizer/synthesizer.C	2003-09-28 00:25:22.000000000 +0200
+++ hvirtual-1.1.7/plugins/synthesizer/synthesizer.C	2003-10-05 20:06:21.000000000 +0200
@@ -10,6 +10,11 @@
 #include <string.h>
 
 
+#include <libintl.h>
+#define _(String) gettext(String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+
 
 
 PluginClient* new_plugin(PluginServer *server)
@@ -53,7 +58,7 @@
 
 char* Synth::plugin_title()
 {
-	return "Synthesizer";
+	return _("Synthesizer");
 }
 
 
@@ -559,8 +564,8 @@
 	add_subwindow(menu = new BC_MenuBar(0, 0, get_w()));
 
 	BC_Menu *levelmenu, *phasemenu, *harmonicmenu;
-	menu->add_menu(levelmenu = new BC_Menu("Level"));
-	menu->add_menu(phasemenu = new BC_Menu("Phase"));
+	menu->add_menu(levelmenu = new BC_Menu(_("Level")));
+	menu->add_menu(phasemenu = new BC_Menu(_("Phase")));
 	menu->add_menu(harmonicmenu = new BC_Menu("Harmonic"));
 
 	levelmenu->add_item(new SynthLevelInvert(synth));
@@ -582,9 +587,9 @@
 	harmonicmenu->add_item(new SynthFreqPrime(synth));
 
 	int x = 10, y = 30, i;
-	add_subwindow(new BC_Title(x, y, "Waveform"));
+	add_subwindow(new BC_Title(x, y, _("Waveform")));
 	x += 240;
-	add_subwindow(new BC_Title(x, y, "Wave Function"));
+	add_subwindow(new BC_Title(x, y, _("Wave Function")));
 	y += 20;
 	x = 10;
 	add_subwindow(canvas = new SynthCanvas(synth, this, x, y, 230, 160));
@@ -599,7 +604,7 @@
 	y += 30;
 
 
-	add_subwindow(new BC_Title(x, y, "Base Frequency:"));
+	add_subwindow(new BC_Title(x, y, _("Base Frequency:")));
 	y += 30;
 	add_subwindow(base_freq = new SynthBaseFreq(synth, x, y));
 	x += 80;
@@ -608,7 +613,7 @@
 	freqpot->freq_text = base_freq;
 	x -= 80;
 	y += 40;
-	add_subwindow(new BC_Title(x, y, "Wetness:"));
+	add_subwindow(new BC_Title(x, y, _("Wetness:")));
 	add_subwindow(wetness = new SynthWetness(synth, x + 70, y - 10));
 
 	y += 40;
@@ -617,11 +622,11 @@
 
 	x = 50;  
 	y = 220;
-	add_subwindow(new BC_Title(x, y, "Level")); 
+	add_subwindow(new BC_Title(x, y, _("Level"))); 
 	x += 75;
-	add_subwindow(new BC_Title(x, y, "Phase")); 
+	add_subwindow(new BC_Title(x, y, _("Phase"))); 
 	x += 75;
-	add_subwindow(new BC_Title(x, y, "Harmonic"));
+	add_subwindow(new BC_Title(x, y, _("Harmonic")));
 
 
 
@@ -739,13 +744,13 @@
 {
 	switch(waveform)
 	{
-		case DC:              sprintf(text, "DC");           break;
-		case SINE:            sprintf(text, "Sine");           break;
-		case SAWTOOTH:        sprintf(text, "Sawtooth");       break;
-		case SQUARE:          sprintf(text, "Square");         break;
-		case TRIANGLE:        sprintf(text, "Triangle");       break;
-		case PULSE:           sprintf(text, "Pulse");       break;
-		case NOISE:           sprintf(text, "Noise");       break;
+		case DC:              sprintf(text, _("DC"));           break;
+		case SINE:            sprintf(text, _("Sine"));           break;
+		case SAWTOOTH:        sprintf(text, _("Sawtooth"));       break;
+		case SQUARE:          sprintf(text, _("Square"));         break;
+		case TRIANGLE:        sprintf(text, _("Triangle"));       break;
+		case PULSE:           sprintf(text, _("Pulse"));       break;
+		case NOISE:           sprintf(text, _("Noise"));       break;
 	}
 	return 0;
 }
@@ -868,7 +873,7 @@
 
 
 SynthAddOsc::SynthAddOsc(Synth *synth, SynthWindow *window, int x, int y)
- : BC_GenericButton(x, y, "Add")
+ : BC_GenericButton(x, y, _("Add"))
 {
 	this->synth = synth;
 	this->window = window;
@@ -889,7 +894,7 @@
 
 
 SynthDelOsc::SynthDelOsc(Synth *synth, SynthWindow *window, int x, int y)
- : BC_GenericButton(x, y, "Delete")
+ : BC_GenericButton(x, y, _("Delete"))
 {
 	this->synth = synth;
 	this->window = window;
@@ -960,7 +965,7 @@
 
 
 SynthClear::SynthClear(Synth *synth, int x, int y)
- : BC_GenericButton(x, y, "Clear")
+ : BC_GenericButton(x, y, _("Clear"))
 {
 	this->synth = synth;
 }
@@ -992,13 +997,13 @@
 
 int SynthWaveForm::create_objects()
 {
-//	add_item(new SynthWaveFormItem(synth, "DC", DC));
-	add_item(new SynthWaveFormItem(synth, "Sine", SINE));
-	add_item(new SynthWaveFormItem(synth, "Sawtooth", SAWTOOTH));
-	add_item(new SynthWaveFormItem(synth, "Square", SQUARE));
-	add_item(new SynthWaveFormItem(synth, "Triangle", TRIANGLE));
-	add_item(new SynthWaveFormItem(synth, "Pulse", PULSE));
-	add_item(new SynthWaveFormItem(synth, "Noise", NOISE));
+//	add_item(new SynthWaveFormItem(synth, _("DC"), DC));
+	add_item(new SynthWaveFormItem(synth, _("Sine"), SINE));
+	add_item(new SynthWaveFormItem(synth, _("Sawtooth"), SAWTOOTH));
+	add_item(new SynthWaveFormItem(synth, _("Square"), SQUARE));
+	add_item(new SynthWaveFormItem(synth, _("Triangle"), TRIANGLE));
+	add_item(new SynthWaveFormItem(synth, _("Pulse"), PULSE));
+	add_item(new SynthWaveFormItem(synth, _("Noise"), NOISE));
 	return 0;
 }
 
@@ -1140,7 +1145,7 @@
 
 // ======================= level calculations
 SynthLevelZero::SynthLevelZero(Synth *synth)
- : BC_MenuItem("Zero")
+ : BC_MenuItem(_("Zero"))
 { 
 	this->synth = synth; 
 }
@@ -1161,7 +1166,7 @@
 }
 
 SynthLevelMax::SynthLevelMax(Synth *synth)
- : BC_MenuItem("Maximum")
+ : BC_MenuItem(_("Maximum"))
 { 
 	this->synth = synth; 
 }
@@ -1181,7 +1186,7 @@
 }
 
 SynthLevelNormalize::SynthLevelNormalize(Synth *synth)
- : BC_MenuItem("Normalize")
+ : BC_MenuItem(_("Normalize"))
 {
 	this->synth = synth;
 }
@@ -1217,7 +1222,7 @@
 }
 
 SynthLevelSlope::SynthLevelSlope(Synth *synth)
- : BC_MenuItem("Slope")
+ : BC_MenuItem(_("Slope"))
 {
 	this->synth = synth;
 }
@@ -1240,7 +1245,7 @@
 }
 
 SynthLevelRandom::SynthLevelRandom(Synth *synth)
- : BC_MenuItem("Random")
+ : BC_MenuItem(_("Random"))
 { 
 	this->synth = synth; 
 }
@@ -1261,7 +1266,7 @@
 }
 
 SynthLevelInvert::SynthLevelInvert(Synth *synth)
- : BC_MenuItem("Invert")
+ : BC_MenuItem(_("Invert"))
 {
 	this->synth = synth;
 }
@@ -1282,7 +1287,7 @@
 }
 
 SynthLevelSine::SynthLevelSine(Synth *synth)
- : BC_MenuItem("Sine")
+ 