using System.Resources;
using System.Windows.Markup;
namespace Developpez.Dotnet.Windows.Localization
{
///
/// Renvoie une version localisée de la chaîne de caractère dont la
/// clé est spécifiée
///
[MarkupExtensionReturnType(typeof(string))]
public class LocTextExtension : LocResourceExtensionBase
{
///
/// Initialise une nouvelle instance de LocTextExtension
///
public LocTextExtension() { }
///
/// Initialise une nouvelle instance de LocTextExtension avec la clé de ressource spécifiée
///
/// Clé de ressource de la chaine à renvoyer
public LocTextExtension(string resourceKey) : base(resourceKey) { }
///
/// La chaine de caractères localisée si elle existe, sinon la chaine en version originale si elle existe, sinon null
///
/// Le ResourceManager à partir duquel renvoyer la ressource localisée
/// La ressource localisée qui correspond à la clé
protected override object ProvideValueInternal(ResourceManager resourceManager)
{
if (resourceManager != null)
return resourceManager.GetString(ResourceKey);
else
// ResourceManager introuvable : on renvoie un texte par défaut
return "(ResourceString)";
}
}
}