Index: lib/Padre/Wx/Dialog/Bookmarks.pm
===================================================================
--- lib/Padre/Wx/Dialog/Bookmarks.pm	(Revision 693)
+++ lib/Padre/Wx/Dialog/Bookmarks.pm	(Arbeitskopie)
@@ -8,6 +8,7 @@
 
 use Padre::Wx;
 use Padre::Wx::Dialog;
+use Wx::Locale qw(:default);
 
 our $VERSION = '0.15';
 
@@ -16,11 +17,11 @@
 	
 	my @layout;
 	if ($text) {
-		push @layout, [['Wx::TextCtrl', 'entry', $text]];
+		push @layout, [['Wx::TextCtrl', gettext('entry'), $text]];
 	}
 	push @layout,
 		[
-			['Wx::StaticText', undef, "Existing bookmarks:"],
+			['Wx::StaticText', undef, gettext("Existing bookmarks:")],
 		],
 		[
 			['Wx::Treebook',   'tb', $shortcuts],
@@ -41,7 +42,7 @@
 sub dialog {
 	my ($class, $main, $text) = @_;
 
-	my $title = $text ? "Set Bookmark" : "GoTo Bookmark";
+	my $title = $text ? gettext("Set Bookmark") : gettext("GoTo Bookmark");
 	my $config = Padre->ide->config;
 	my @shortcuts = sort keys %{ $config->{bookmarks} };
 
@@ -107,7 +108,7 @@
 	my $path     = $main->selected_filename;
 	my $file     = File::Basename::basename($path || '');
 
-	my $dialog   = $class->dialog($main, "$file line $line");
+	my $dialog   = $class->dialog($main, gettext("%s line %s", $file, $line));
 	return if not show_modal($dialog);
 	
 	my $data     = _get_data($dialog);
Index: lib/Padre/Wx/Dialog/Find.pm
===================================================================
--- lib/Padre/Wx/Dialog/Find.pm	(Revision 693)
+++ lib/Padre/Wx/Dialog/Find.pm	(Arbeitskopie)
@@ -8,6 +8,7 @@
 
 use Padre::Wx;
 use Padre::Wx::Dialog;
+use Wx::Locale qw(:default);
 
 our $VERSION = '0.15';
 
@@ -18,31 +19,31 @@
 
 	my @layout = (
 		[
-			[ 'Wx::StaticText', undef,              'Find:'],
+			[ 'Wx::StaticText', undef,              gettext('Find:')],
 			[ 'Wx::ComboBox',   '_find_choice_',    $search_term, $config->{search_terms}],
 			[ 'Wx::Button',     '_find_',           Wx::wxID_FIND ],
 		],
 		[
-			[ 'Wx::StaticText', undef,              'Replace With:'],
+			[ 'Wx::StaticText', undef,              gettext('Replace With:')],
 			[ 'Wx::ComboBox',   '_replace_choice_',    '', $config->{replace_terms}],
 			[ 'Wx::Button',     '_replace_',        '&Replace'],
 		],
 		[
 			[],
 			[],
-			[ 'Wx::Button',     '_replace_all_',    'Replace &All'],
+			[ 'Wx::Button',     '_replace_all_',    gettext('Replace &All')],
 		],
 		[
-			['Wx::CheckBox',    'case_insensitive', 'Case &Insensitive',    ($config->{search}->{case_insensitive} ? 1 : 0) ],
+			['Wx::CheckBox',    'case_insensitive', gettext('Case &Insensitive'),    ($config->{search}->{case_insensitive} ? 1 : 0) ],
 		],
 		[
-			['Wx::CheckBox',    'use_regex',        '&Use Regex',           ($config->{search}->{use_regex} ? 1 : 0) ],
+			['Wx::CheckBox',    'use_regex',        gettext('&Use Regex'),           ($config->{search}->{use_regex} ? 1 : 0) ],
 		],
 		[
-			['Wx::CheckBox',    'backwards',        'Search &Backwards',    ($config->{search}->{backwards} ? 1 : 0) ],
+			['Wx::CheckBox',    'backwards',        gettext('Search &Backwards'),    ($config->{search}->{backwards} ? 1 : 0) ],
 		],
 		[
-			['Wx::CheckBox',    'close_on_hit',     'Close Window on &hit', ($config->{search}->{close_on_hit} ? 1 : 0) ],
+			['Wx::CheckBox',    'close_on_hit',     gettext('Close Window on &hit'), ($config->{search}->{close_on_hit} ? 1 : 0) ],
 		],
 		[
 			[],
@@ -75,7 +76,7 @@
 	my $layout = get_layout($search_term, $config);
 	my $dialog = Padre::Wx::Dialog->new(
 		parent => $win,
-		title  => "Search",
+		title  => gettext("Search"),
 		layout => $layout,
 		width  => [150, 200],
 	);
@@ -254,7 +255,7 @@
 	eval { $regex = qr/$search_term/m };
 	if ($@) {
 		my $main_window = Padre->ide->wx->main_window;
-		Wx::MessageBox("Cannot build regex for '$search_term'", "Search error", Wx::wxOK, $main_window);
+		Wx::MessageBox(gettext("Cannot build regex for '%s'", $search_term), gettext("Search error"), Wx::wxOK, $main_window);
 		return;
 	}
 	return $regex;
Index: lib/Padre/Wx/Dialog/Preferences.pm
===================================================================
--- lib/Padre/Wx/Dialog/Preferences.pm	(Revision 693)
+++ lib/Padre/Wx/Dialog/Preferences.pm	(Arbeitskopie)
@@ -6,6 +6,7 @@
 
 use Padre::Wx         ();
 use Padre::Wx::Dialog ();
+use Wx::Locale        qw(:default);
 
 our $VERSION = '0.15';
 
@@ -15,22 +16,22 @@
 	return [
 		[
 			[],
-			['Wx::CheckBox',    'editor_use_tabs', 'Use Tabs',    ($config->{editor_use_tabs} ? 1 : 0) ],
+			['Wx::CheckBox',    'editor_use_tabs', gettext('Use Tabs'),    ($config->{editor_use_tabs} ? 1 : 0) ],
 		],
 		[
-			[ 'Wx::StaticText', undef,              'TAB display size (in spaces)'],
+			[ 'Wx::StaticText', undef,              gettext('TAB display size (in spaces)')],
 			[ 'Wx::TextCtrl',   'editor_tabwidth',	$config->{editor_tabwidth}],
 		],
 		[
-			[ 'Wx::StaticText', undef,              'Max number of modules'],
+			[ 'Wx::StaticText', undef,              gettext('Max number of modules')],
 			[ 'Wx::TextCtrl',   'pod_maxlist',		$config->{pod_maxlist}],
 		],
 		[
-			[ 'Wx::StaticText', undef,              'Min number of modules'],
+			[ 'Wx::StaticText', undef,              gettext('Min number of modules')],
 			[ 'Wx::TextCtrl',   'pod_minlist', 	     $config->{pod_minlist}],
 		],
 		[
-			[ 'Wx::StaticText', undef,              'Open files:'],
+			[ 'Wx::StaticText', undef,              gettext('Open files:')],
 			[ 'Wx::Choice',     'choice',    $values],
 		],
 		[
@@ -51,7 +52,7 @@
 	my $layout = get_layout($config, \@values);
 	my $dialog = Padre::Wx::Dialog->new(
 		parent => $win,
-		title  => "Preferences",
+		title  => gettext("Preferences"),
 		layout => $layout,
 		width  => [250, 200],
 	);
Index: lib/Padre/Wx/Dialog/ModuleStart.pm
===================================================================
--- lib/Padre/Wx/Dialog/ModuleStart.pm	(Revision 693)
+++ lib/Padre/Wx/Dialog/ModuleStart.pm	(Arbeitskopie)
@@ -10,6 +10,7 @@
 
 use Padre::Wx         ();
 use Padre::Wx::Dialog ();
+use Wx::Locale        qw(:default);
 
 our $VERSION = '0.15';
 
@@ -25,28 +26,28 @@
 
 	my @layout = (
 		[
-			[ 'Wx::StaticText', undef,              'Module Name:'],
+			[ 'Wx::StaticText', undef,              gettext('Module Name:')],
 			[ 'Wx::TextCtrl',   '_module_name_',    ''],
 		],
 		[
-			[ 'Wx::StaticText', undef,              'Author:'],
+			[ 'Wx::StaticText', undef,              gettext('Author:')],
 			[ 'Wx::TextCtrl',   '_author_name_',    ($config->{module_start}{author_name} || '') ],
 		],
 		[
-			[ 'Wx::StaticText', undef,              'Email:'],
+			[ 'Wx::StaticText', undef,              gettext('Email:')],
 			[ 'Wx::TextCtrl',   '_email_',          ($config->{module_start}{email} || '') ],
 		],
 		[
-			[ 'Wx::StaticText', undef,              'Builder:'],
+			[ 'Wx::StaticText', undef,              gettext('Builder:')],
 			[ 'Wx::ComboBox',   '_builder_choice_', '',       \@builders],
 		],
 		[
-			[ 'Wx::StaticText', undef,              'License:'],
+			[ 'Wx::StaticText', undef,              gettext('License:')],
 			[ 'Wx::ComboBox',   '_license_choice_', '',       \@licenses],
 		],
 		[
-			[ 'Wx::StaticText',      undef,         'Parent Directory:'],
-			[ 'Wx::DirPickerCtrl',   '_directory_', '',   'Pick parent directory'],
+			[ 'Wx::StaticText',      undef,         gettext('Parent Directory:')],
+			[ 'Wx::DirPickerCtrl',   '_directory_', '',   gettext('Pick parent directory')],
 		],
 		[
 			[ 'Wx::Button',     '_ok_',           Wx::wxID_OK     ],
@@ -70,7 +71,7 @@
 	my $layout = get_layout($config);
 	my $dialog = Padre::Wx::Dialog->new(
 		parent          => $win,
-		title           => "Module Start",
+		title           => gettext("Module Start"),
 		layout          => $layout,
 		width           => [100, 200],
 	);
@@ -79,7 +80,7 @@
 	Wx::Event::EVT_BUTTON( $dialog, $dialog->{_widgets_}{_ok_},      \&ok_clicked      );
 	Wx::Event::EVT_BUTTON( $dialog, $dialog->{_widgets_}{_cancel_},  \&cancel_clicked  );
 
-	$dialog->{_widgets_}{_license_choice_}->SetValue('perl');
+	$dialog->{_widgets_}{_license_choice_}->SetValue(gettext('perl'));
 
 	$dialog->{_widgets_}{_module_name_}->SetFocus;
 	$dialog->Show(1);
@@ -113,7 +114,7 @@
 	my @fields = qw(_module_name_ _author_name_ _email_ _builder_choice_ _license_choice_);
 	foreach my $f (@fields) {
 		if (not $data->{$f}) {
-			Wx::MessageBox("Field $f was missing. Module not created.", "missing field", Wx::wxOK, $main_window);
+			Wx::MessageBox(gettext("Field %s was missing. Module not created.", $f), gettext("missing field"), Wx::wxOK, $main_window);
 			return;
 		}
 	}
@@ -130,7 +131,7 @@
 	Module::Starter::App->run;
 	@ARGV = ();
 	chdir $pwd;
-	Wx::MessageBox("$data->{_module_name_} apparantly created.", "Done", Wx::wxOK, $main_window);
+	Wx::MessageBox(gettext("%s apparantly created.", $data->{_module_name_}), gettext("Done"), Wx::wxOK, $main_window);
 
 	return;
 }
Index: lib/Padre/Wx/Menu.pm
===================================================================
--- lib/Padre/Wx/Menu.pm	(Revision 693)
+++ lib/Padre/Wx/Menu.pm	(Arbeitskopie)
@@ -8,6 +8,7 @@
 use Padre::Wx        ();
 use Padre::Util      ();
 use Padre::Documents ();
+use Wx::Locale       qw(:default);
 
 our $VERSION = '0.15';
 
@@ -34,16 +35,16 @@
 
 	# Creating new things
 	Wx::Event::EVT_MENU( $win,
-		$menu->{file}->Append( -1, "New Tab\tCtrl-T" ),
+		$menu->{file}->Append( -1, gettext("New Tab\tCtrl-T") ),
 		sub {
 			$_[0]->setup_editor;
 			return;
 		},
 	);
 	$menu->{file_new} = Wx::Menu->new;
-	$menu->{file}->Append( -1, "New...", $menu->{file_new} );
+	$menu->{file}->Append( -1, gettext("New..."), $menu->{file_new} );
 	Wx::Event::EVT_MENU( $win,
-		$menu->{file_new}->Append( -1, 'Perl Distribution (Module::Starter)' ),
+		$menu->{file_new}->Append( -1, gettext('Perl Distribution (Module::Starter)') ),
 		\&Padre::Wx::Dialog::ModuleStart::on_start,
 	);
 
@@ -53,7 +54,7 @@
 		sub { $_[0]->on_open },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{file}->Append( -1, "Open Selection\tCtrl-Shift-O" ),
+		$menu->{file}->Append( -1, gettext("Open Selection\tCtrl-Shift-O") ),
 		sub { $_[0]->on_open_selection },
 	);
 	Wx::Event::EVT_MENU( $win,
@@ -61,15 +62,15 @@
 		sub { $_[0]->on_close },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{file}->Append( -1, 'Close All' ),
+		$menu->{file}->Append( -1, gettext('Close All') ),
 		sub { $_[0]->on_close_all },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{file}->Append( -1, 'Close All but Current Document' ),
+		$menu->{file}->Append( -1, gettext('Close All but Current Document') ),
 		sub { $_[0]->on_close_all_but_current },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{file}->Append( -1, 'Reload file' ),
+		$menu->{file}->Append( -1, gettext('Reload file') ),
 		sub { $_[0]->on_reload_file },
 	);
 	$menu->{file}->AppendSeparator;
@@ -84,31 +85,31 @@
 		sub { $_[0]->on_save_as },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{file}->Append( -1, 'Save All' ),
+		$menu->{file}->Append( -1, gettext('Save All') ),
 		sub { $_[0]->on_save_all },
 	);
 	$menu->{file}->AppendSeparator;
 
 	# Conversions and Transforms
 	$menu->{file_convert} = Wx::Menu->new;
-	$menu->{file}->Append( -1, "Convert...", $menu->{file_convert} );
+	$menu->{file}->Append( -1, gettext("Convert..."), $menu->{file_convert} );
 	Wx::Event::EVT_MENU( $win,
-		$menu->{file_convert}->Append(-1, "EOL to Windows"),
+		$menu->{file_convert}->Append(-1, gettext("EOL to Windows")),
 		sub { $_[0]->convert_to("WIN") },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{file_convert}->Append(-1, "EOL to Unix"),
+		$menu->{file_convert}->Append(-1, gettext("EOL to Unix")),
 		sub { $_[0]->convert_to("UNIX") },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{file_convert}->Append(-1, "EOL to Mac"),
+		$menu->{file_convert}->Append(-1, gettext("EOL to Mac")),
 		sub { $_[0]->convert_to("MAC") },
 	);
 	$menu->{file}->AppendSeparator;
 
 	# Recent things
 	$menu->{file_recentfiles} = Wx::Menu->new;
-	$menu->{file}->Append( -1, "Recent Files", $menu->{file_recentfiles} );
+	$menu->{file}->Append( -1, gettext("Recent Files"), $menu->{file_recentfiles} );
 	foreach my $f ( Padre::DB->get_recent_files ) {
 		next unless -f $f;
 		Wx::Event::EVT_MENU( $win,
@@ -126,7 +127,7 @@
 	}
 	if ( $experimental ) {
 		$menu->{file_recent_projects} = Wx::Menu->new;
-		$menu->{file}->Append( -1, "Recent Projects", $menu->{file_recent_projects} );
+		$menu->{file}->Append( -1, gettext("Recent Projects"), $menu->{file_recent_projects} );
 	}
 	$menu->{file}->AppendSeparator;
 
@@ -172,56 +173,56 @@
 		\&Padre::Wx::Dialog::Find::on_find,
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "&Find Next\tF3" ),
+		$menu->{edit}->Append( -1, gettext("&Find Next\tF3") ),
 		\&Padre::Wx::Dialog::Find::on_find_next,
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "Find Previous\tShift-F3" ),
+		$menu->{edit}->Append( -1, gettext("Find Previous\tShift-F3") ),
 		\&Padre::Wx::Dialog::Find::on_find_previous,
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "Ac&k" ),
+		$menu->{edit}->Append( -1, gettext("Ac&k") ),
 		\&Padre::Wx::Ack::on_ack,
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "&Goto\tCtrl-G" ),
+		$menu->{edit}->Append( -1, gettext("&Goto\tCtrl-G") ),
 		\&Padre::Wx::MainWindow::on_goto,
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "&AutoComp\tCtrl-P" ),
+		$menu->{edit}->Append( -1, gettext("&AutoComp\tCtrl-P") ),
 		\&Padre::Wx::MainWindow::on_autocompletition,
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "Subs\tAlt-S" ),
+		$menu->{edit}->Append( -1, gettext("Subs\tAlt-S") ),
 		sub { $_[0]->{rightbar}->SetFocus },
 	); 
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "&Brace matching\tCtrl-1" ),
+		$menu->{edit}->Append( -1, gettext("&Brace matching\tCtrl-1") ),
 		\&Padre::Wx::MainWindow::on_brace_matching,
 	);
 	$menu->{edit}->AppendSeparator;
 
 	# Commenting
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "&Comment Selected Lines\tCtrl-M" ),
+		$menu->{edit}->Append( -1, gettext("&Comment Selected Lines\tCtrl-M") ),
 		\&Padre::Wx::MainWindow::on_comment_out_block,
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "&Uncomment Selected Lines\tCtrl-Shift-M" ),
+		$menu->{edit}->Append( -1, gettext("&Uncomment Selected Lines\tCtrl-Shift-M") ),
 		\&Padre::Wx::MainWindow::on_uncomment_block,
 	);
 	$menu->{edit}->AppendSeparator;
 
 
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "Diff" ),
+		$menu->{edit}->Append( -1, gettext("Diff") ),
 		\&Padre::Wx::MainWindow::on_diff,
 	);
 	$menu->{edit}->AppendSeparator;
 
 	# User Preferences
 	Wx::Event::EVT_MENU( $win,
-		$menu->{edit}->Append( -1, "&Preferences" ),
+		$menu->{edit}->Append( -1, gettext("&Preferences") ),
 		\&Padre::Wx::MainWindow::on_preferences,
 	);
 
