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 @@ - - - + + + - -