diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj
index e0c473a04b..a274a86b5e 100644
--- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj
+++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj
@@ -290,6 +290,7 @@
VisualLine.cs
+
diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/Localization.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/Localization.cs
new file mode 100644
index 0000000000..40d6a441ec
--- /dev/null
+++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/Localization.cs
@@ -0,0 +1,65 @@
+// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
+// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
+
+using System;
+using System.ComponentModel;
+
+namespace ICSharpCode.AvalonEdit
+{
+ ///
+ /// Holds default texts for buttons and labels in the SearchPanel. Override properties to add other languages.
+ ///
+ public class Localization
+ {
+ ///
+ /// Default: 'Match case'
+ ///
+ public virtual string MatchCaseText {
+ get { return "Match case"; }
+ }
+
+ ///
+ /// Default: 'Match whole words'
+ ///
+ public virtual string MatchWholeWordsText {
+ get { return "Match whole words"; }
+ }
+
+
+ ///
+ /// Default: 'Use regular expressions'
+ ///
+ public virtual string UseRegexText {
+ get { return "Use regular expressions"; }
+ }
+
+ ///
+ /// Default: 'Find next (F3)'
+ ///
+ ///
+ public virtual string FindNextText {
+ get { return "Find next (F3)"; }
+ }
+
+ ///
+ /// Default: 'Find previous (Shift+F3)'
+ ///
+ public virtual string FindPreviousText {
+ get { return "Find previous (Shift+F3)"; }
+ }
+
+ ///
+ /// Default: 'Error: '
+ ///
+ public virtual string ErrorText {
+ get { return "Error: "; }
+ }
+
+ ///
+ /// Default: 'No matches found!'
+ ///
+ public virtual string NoMatchesFoundText {
+ get { return "No matches found!"; }
+ }
+ }
+}
diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.cs
index 728c24e621..4a7c67184a 100644
--- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.cs
+++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.cs
@@ -33,6 +33,7 @@ namespace ICSharpCode.AvalonEdit.Search
TextBox searchTextBox;
SearchPanelAdorner adorner;
+ #region DependencyProperties
///
/// Dependency property for .
///
@@ -108,6 +109,22 @@ namespace ICSharpCode.AvalonEdit.Search
set { SetValue(MarkerBrushProperty, value); }
}
+ ///
+ /// Dependency property for .
+ ///
+ public static readonly DependencyProperty LocalizationProperty =
+ DependencyProperty.Register("Localization", typeof(Localization), typeof(SearchPanel),
+ new FrameworkPropertyMetadata(new Localization()));
+
+ ///
+ /// Gets/sets the localization for the SearchPanel.
+ ///
+ public Localization Localization {
+ get { return (Localization)GetValue(LocalizationProperty); }
+ set { SetValue(LocalizationProperty, value); }
+ }
+ #endregion
+
static void MarkerBrushChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
SearchPanel panel = d as SearchPanel;
@@ -275,7 +292,7 @@ namespace ICSharpCode.AvalonEdit.Search
}
if (!renderer.CurrentResults.Any()) {
messageView.IsOpen = true;
- messageView.Content = "No matches found!";
+ messageView.Content = Localization.NoMatchesFoundText;
messageView.PlacementTarget = searchTextBox;
} else
messageView.IsOpen = false;
@@ -310,7 +327,7 @@ namespace ICSharpCode.AvalonEdit.Search
if (searchTextBox != null) {
var error = Validation.GetErrors(searchTextBox).FirstOrDefault();
if (error != null) {
- messageView.Content = "Error: " + error.ErrorContent;
+ messageView.Content = Localization.ErrorText + error.ErrorContent;
messageView.PlacementTarget = searchTextBox;
messageView.IsOpen = true;
}
diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.xaml b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.xaml
index 4a85f6e63f..4ae52314fd 100644
--- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.xaml
+++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.xaml
@@ -20,18 +20,18 @@
-
-
-
+
+
+
-