diff --git a/data/resources/StringResources.de.resources b/data/resources/StringResources.de.resources index b4c304d848..6ed97a7623 100644 Binary files a/data/resources/StringResources.de.resources and b/data/resources/StringResources.de.resources differ diff --git a/src/AddIns/Misc/CodeAnalysis/Src/AnalysisProjectOptions.cs b/src/AddIns/Misc/CodeAnalysis/Src/AnalysisProjectOptions.cs index 6f28fe341f..ddde5613d6 100644 --- a/src/AddIns/Misc/CodeAnalysis/Src/AnalysisProjectOptions.cs +++ b/src/AddIns/Misc/CodeAnalysis/Src/AnalysisProjectOptions.cs @@ -404,7 +404,7 @@ namespace ICSharpCode.CodeAnalysis ed.ManualOrder = false; ed.BrowseForDirectory = true; ed.AutoAddAfterBrowse = true; - ed.TitleText = "${res:ICSharpCode.CodeAnalysis.ProjectOptions.ChooseRuleAssemblyDirectory}"; + ed.TitleText = StringParser.Parse("${res:ICSharpCode.CodeAnalysis.ProjectOptions.ChooseRuleAssemblyDirectory}"); ed.LoadList(GetRuleAssemblyList(false)); FlowLayoutPanel p = new FlowLayoutPanel(); diff --git a/src/AddIns/Misc/ComponentInspector/ComponentInspector.AddIn/ComponentInspector.addin b/src/AddIns/Misc/ComponentInspector/ComponentInspector.AddIn/ComponentInspector.addin index 91cc6d0c30..f031c42ae7 100644 --- a/src/AddIns/Misc/ComponentInspector/ComponentInspector.AddIn/ComponentInspector.addin +++ b/src/AddIns/Misc/ComponentInspector/ComponentInspector.AddIn/ComponentInspector.addin @@ -42,7 +42,7 @@ + diff --git a/src/Libraries/ICSharpCode.Build.Tasks/Project/Resources.cs b/src/Libraries/ICSharpCode.Build.Tasks/Project/Resources.cs new file mode 100644 index 0000000000..6c04e0b423 --- /dev/null +++ b/src/Libraries/ICSharpCode.Build.Tasks/Project/Resources.cs @@ -0,0 +1,61 @@ +// +// +// +// +// $Revision$ +// + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Reflection; + +namespace ICSharpCode.Build.Tasks +{ + internal static class Resources + { + public static string MonoIsNotInstalled { + get { return GetTranslation("${res:ICSharpCode.Build.MonoIsNotInstalled}") + ?? "Mono is not installed."; } + } + + public static string UnknownTargetMonoFrameworkVersion { + get { return GetTranslation("${res:ICSharpCode.Build.UnknownTargetMonoFrameworkVersion}") + ?? "Unknown Target Mono Framework Version:"; } + } + + public static string RunningCodeAnalysis { + get { return GetTranslation("${res:ICSharpCode.Build.RunningCodeAnalysis}") + ?? "Running Code Analysis..."; } + } + + public static string CannotFindFxCop { + get { return GetTranslation("${res:ICSharpCode.Build.CannotFindFxCop}") + ?? "SharpDevelop cannot find FxCop. Please specify the MSBuild property 'FxCopDir'."; } + } + + public static string CannotReadFxCopLogFile { + get { return GetTranslation("${res:ICSharpCode.Build.CannotReadFxCopLogFile}") + ?? "Cannot read FxCop log file:"; } + } + + static bool initialized; + static Type resourceService; + + static string GetTranslation(string key) + { + if (!initialized) { + initialized = true; + try { + resourceService = Type.GetType("ICSharpCode.Core.StringParser, ICSharpCode.Core"); + } catch {} + } + if (resourceService != null) { + const BindingFlags flags = BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Static; + return (string)resourceService.InvokeMember("Parse", flags, null, null, new object[] { key }); + } else { + return null; + } + } + } +} diff --git a/src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs b/src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs index 4c979ddd20..e35c6d7dbf 100644 --- a/src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs +++ b/src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs @@ -32,14 +32,24 @@ namespace ICSharpCode.SharpDevelop.Gui ToolStripContainer toolStripContainer; AutoHideMenuStripContainer mainMenuContainer; AutoHideStatusStripContainer statusStripContainer; + static bool firstTimeError = true; // TODO: Debug statement only, remove me public IWorkbenchWindow ActiveWorkbenchwindow { get { - if (dockPanel == null || dockPanel.ActiveDocument == null) { + if (dockPanel == null) { return null; } + + // TODO: Debug statements only, remove me + if (dockPanel.ActiveDocument != null && !(dockPanel.ActiveDocument is IWorkbenchWindow)) { + if (firstTimeError) { + MessageBox.Show("ActiveDocument was " + dockPanel.ActiveDocument.GetType().FullName); + firstTimeError = false; + } + } + IWorkbenchWindow window = dockPanel.ActiveDocument as IWorkbenchWindow; - if (window.IsDisposed) { + if (window == null || window.IsDisposed) { return null; } return window; diff --git a/src/Main/Base/Project/Src/Services/ParserService/DomHostCallback.cs b/src/Main/Base/Project/Src/Services/ParserService/DomHostCallback.cs index b890ae0bd3..f31ac7e10d 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/DomHostCallback.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/DomHostCallback.cs @@ -32,7 +32,10 @@ namespace ICSharpCode.SharpDevelop }; HostCallback.BeginAssemblyLoad = delegate(string shortName) { - StatusBarService.ProgressMonitor.BeginTask("Loading " + shortName + "...", 100); + StatusBarService.ProgressMonitor.BeginTask( + StringParser.Parse("${res:ICSharpCode.SharpDevelop.LoadingFile}", new string[,] {{"Filename", shortName}}), + 100 + ); }; HostCallback.FinishAssemblyLoad = StatusBarService.ProgressMonitor.Done; @@ -45,9 +48,12 @@ namespace ICSharpCode.SharpDevelop static void ShowAssemblyLoadError(string fileName, string include, string message) { WorkbenchSingleton.Workbench.GetPad(typeof(CompilerMessageView)).BringPadToFront(); - TaskService.BuildMessageViewCategory.AppendText("Error loading code-completion information for " - + include + " from " + fileName - + ":\r\n" + message + "\r\n"); + TaskService.BuildMessageViewCategory.AppendText( + StringParser.Parse( + "${res:ICSharpCode.SharpDevelop.ErrorLoadingCodeCompletionInformation}", + new string[,] { {"Assembly", include}, {"Filename", fileName}} + ) + "\r\n" + message + "\r\n" + ); } } } diff --git a/src/Main/Base/Project/Src/Services/RefactoringService/RefactorMenu.cs b/src/Main/Base/Project/Src/Services/RefactoringService/RefactorMenu.cs index 1a48977fdd..334e657336 100644 --- a/src/Main/Base/Project/Src/Services/RefactoringService/RefactorMenu.cs +++ b/src/Main/Base/Project/Src/Services/RefactoringService/RefactorMenu.cs @@ -118,7 +118,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring if (c == null) { ShowUnknownSymbolError(); } else if (c.CompilationUnit.FileName == null) { - MessageService.ShowMessage("The type cannot be renamed because it is not defined in user code."); + ShowNoUserCodeError(); } else { FindReferencesAndRenameHelper.RenameClass(c); } @@ -133,7 +133,11 @@ namespace ICSharpCode.SharpDevelop.Refactoring static void ShowUnknownSymbolError() { - MessageService.ShowMessage("The element at the caret position cannot be renamed."); + MessageService.ShowMessage("${res:SharpDevelop.Refactoring.CannotRenameElement}"); + } + static void ShowNoUserCodeError() + { + MessageService.ShowMessage("${res:SharpDevelop.Refactoring.CannotRenameBecauseNotUserCode}"); } static void Rename(IMember member) @@ -141,7 +145,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring if (member == null) { ShowUnknownSymbolError(); } else if (member.DeclaringType.CompilationUnit.FileName == null) { - MessageService.ShowMessage("The member cannot be renamed because it is not defined in user code."); + ShowNoUserCodeError(); } else { FindReferencesAndRenameHelper.RenameMember(member); } diff --git a/src/Main/StartUp/Project/Resources/StringResources.resources b/src/Main/StartUp/Project/Resources/StringResources.resources index 6988a51068..1e31cd7c3a 100644 Binary files a/src/Main/StartUp/Project/Resources/StringResources.resources and b/src/Main/StartUp/Project/Resources/StringResources.resources differ