@@ -231,17 +232,17 @@
 
 	# Create the View menu
 	$menu->{view}       = Wx::Menu->new;
-	$menu->{view_lines} = $menu->{view}->AppendCheckItem( -1, "Show Line numbers" );
+	$menu->{view_lines} = $menu->{view}->AppendCheckItem( -1, gettext("Show Line numbers") );
 	Wx::Event::EVT_MENU( $win,
 		$menu->{view_lines},
 		\&Padre::Wx::MainWindow::on_toggle_line_numbers,
 	);
-	$menu->{view_eol} = $menu->{view}->AppendCheckItem( -1, "Show Newlines" );
+	$menu->{view_eol} = $menu->{view}->AppendCheckItem( -1, gettext("Show Newlines") );
 	Wx::Event::EVT_MENU( $win,
 		$menu->{view_eol},
 		\&Padre::Wx::MainWindow::on_toggle_eol,
 	);
-	$menu->{view_output} = $menu->{view}->AppendCheckItem( -1, "Show Output" );
+	$menu->{view_output} = $menu->{view}->AppendCheckItem( -1, gettext("Show Output") );
 	Wx::Event::EVT_MENU( $win,
 		$menu->{view_output},
 		sub {
@@ -252,18 +253,18 @@
 	);
 	unless ( Padre::Util::WIN32 ) {
 		# On Windows disabling the status bar is broken, so don't allow it
-		$menu->{view_statusbar} = $menu->{view}->AppendCheckItem( -1, "Show StatusBar" );
+		$menu->{view_statusbar} = $menu->{view}->AppendCheckItem( -1, gettext("Show StatusBar") );
 		Wx::Event::EVT_MENU( $win,
 			$menu->{view_statusbar},
 			\&Padre::Wx::MainWindow::on_toggle_status_bar,
 		);
 	}
-	$menu->{view_indentation_guide} = $menu->{view}->AppendCheckItem( -1, "Show Indentation Guide" );
+	$menu->{view_indentation_guide} = $menu->{view}->AppendCheckItem( -1, gettext("Show Indentation Guide") );
 	Wx::Event::EVT_MENU( $win,
 		$menu->{view_indentation_guide},
 		\&Padre::Wx::MainWindow::on_toggle_indentation_guide,
 	);
-	$menu->{view_show_calltips} = $menu->{view}->AppendCheckItem( -1, "Show Call Tips" );
+	$menu->{view_show_calltips} = $menu->{view}->AppendCheckItem( -1, gettext("Show Call Tips") );
 	Wx::Event::EVT_MENU( $win,
 		$menu->{view_show_calltips},
 		sub { $config->{editor_calltips} = $menu->{view_show_calltips}->IsChecked },
@@ -271,25 +272,25 @@
 	$menu->{view}->AppendSeparator;
 
 	Wx::Event::EVT_MENU( $win,
-		$menu->{view}->Append( -1, "Increase Font Size\tCtrl-+" ),
+		$menu->{view}->Append( -1, gettext("Increase Font Size\tCtrl-+") ),
 		sub { $_[0]->zoom(+1) },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{view}->Append( -1, "Decrease Font Size\tCtrl--" ),
+		$menu->{view}->Append( -1, gettext("Decrease Font Size\tCtrl--") ),
 		sub { $_[0]->zoom(-1) },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{view}->Append( -1, "Reset Font Size\tCtrl-/" ),
+		$menu->{view}->Append( -1, gettext("Reset Font Size\tCtrl-/") ),
 		sub { $_[0]->zoom( -1 * $_[0]->selected_editor->GetZoom ) },
 	);
 
 	$menu->{view}->AppendSeparator;
 	Wx::Event::EVT_MENU( $win,
-		$menu->{view}->Append( -1, "Set Bookmark\tCtrl-B" ),
+		$menu->{view}->Append( -1, gettext("Set Bookmark\tCtrl-B") ),
 		sub { Padre::Wx::Dialog::Bookmarks->set_bookmark($_[0]) },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{view}->Append( -1, "Goto Bookmark\tCtrl-Shift-B" ),
+		$menu->{view}->Append( -1, gettext("Goto Bookmark\tCtrl-Shift-B") ),
 		sub { Padre::Wx::Dialog::Bookmarks->goto_bookmark($_[0]) },
 	);
 
@@ -299,7 +300,7 @@
 	$menu->{perl} = Wx::Menu->new;
 
 	# Perl-Specific Searches
-	$menu->{perl_find_unmatched} = $menu->{perl}->Append( -1, "Find Unmatched Brace" );
+	$menu->{perl_find_unmatched} = $menu->{perl}->Append( -1, gettext("Find Unmatched Brace") );
 	Wx::Event::EVT_MENU( $win,
 		$menu->{perl_find_unmatched},
 		sub {
@@ -320,7 +321,7 @@
 				} @$where;
 				$doc->ppi_select( $where->[0] );
 			} else {
-				Wx::MessageBox( "All braces appear to be matched", "Check Complete", Wx::wxOK, $win );
+				Wx::MessageBox( gettext("All braces appear to be matched"), gettext("Check Complete"), Wx::wxOK, $win );
 			}
 		},
 	);
