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)"; } } }