using System; using System.Windows.Markup; using RealtimeModule.Resources; namespace RealtimeModule { [MarkupExtensionReturnType(typeof(string))] public class TranslateExtension : MarkupExtension { private readonly string _key; public TranslateExtension(string key) { _key = key; } private const string NotFound = "#stringnotfound#"; public override object ProvideValue(IServiceProvider serviceProvider) { if (string.IsNullOrEmpty(_key)) { return NotFound; } return StringResources.ResourceManager.GetString(_key) ?? NotFound + " " + _key; } } }