@@ -330,17 +331,17 @@
 	$menu->{run} = Wx::Menu->new;
 
 	# Script Execution
-	$menu->{run_run_script} = $menu->{run}->Append( -1, "Run Script\tF5" );
+	$menu->{run_run_script} = $menu->{run}->Append( -1, gettext("Run Script\tF5") );
 	Wx::Event::EVT_MENU( $win,
 		$menu->{run_run_script},
 		sub { $_[0]->run_script },
 	);
-	$menu->{run_run_command} = $menu->{run}->Append( -1, "Run Command\tCtrl-F5" );
+	$menu->{run_run_command} = $menu->{run}->Append( -1, gettext("Run Command\tCtrl-F5") );
 	Wx::Event::EVT_MENU( $win,
 		$menu->{run_run_command},
 		sub { $_[0]->on_run_command },
 	);
-	$menu->{run_stop} = $menu->{run}->Append( -1, "&Stop" );
+	$menu->{run_stop} = $menu->{run}->Append( -1, gettext("&Stop") );
 	Wx::Event::EVT_MENU( $win,
 		$menu->{run_stop},
 		sub {
@@ -377,17 +378,17 @@
 	$menu->{window} = Wx::Menu->new;
 	if ( $experimental ) {
 		Wx::Event::EVT_MENU( $win,
-			$menu->{window}->Append( -1, "&Split window" ),
+			$menu->{window}->Append( -1, gettext("&Split window") ),
 			\&Padre::Wx::MainWindow::on_split_window,
 		);
 		$menu->{window}->AppendSeparator;
 	}
 	Wx::Event::EVT_MENU( $win,
-		$menu->{window}->Append(-1, "Next File\tCtrl-TAB"),
+		$menu->{window}->Append(-1, gettext("Next File\tCtrl-TAB")),
 		\&Padre::Wx::MainWindow::on_next_pane,
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{window}->Append(-1, "Previous File\tCtrl-Shift-TAB"),
+		$menu->{window}->Append(-1, gettext("Previous File\tCtrl-Shift-TAB")),
 		\&Padre::Wx::MainWindow::on_prev_pane,
 	);
 	$menu->{window}->AppendSeparator;
@@ -405,7 +406,7 @@
 		sub { $help->help($win) },
 	);
 	Wx::Event::EVT_MENU( $win,
-		$menu->{help}->Append( -1, "Context Help\tCtrl-Shift-H" ),
+		$menu->{help}->Append( -1, gettext("Context Help\tCtrl-Shift-H") ),
 		sub {
 			my $main      = shift;
 			my $selection = $main->selected_text;
@@ -432,7 +433,7 @@
 	if ( $experimental ) {
 		$menu->{experimental} = Wx::Menu->new;
 		Wx::Event::EVT_MENU( $win,
-			$menu->{experimental}->Append( -1, 'Reflow Menu/Toolbar' ),
+			$menu->{experimental}->Append( -1, gettext('Reflow Menu/Toolbar') ),
 			sub {
 				$DB::single = 1;
 				my $document = Padre::Documents->current;
@@ -444,13 +445,13 @@
 		);
 		Wx::Event::EVT_MENU(
 			$win,
-			$menu->{experimental}->Append( -1, 'Run in &Padre' ),
+			$menu->{experimental}->Append( -1, gettext('Run in &Padre') ),
 			sub {
 				my $self = shift;
 				my $code = Padre::Documents->current->text_get;
 				eval $code;
 				if ($@) {
-					Wx::MessageBox("Error: $@", "Self error", Wx::wxOK, $self);
+					Wx::MessageBox(gettext("Error: ") . "$@", gettext("Self error"), Wx::wxOK, $self);
 					return;
 				}
 				return;
@@ -460,18 +461,18 @@
 
 	# Create and return the main menu bar
 	$menu->{wx} = Wx::MenuBar->new;
-	$menu->{wx}->Append( $menu->{file},     "&File"      );
-	$menu->{wx}->Append( $menu->{project},  "&Project"   );
-	$menu->{wx}->Append( $menu->{edit},     "&Edit"      );
-	$menu->{wx}->Append( $menu->{view},     "&View"      );
-	#$menu->{wx}->Append( $menu->{perl},     "Perl"       );
-	$menu->{wx}->Append( $menu->{run},      "Run"        );
-	$menu->{wx}->Append( $menu->{bookmark}, "&Bookmarks" );
-	$menu->{wx}->Append( $menu->{plugin},   "Pl&ugins"   ) if $menu->{plugin};
-	$menu->{wx}->Append( $menu->{window},   "&Window"    );
-	$menu->{wx}->Append( $menu->{help},     "&Help"      );
+	$menu->{wx}->Append( $menu->{file},     gettext("&File")      );
+	$menu->{wx}->Append( $menu->{project},  gettext("&Project")   );
+	$menu->{wx}->Append( $menu->{edit},     gettext("&Edit")      );
+	$menu->{wx}->Append( $menu->{view},     gettext("&View")      );
+	#$menu->{wx}->Append( $menu->{perl},     gettext("Perl")       );
+	$menu->{wx}->Append( $menu->{run},      gettext("Run")        );
+	$menu->{wx}->Append( $menu->{bookmark}, gettext("&Bookmarks") );
+	$menu->{wx}->Append( $menu->{plugin},   gettext("Pl&ugins")   ) if $menu->{plugin};
+	$menu->{wx}->Append( $menu->{window},   gettext("&Window")    );
+	$menu->{wx}->Append( $menu->{help},     gettext("&Help")      );
 	if ( $experimental ) {
-		$menu->{wx}->Append( $menu->{experimental}, "E&xperimental" );
+		$menu->{wx}->Append( $menu->{experimental}, gettext("E&xperimental") );
 	}
 
 	# Setup menu state from configuration
@@ -564,19 +565,19 @@
 
 	# Create the new menu bar
 	$self->{wx} = Wx::MenuBar->new;
-	$self->{wx}->Append( $self->{file},     "&File"      );
-	$self->{wx}->Append( $self->{project},  "&Project"   );
-	$self->{wx}->Append( $self->{edit},     "&Edit"      );
-	$self->{wx}->Append( $self->{view},     "&View"      );
+	$self->{wx}->Append( $self->{file},     gettext("&File")      );
+	$self->{wx}->Append( $self->{project},  gettext("&Project")   );
+	$self->{wx}->Append( $self->{edit},     gettext("&Edit")      );
+	$self->{wx}->Append( $self->{view},     gettext("&View")      );
 	if ( _INSTANCE($document, 'Padre::Document::Perl') ) {
-		$self->{wx}->Append( $self->{perl}, "Perl" );
+		$self->{wx}->Append( $self->{perl}, gettext("Perl") );
 	}
-	$self->{wx}->Append( $self->{bookmark}, "&Bookmarks" );
-	$self->{wx}->Append( $self->{plugin},   "Pl&ugins"   ) if $self->{plugin};
-	$self->{wx}->Append( $self->{window},   "&Window"    );
-	$self->{wx}->Append( $self->{help},     "&Help"      );
+	$self->{wx}->Append( $self->{bookmark}, gettext("&Bookmarks") );
+	$self->{wx}->Append( $self->{plugin},   gettext("Pl&ugins")   ) if $self->{plugin};
+	$self->{wx}->Append( $self->{window},   gettext("&Window")    );
+	$self->{wx}->Append( $self->{help},     gettext("&Help")      );
 	if ( Padre->ide->config->{experimental} ) {
-		$self->{wx}->Append( $self->{experimental}, "E&xperimental" );
+		$self->{wx}->Append( $self->{experimental}, gettext("E&xperimental") );
 	}
 	$self->win->SetMenuBar( $self->{wx} );
 
Index: lib/Padre/Wx/Project.pm
===================================================================
--- lib/Padre/Wx/Project.pm	(Revision 693)
+++ lib/Padre/Wx/Project.pm	(Arbeitskopie)
@@ -9,6 +9,7 @@
 # Project related widgets of Padre
 
 use Padre::Wx  ();
+use Wx::Locale qw(:default);
 
 our $VERSION = '0.15';
 
@@ -20,7 +21,7 @@
 	# create directory call, Module::Starter
 	# set current project
 	# run
-	Wx::MessageBox("Not implemented yet", "Not Yes", Wx::wxOK, $self);
+	Wx::MessageBox(gettext("Not implemented yet"), gettext("Not Yes"), Wx::wxOK, $self);
 
 	return;
 }
@@ -37,7 +38,7 @@
 
 	my $config = Padre->ide->config;
 
-	my $dialog = Wx::Dialog->new( $self, -1, "Select Project", [-1, -1], [-1, -1]);
+	my $dialog = Wx::Dialog->new( $self, -1, gettext("Select Project"), [-1, -1], [-1, -1]);
 
 	my $box  = Wx::BoxSizer->new(  Wx::wxVERTICAL   );
 	my $row1 = Wx::BoxSizer->new(  Wx::wxHORIZONTAL );
@@ -50,13 +51,13 @@
 	$box->Add($row3);
 	$box->Add($row4);
 
-	$row1->Add( Wx::StaticText->new( $dialog, -1, 'Select Project Name or type in new one'), 1, Wx::wxALL, 3 );
+	$row1->Add( Wx::StaticText->new( $dialog, -1, gettext('Select Project Name or type in new one')), 1, Wx::wxALL, 3 );
 
 	my @projects = keys %{ $config->{projects} };
 	my $choice = Wx::ComboBox->new( $dialog, -1, '', [-1, -1], [-1, -1], \@projects);
 	$row2->Add( $choice, 1, Wx::wxALL, 3);
 
-	my $dir_selector = Wx::Button->new( $dialog, -1, 'Select Directory');
+	my $dir_selector = Wx::Button->new( $dialog, -1, gettext('Select Directory'));
 	$row2->Add($dir_selector, 1, Wx::wxALL, 3);
 
 	my $path = Wx::StaticText->new( $dialog, -1, '');
@@ -120,7 +121,7 @@
 sub on_pick_project_dir {
 	my ($path, $self, $event) = @_;
 
-	my $dialog = Wx::DirDialog->new( $self, "Select Project Directory", $default_dir);
+	my $dialog = Wx::DirDialog->new( $self, gettext("Select Project Directory"), $default_dir);
 	if ($dialog->ShowModal == Wx::wxID_CANCEL) {
 #print "Cancel\n";
 		return;
@@ -136,7 +137,7 @@
 
 sub on_test_project {
 	my ($self) = @_;
-	Wx::MessageBox("Not implemented yet", "Not Yes", Wx::wxOK, $self);
+	Wx::MessageBox(gettext("Not implemented yet"), gettext("Not Yes"), Wx::wxOK, $self);
 }
 
 1;
Index: lib/Padre/Wx/Menu/Help.pm
===================================================================
--- lib/Padre/Wx/Menu/Help.pm	(Revision 693)
+++ lib/Padre/Wx/Menu/Help.pm	(Arbeitskopie)
@@ -6,6 +6,7 @@
 
 use Padre::Wx ();
 use Padre::Util;
+use Wx::Locale qw(:default);
 
 our $VERSION = '0.15';
 #our @ISA     = 'Wx::Menu';
@@ -38,7 +39,7 @@
 		"Config at " . Padre->ide->config_dir . "\n"
 	);
 	$about->SetVersion($Padre::VERSION);
-	$about->SetCopyright("Copyright 2008 Gabor Szabo");
+	$about->SetCopyright(gettext("Copyright 2008 Gabor Szabo"));
 	# Only Unix/GTK native about box supports websites
 	if ( Padre::Util::UNIX ) {
 		$about->SetWebSite("http://padre.perlide.org/");
Index: lib/Padre/Wx/MainWindow.pm
===================================================================
--- lib/Padre/Wx/MainWindow.pm	(Revision 693)
+++ lib/Padre/Wx/MainWindow.pm	(Arbeitskopie)
@@ -18,6 +18,8 @@
 use Padre::Wx::Output  ();
 use Padre::Documents   ();
 
+use Wx::Locale         qw(:default);
+
 use base qw{Wx::Frame};
 
 our $VERSION = '0.15';
@@ -49,7 +51,7 @@
 		my $dir = $0;
 		$dir =~ s/padre$//;
 		if ( -d "$dir.svn" ) {
-			$title .= '(running from SVN checkout)';
+			$title .= gettext('(running from SVN checkout)');
 		}
 	}
 	my $self = $class->SUPER::new(
@@ -67,6 +69,9 @@
 		$wx_frame_style,
 	);
 
+	# config param has to be ID, not name (e.g.: 87 for 'de'); TODO change this 
+	$self->refresh_locale( $config->{'host'}->{'locale'} );
+
 	$self->{manager} = Wx::AuiManager->new;
 	$self->manager->SetManagedWindow( $self );
 
@@ -100,7 +105,7 @@
 			->Dockable->Floatable->PinButton->CaptionVisible->Movable
 			->MinimizeButton->PaneBorder->Gripper->MaximizeButton
 			->FloatingPosition(100, 100)->FloatingSize(500, 300)
-			->Caption( "Files" )->Position( 1 )
+			->Caption( gettext("Files") )->Position( 1 )
 		);
 
 
@@ -135,11 +140,11 @@
 			->Dockable->Floatable->PinButton->CaptionVisible->Movable
 			->MinimizeButton->PaneBorder->Gripper->MaximizeButton
 			->FloatingPosition(100, 100)->FloatingSize(100, 400)
-			->Caption( "Subs" )->Position( 3 )->Right
+			->Caption( gettext("Subs") )->Position( 3 )->Right
 		 );
         
 
-	$self->{rightbar}->InsertColumn(0, 'Methods');
+	$self->{rightbar}->InsertColumn(0, gettext('Methods'));
 	$self->{rightbar}->SetColumnWidth(0, Wx::wxLIST_AUTOSIZE);
 	Wx::Event::EVT_LIST_ITEM_ACTIVATED(
 		$self,
@@ -157,7 +162,7 @@
 			->Dockable->Floatable->PinButton->CaptionVisible->Movable
 			->MinimizeButton->PaneBorder->Gripper->MaximizeButton
 			->FloatingPosition(100, 100)
-			->Caption( "Output" )->Position( 2 )->Bottom
+			->Caption( gettext("Output") )->Position( 2 )->Bottom
 		);
 
 	# Special Key Handling
@@ -293,6 +298,7 @@
 	return if $self->no_refresh;
 
 	my $doc  = $self->selected_document;
+	$self->refresh_locale;
 	$self->refresh_menu;
 	$self->refresh_toolbar;
 	$self->refresh_status;
@@ -306,6 +312,24 @@
 	return;
 }
 
+sub refresh_locale {
+    my $self = shift;
+    my $lang = shift || Wx::Locale::GetSystemLanguage;
+
+    $self->{'locale'} = undef;
+
+    $self->{'locale'} = Wx::Locale->new($lang);
+    $self->{'locale'}->AddCatalogLookupPathPrefix( Padre::Wx::sharedir('locale') );
+    my $langname = $self->{'locale'}->GetCanonicalName();
+
+    my $shortname = $langname ? substr( $langname, 0, 2 ) : 'en'; # only providing default sublangs
+    my $filename = Padre::Wx::sharefile( 'locale', $shortname ) . '.mo';
+
+    $self->{'locale'}->AddCatalog($shortname) if -f $filename;
+
+    return;
+}
+
 sub refresh_menu {
 	my $self = shift;
 	return if $self->no_refresh;
@@ -448,8 +472,8 @@
 	require Padre::Wx::History::TextDialog;
 	my $dialog = Padre::Wx::History::TextDialog->new(
 		$main_window,
-		"Command line",
-		"Run setup",
+		gettext("Command line"),
+		gettext("Run setup"),
 		"run_command",
 	);
 	if ( $dialog->ShowModal == Wx::wxID_CANCEL ) {
@@ -513,7 +537,7 @@
 	}
 
 	# Start the command
-	$self->{command} = Wx::Perl::ProcessStream->OpenProcess( $cmd, 'MyName1', $self );
+	$self->{command} = Wx::Perl::ProcessStream->OpenProcess( $cmd, gettext('MyName1'), $self );
 	unless ( $self->{command} ) {
 		# Failed to start the command. Clean up.
 		$self->{menu}->{run_run_script}->Enable(1);
@@ -529,7 +553,7 @@
 	my $self     = shift;
 	my $document = Padre::Documents->current;
 
-	return $self->error("No open document") if not $document;
+	return $self->error(gettext("No open document")) if not $document;
 
 	# Apply the user's save-on-run policy
 	# TODO: Make this code suck less
@@ -543,7 +567,7 @@
 	}
 	
 	if ( not $document->can('get_command') ) {
-		return $self->error("No execution mode was defined for this document");
+		return $self->error(gettext("No execution mode was defined for this document"));
 	}
 	
 	my $cmd = eval { $document->get_command };
@@ -562,13 +586,13 @@
 	my $self     = shift;
 	my $document = $self->selected_document;
 	unless ( $document->isa('Perl::Document::Perl') ) {
-		return $self->error("Not a Perl document");
+		return $self->error(gettext("Not a Perl document"));
 	}
 
 	# Check the file name
 	my $filename = $document->filename;
 	unless ( $filename =~ /\.pl$/i ) {
-		return $self->error("Only .pl files can be executed");
+		return $self->error(gettext("Only .pl files can be executed"));
 	}
 
 	# Apply the user's save-on-run policy
@@ -604,14 +628,14 @@
 sub message {
 	my $self    = shift;
 	my $message = shift;
-	my $title   = shift || 'Message';
+	my $title   = shift || gettext('Message');
 	Wx::MessageBox( $message, $title, Wx::wxOK | Wx::wxCENTRE, $self );
 	return;
 }
 
 sub error {
 	my $self = shift;
-	$self->message( shift, 'Error' );
+	$self->message( shift, gettext('Error') );
 }
 
 
@@ -697,7 +721,7 @@
 	my $doc    = $self->selected_document or return;
 	my ( $length, @words ) = $doc->autocomplete;
 	if ( $length =~ /\D/ ) {
-		Wx::MessageBox($length, "Autocompletions error", Wx::wxOK);
+		Wx::MessageBox($length, gettext("Autocompletions error"), Wx::wxOK);
 	}
 	if ( @words ) {
 		$doc->editor->AutoCompShow($length, join " ", @words);
@@ -708,7 +732,7 @@
 sub on_goto {
 	my $self = shift;
 
-	my $dialog = Wx::TextEntryDialog->new( $self, "Line number:", "", '' );
+	my $dialog = Wx::TextEntryDialog->new( $self, gettext("Line number:"), "", '' );
 	if ($dialog->ShowModal == Wx::wxID_CANCEL) {
 		return;
 	}   
@@ -864,7 +888,7 @@
 	my ($self, $event) = @_;
 	my $selection = $self->selected_text();
 	if (not $selection) {
-		Wx::MessageBox("Need to have something selected", "Open Selection", Wx::wxOK, $self);
+		Wx::MessageBox(gettext("Need to have something selected"), gettext("Open Selection"), Wx::wxOK, $self);
 		return;
 	}
 	my $file;
@@ -901,7 +925,7 @@
 	}
 
 	if (not $file) {
-		Wx::MessageBox("Could not find file '$selection'", "Open Selection", Wx::wxOK, $self);
+		Wx::MessageBox(gettext("Could not find file '%s'", $selection), gettext("Open Selection"), Wx::wxOK, $self);
 		return;
 	}
 
@@ -921,7 +945,7 @@
 	}
 	my $dialog = Wx::FileDialog->new(
 		$self,
-		"Open file",
+		gettext("Open file"),
 		$default_dir,
 		"",
 		"*.*",
@@ -974,7 +998,7 @@
 	while (1) {
 		my $dialog = Wx::FileDialog->new(
 			$self,
-			"Save file as...",
+			gettext("Save file as..."),
 			$default_dir,
 			"",
 			"*.*",
@@ -988,8 +1012,8 @@
 		my $path = File::Spec->catfile($default_dir, $filename);
 		if ( -e $path ) {
 			my $res = Wx::MessageBox(
-				"File already exists. Overwrite it?",
-				"Exist",
+				gettext("File already exists. Overwrite it?"),
+				gettext("Exist"),
 				Wx::wxYES_NO,
 				$self,
 			);
@@ -1050,8 +1074,8 @@
 
 	if ($doc->has_changed_on_disk) {
 		my $ret = Wx::MessageBox(
-			"File changed on disk since last saved. Do you want to overwrite it?",
-			$doc->filename || "File not in sync",
+			gettext("File changed on disk since last saved. Do you want to overwrite it?"),
+			$doc->filename || gettext("File not in sync"),
 			Wx::wxYES_NO|Wx::wxCENTRE,
 			$self,
 		);
@@ -1060,7 +1084,7 @@
 	
 	my $error = $doc->save_file;
 	if ($error) {
-		Wx::MessageBox($error, "Error", Wx::wxOK, $self);
+		Wx::MessageBox($error, gettext("Error"), Wx::wxOK, $self);
 		return;
 	}
 
@@ -1101,8 +1125,8 @@
 
 	if ( $doc->is_modified and not $doc->is_unused ) {
 		my $ret = Wx::MessageBox(
-			"File changed. Do you want to save it?",
-			$doc->filename || "Unsaved File",
+			gettext("File changed. Do you want to save it?"),
+			$doc->filename || gettext("Unsaved File"),
 			Wx::wxYES_NO|Wx::wxCANCEL|Wx::wxCENTRE,
 			$self,
 		);
@@ -1202,12 +1226,12 @@
 	use Text::Diff ();
 	my $current = $doc->text_get;
 	my $file    = $doc->filename;
-	return $self->error("Cannot diff if file was never saved") if not $file;
+	return $self->error(gettext("Cannot diff if file was never saved")) if not $file;
 	
 	my $diff = Text::Diff::diff($file, \$current);
 	
 	if (not $diff) {
-		$diff = "There are no differences\n";
+		$diff = gettext("There are no differences\n");
 	}
 	$self->show_output;
 	$self->{output}->clear;
@@ -1353,7 +1377,7 @@
 	my $code = $doc->text_get;
 	eval $code;
 	if ( $@ ) {
-		Wx::MessageBox("Error: $@", "Self error", Wx::wxOK, $self);
+		Wx::MessageBox(gettext("Error: %s", $@), gettext("Self error"), Wx::wxOK, $self);
 		return;
 	}
 	return;
Index: lib/Padre/Wx/Ack.pm
===================================================================
--- lib/Padre/Wx/Ack.pm	(Revision 693)
+++ lib/Padre/Wx/Ack.pm	(Arbeitskopie)
@@ -7,6 +7,7 @@
 use App::Ack;
 
 use Padre::Wx;
+use Wx::Locale qw(:default);
 
 my $iter;
 my %opts;
@@ -64,15 +65,15 @@
 	my $style = Wx::wxDEFAULT_FRAME_STYLE;
 
 	my $dialog        = Wx::Dialog->new( $win, $id, $title, $pos, $size, $style, $name );
-	my $label_1       = Wx::StaticText->new($dialog, -1, "Term: ", Wx::wxDefaultPosition, Wx::wxDefaultSize, );
+	my $label_1       = Wx::StaticText->new($dialog, -1, gettext("Term: "), Wx::wxDefaultPosition, Wx::wxDefaultSize, );
 	my $term          = Wx::ComboBox->new($dialog, -1, "", Wx::wxDefaultPosition, Wx::wxDefaultSize, [], Wx::wxCB_DROPDOWN);
 	my $button_search = Wx::Button->new($dialog, Wx::wxID_FIND, '');
-	my $label_2       = Wx::StaticText->new($dialog, -1, "Dir: ", Wx::wxDefaultPosition, Wx::wxDefaultSize, );
+	my $label_2       = Wx::StaticText->new($dialog, -1, gettext("Dir: "), Wx::wxDefaultPosition, Wx::wxDefaultSize, );
 	my $dir           = Wx::ComboBox->new($dialog, -1, "", Wx::wxDefaultPosition, Wx::wxDefaultSize, [], Wx::wxCB_DROPDOWN);
 	my $button_cancel = Wx::Button->new($dialog, Wx::wxID_CANCEL, '');
 	my $nothing_1     = Wx::StaticText->new($dialog, -1, "", Wx::wxDefaultPosition, Wx::wxDefaultSize, );
 	my $nothing_2     = Wx::StaticText->new($dialog, -1, "", Wx::wxDefaultPosition, Wx::wxDefaultSize, );
-	my $button_dir    = Wx::Button->new($dialog, -1, "Pick &directory");
+	my $button_dir    = Wx::Button->new($dialog, -1, gettext("Pick &directory"));
 
 	Wx::Event::EVT_BUTTON( $dialog, $button_search, sub { $dialog->EndModal(Wx::wxID_FIND) } );
 	Wx::Event::EVT_BUTTON( $dialog, $button_dir,    sub { on_pick_dir($dir, @_) } );
@@ -121,7 +122,7 @@
 sub on_pick_dir {
 	my ($dir, $self, $event) = @_;
 
-	my $dir_dialog = Wx::DirDialog->new( $self, "Select directory", '');
+	my $dir_dialog = Wx::DirDialog->new( $self, gettext("Select directory"), '');
 	if ($dir_dialog->ShowModal == Wx::wxID_CANCEL) {
 		return;
 	}
Index: lib/Padre/Wx/Output.pm
===================================================================
--- lib/Padre/Wx/Output.pm	(Revision 693)
+++ lib/Padre/Wx/Output.pm	(Arbeitskopie)
@@ -9,6 +9,7 @@
 use warnings;
 use Params::Util ();
 use Padre::Wx    ();
+use Wx::Locale   qw(:default);
 
 use base 'Wx::TextCtrl';
 
@@ -28,7 +29,7 @@
 
 	# Do custom startup stuff here
 	$self->clear;
-	$self->AppendText('No output');
+	$self->AppendText(gettext('No output'));
 
 	return $self;
 }
Index: lib/Padre/Wx/ToolBar.pm
===================================================================
--- lib/Padre/Wx/ToolBar.pm	(Revision 693)
+++ lib/Padre/Wx/ToolBar.pm	(Arbeitskopie)
@@ -5,6 +5,7 @@
 use warnings;
 
 use Padre::Wx    ();
+use Wx::Locale   qw(:default);
 use File::Spec::Functions qw(catfile);
 
 our $VERSION = '0.15';
@@ -23,10 +24,10 @@
 	);
 
 	# Automatically populate
-	$self->AddTool( 1000,   '', Padre::Wx::tango(catfile('actions', 'document-new.png')),  'New File'  ); 
-	$self->AddTool( Wx::wxID_OPEN,  '', Padre::Wx::tango(catfile('actions', 'document-open.png')), 'Open File' ); 
-	$self->AddTool( Wx::wxID_SAVE,  '', Padre::Wx::tango(catfile('actions', 'document-save.png')), 'Save File' );
-	$self->AddTool( Wx::wxID_CLOSE, '', Padre::Wx::tango(catfile('emblems', 'emblem-unreadable.png')) , 'Close File' );
+	$self->AddTool( 1000,   '', Padre::Wx::tango(catfile('actions', 'document-new.png')),  gettext('New File')  ); 
+	$self->AddTool( Wx::wxID_OPEN,  '', Padre::Wx::tango(catfile('actions', 'document-open.png')), gettext('Open File') ); 
+	$self->AddTool( Wx::wxID_SAVE,  '', Padre::Wx::tango(catfile('actions', 'document-save.png')), gettext('Save File') );
+	$self->AddTool( Wx::wxID_CLOSE, '', Padre::Wx::tango(catfile('emblems', 'emblem-unreadable.png')), gettext('Close File') );
 	$self->AddSeparator;
 	# TODO, how can we make sure these numbers are unique?
 	#$self->AddTool( 1000, '', Padre::Wx::tango(catfile('actions', 'bookmark-new.png')), 'Bookmark' );
Index: MANIFEST
===================================================================
--- MANIFEST	(Revision 693)
+++ MANIFEST	(Arbeitskopie)
@@ -75,6 +75,9 @@
 eg/wx/03_button.pl
 eg/wx/04_button_with_event.pl
 
+share/locale/de.po
+share/locale/de.mo
+
 share/templates/template.pl
 share/templates/template.pm
 share/templates/template.t
