diff --git a/src/Main/ICSharpCode.Core.Presentation/LocalizeExtension.cs b/src/Main/ICSharpCode.Core.Presentation/LocalizeExtension.cs index ad646bdf2b..07eaf8425b 100644 --- a/src/Main/ICSharpCode.Core.Presentation/LocalizeExtension.cs +++ b/src/Main/ICSharpCode.Core.Presentation/LocalizeExtension.cs @@ -22,13 +22,19 @@ namespace ICSharpCode.Core.Presentation public LocalizeExtension(string key) { this.key = key; + this.UsesAccessors = true; } protected string key; + public bool UsesAccessors { get; set; } + public override object ProvideValue(IServiceProvider serviceProvider) { - return ResourceService.GetString(key); + string result = ResourceService.GetString(key); + if (UsesAccessors) + result = MenuService.ConvertLabel(result); + return result; } } } diff --git a/src/Main/ICSharpCode.Core.Presentation/StringParseExtension.cs b/src/Main/ICSharpCode.Core.Presentation/StringParseExtension.cs index de2281a6f7..ec577f1548 100644 --- a/src/Main/ICSharpCode.Core.Presentation/StringParseExtension.cs +++ b/src/Main/ICSharpCode.Core.Presentation/StringParseExtension.cs @@ -21,14 +21,20 @@ namespace ICSharpCode.Core.Presentation { protected string text; + public bool UsesAccessors { get; set; } + public StringParseExtension(string text) { this.text = text; + this.UsesAccessors = true; } public override object ProvideValue(IServiceProvider serviceProvider) { - return StringParser.Parse(text); + string result = StringParser.Parse(text); + if (UsesAccessors) + result = MenuService.ConvertLabel(result); + return result; } } }