diff --git a/src/Orchard/Localization/LocalizedString.cs b/src/Orchard/Localization/LocalizedString.cs index bd5f94b1f..8197f4219 100644 --- a/src/Orchard/Localization/LocalizedString.cs +++ b/src/Orchard/Localization/LocalizedString.cs @@ -12,6 +12,10 @@ namespace Orchard.Localization { return new LocalizedString(x); } + public string Text { + get { return _localized; } + } + public override string ToString() { return _localized; } diff --git a/src/Orchard/UI/Navigation/NavigationBuilder.cs b/src/Orchard/UI/Navigation/NavigationBuilder.cs index 5848557b4..8fbb45108 100644 --- a/src/Orchard/UI/Navigation/NavigationBuilder.cs +++ b/src/Orchard/UI/Navigation/NavigationBuilder.cs @@ -1,35 +1,32 @@ using System; using System.Collections.Generic; using System.Linq; +using Orchard.Localization; namespace Orchard.UI.Navigation { public class NavigationBuilder { IEnumerable Contained { get; set; } - public NavigationBuilder Add(string caption, string position, Action itemBuilder) { + public NavigationBuilder Add(LocalizedString caption, string position, Action itemBuilder) { var childBuilder = new NavigationItemBuilder(); - if (!string.IsNullOrEmpty(caption)) - childBuilder.Caption(caption); - - if (!string.IsNullOrEmpty(position)) - childBuilder.Position(position); - + childBuilder.Caption(caption); + childBuilder.Position(position); itemBuilder(childBuilder); Contained = (Contained ?? Enumerable.Empty()).Concat(childBuilder.Build()); return this; } - public NavigationBuilder Add(string caption, Action itemBuilder) { + public NavigationBuilder Add(LocalizedString caption, Action itemBuilder) { return Add(caption, null, itemBuilder); } public NavigationBuilder Add(Action itemBuilder) { return Add(null, null, itemBuilder); } - public NavigationBuilder Add(string caption, string position) { + public NavigationBuilder Add(LocalizedString caption, string position) { return Add(caption, position, x=> { }); } - public NavigationBuilder Add(string caption) { + public NavigationBuilder Add(LocalizedString caption) { return Add(caption, null, x => { }); } diff --git a/src/Orchard/UI/Navigation/NavigationItemBuilder.cs b/src/Orchard/UI/Navigation/NavigationItemBuilder.cs index 52a0c9246..61bc5da3a 100644 --- a/src/Orchard/UI/Navigation/NavigationItemBuilder.cs +++ b/src/Orchard/UI/Navigation/NavigationItemBuilder.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Web.Routing; +using Orchard.Localization; using Orchard.Security.Permissions; namespace Orchard.UI.Navigation { @@ -11,8 +12,9 @@ namespace Orchard.UI.Navigation { _item = new MenuItem(); } - public NavigationItemBuilder Caption(string caption) { - _item.Text = caption; + public NavigationItemBuilder Caption(LocalizedString caption) { + if (caption != null) + _item.Text = caption.Text; return this; }