using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.Linq; using System.Resources; using System.Text; using System.Threading.Tasks; namespace ANX.Framework.VisualStudio { [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field, Inherited = false, AllowMultiple = false)] public sealed class PackageResourcesDisplayNameAttribute : DisplayNameAttribute { #region fields string name; #endregion #region ctors public PackageResourcesDisplayNameAttribute(string name) { this.name = name; } #endregion #region properties public override string DisplayName { get { string result = PackageResources.GetString(this.name, CultureInfo.CurrentUICulture); if (result == null) { Debug.Assert(false, "String resource '" + this.name + "' is missing"); result = this.name; } return result; } } #endregion } [AttributeUsage(AttributeTargets.All)] public sealed class PackageResourcesDescriptionAttribute : DescriptionAttribute { private bool replaced; public PackageResourcesDescriptionAttribute(string description) : base(description) { } public override string Description { get { if (!replaced) { replaced = true; DescriptionValue = PackageResources.GetString(base.Description, CultureInfo.CurrentUICulture); } return base.Description; } } } [AttributeUsage(AttributeTargets.All)] public sealed class PackageResourcesCategoryAttribute : CategoryAttribute { public PackageResourcesCategoryAttribute(string category) : base(category) { } protected override string GetLocalizedString(string value) { return PackageResources.GetString(value, CultureInfo.CurrentUICulture); } } public class PackageResources { public const string AssetName = "AssetName"; public const string AssetNameDescription = "AssetNameDescription"; public const string BrowseOutputDirectory = "BrowseOutputDirectory"; public const string BrowseAnxFrameworkDirectory = "BrowseAnxFrameworkDirectory"; public const string ConfigurableContentProjectSettings = "ConfigurableContentProjectSettings"; public const string ContentImporter = "ContentImporter"; public const string ContentImporterDescription = "ContentImporterDescription"; public const string ContentProcessor = "ContentProcessor"; public const string ContentProcessorDescription = "ContentProcessorDescription"; public const string ContentProjectSettings = "ContentProjectSettings"; public const string InstallOtherFrameworks = "InstallOtherFrameworks"; public const string InstallOtherFrameworksFWLink = "InstallOtherFrameworksFWLink"; public const string NeededAssembliesNotLoaded = "NeededAssembliesNotLoaded"; public const string NeededAssembliesNotLoadedTitle = "NeededAssembliesNotLoadedTitle"; public const string None = "None"; public const string ParameterDefaultDescription = "ParameterDefaultDescription"; public const string PropertyDescriptorResetNotSupported = "PropertyDescriptorResetNotSupported"; public const string AnxFrameworkAssembliesRedirected = "AnxFrameworkAssembliesRedirected"; public const string Debugging = "Debugging"; public const string Building = "Building"; public const string BuildReferenceContainer = "BuildReferences"; public const string ContentRoot = "ContentRoot"; public const string ContentRootDescription = "ContentRootDescription"; static ResourceManager resources; static PackageResources() { resources = new ResourceManager("ANX.Framework.VisualStudio.Resources.PackageResources", typeof(PackageResources).Assembly); } public static ResourceManager Resources { get { return resources; } } public static string GetString(string name) { return resources.GetString(name); } public static string GetString(string name, CultureInfo culture) { return resources.GetString(name, culture); } } }