mirror of
				https://github.com/nsnail/spectre.console.git
				synced 2025-11-01 01:25:27 +08:00 
			
		
		
		
	| @@ -39,7 +39,30 @@ public static class ConfiguratorExtensions | ||||
|  | ||||
|         configurator.SetHelpProvider<T>(); | ||||
|         return configurator; | ||||
|     } | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Sets the culture for the application. | ||||
|     /// </summary> | ||||
|     /// <param name="configurator">The configurator.</param> | ||||
|     /// <param name="culture">The culture.</param> | ||||
|     /// <returns>A configurator that can be used to configure the application further.</returns> | ||||
|     /// <remarks> | ||||
|     /// Text displayed by <see cref="Help.HelpProvider"/> can be localised, but defaults to English. | ||||
|     /// Setting the application culture informs the resource manager which culture to use when fetching strings. | ||||
|     /// English will be used when a culture has not been specified | ||||
|     /// or a string has not been localised for the specified culture. | ||||
|     /// </remarks> | ||||
|     public static IConfigurator SetApplicationCulture(this IConfigurator configurator, CultureInfo? culture) | ||||
|     { | ||||
|         if (configurator == null) | ||||
|         { | ||||
|             throw new ArgumentNullException(nameof(configurator)); | ||||
|         } | ||||
|  | ||||
|         configurator.Settings.Culture = culture; | ||||
|         return configurator; | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Sets the name of the application. | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| using Spectre.Console.Cli.Resources; | ||||
|  | ||||
| namespace Spectre.Console.Cli.Help; | ||||
|  | ||||
| /// <summary> | ||||
| @@ -7,7 +9,9 @@ namespace Spectre.Console.Cli.Help; | ||||
| /// Other IHelpProvider implementations can be injected into the CommandApp, if desired. | ||||
| /// </remarks> | ||||
| public class HelpProvider : IHelpProvider | ||||
| { | ||||
| { | ||||
|     private HelpProviderResources resources; | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets a value indicating how many examples from direct children to show in the help text. | ||||
|     /// </summary> | ||||
| @@ -67,17 +71,17 @@ public class HelpProvider : IHelpProvider | ||||
|             DefaultValue = defaultValue; | ||||
|         } | ||||
|  | ||||
|         public static IReadOnlyList<HelpOption> Get(ICommandInfo? command) | ||||
|         public static IReadOnlyList<HelpOption> Get(ICommandInfo? command, HelpProviderResources resources) | ||||
|         { | ||||
|             var parameters = new List<HelpOption>(); | ||||
|             parameters.Add(new HelpOption("h", "help", null, null, "Prints help information", null)); | ||||
|             parameters.Add(new HelpOption("h", "help", null, null, resources.PrintHelpDescription, null)); | ||||
|  | ||||
|             // Version information applies to the entire application | ||||
|             // Include the "-v" option in the help when at the root of the command line application | ||||
|             // Don't allow the "-v" option if users have specified one or more sub-commands | ||||
|             if ((command == null || command?.Parent == null) && !(command?.IsBranch ?? false)) | ||||
|             { | ||||
|                 parameters.Add(new HelpOption("v", "version", null, null, "Prints version information", null)); | ||||
|                 parameters.Add(new HelpOption("v", "version", null, null, resources.PrintVersionDescription, null)); | ||||
|             } | ||||
|  | ||||
|             parameters.AddRange(command?.Parameters.OfType<ICommandOption>().Where(o => !o.IsHidden).Select(o => | ||||
| @@ -98,7 +102,9 @@ public class HelpProvider : IHelpProvider | ||||
|     { | ||||
|         this.ShowOptionDefaultValues = settings.ShowOptionDefaultValues; | ||||
|         this.MaximumIndirectExamples = settings.MaximumIndirectExamples; | ||||
|         this.TrimTrailingPeriod = settings.TrimTrailingPeriod; | ||||
|         this.TrimTrailingPeriod = settings.TrimTrailingPeriod; | ||||
|  | ||||
|         resources = new HelpProviderResources(settings.Culture); | ||||
|     } | ||||
|  | ||||
|     /// <inheritdoc/> | ||||
| @@ -143,7 +149,7 @@ public class HelpProvider : IHelpProvider | ||||
|         } | ||||
|  | ||||
|         var composer = new Composer(); | ||||
|         composer.Style("yellow", "DESCRIPTION:").LineBreak(); | ||||
|         composer.Style("yellow", $"{resources.Description}:").LineBreak(); | ||||
|         composer.Text(command.Description).LineBreak(); | ||||
|         yield return composer.LineBreak(); | ||||
|     } | ||||
| @@ -157,15 +163,15 @@ public class HelpProvider : IHelpProvider | ||||
|     public virtual IEnumerable<IRenderable> GetUsage(ICommandModel model, ICommandInfo? command) | ||||
|     { | ||||
|         var composer = new Composer(); | ||||
|         composer.Style("yellow", "USAGE:").LineBreak(); | ||||
|         composer.Style("yellow", $"{resources.Usage}:").LineBreak(); | ||||
|         composer.Tab().Text(model.ApplicationName); | ||||
|  | ||||
|         var parameters = new List<string>(); | ||||
|  | ||||
|         if (command == null) | ||||
|         { | ||||
|             parameters.Add("[grey][[OPTIONS]][/]"); | ||||
|             parameters.Add("[aqua]<COMMAND>[/]"); | ||||
|             parameters.Add($"[grey][[{resources.Options}]][/]"); | ||||
|             parameters.Add($"[aqua]<{resources.Command}>[/]"); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
| @@ -208,20 +214,20 @@ public class HelpProvider : IHelpProvider | ||||
|  | ||||
|                 if (isCurrent) | ||||
|                 { | ||||
|                     parameters.Add("[grey][[OPTIONS]][/]"); | ||||
|                     parameters.Add($"[grey][[{resources.Options}]][/]"); | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             if (command.IsBranch && command.DefaultCommand == null) | ||||
|             { | ||||
|                 // The user must specify the command | ||||
|                 parameters.Add("[aqua]<COMMAND>[/]"); | ||||
|                 parameters.Add($"[aqua]<{resources.Command}>[/]"); | ||||
|             } | ||||
|             else if (command.IsBranch && command.DefaultCommand != null && command.Commands.Count > 0) | ||||
|             { | ||||
|                 // We are on a branch with a default command | ||||
|                 // The user can optionally specify the command | ||||
|                 parameters.Add("[aqua][[COMMAND]][/]"); | ||||
|                 parameters.Add($"[aqua][[{resources.Command}]][/]"); | ||||
|             } | ||||
|             else if (command.IsDefaultCommand) | ||||
|             { | ||||
| @@ -231,7 +237,7 @@ public class HelpProvider : IHelpProvider | ||||
|                 { | ||||
|                     // Commands other than the default are present | ||||
|                     // So make these optional in the usage statement | ||||
|                     parameters.Add("[aqua][[COMMAND]][/]"); | ||||
|                     parameters.Add($"[aqua][[{resources.Command}]][/]"); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| @@ -298,7 +304,7 @@ public class HelpProvider : IHelpProvider | ||||
|         { | ||||
|             var composer = new Composer(); | ||||
|             composer.LineBreak(); | ||||
|             composer.Style("yellow", "EXAMPLES:").LineBreak(); | ||||
|             composer.Style("yellow", $"{resources.Examples}:").LineBreak(); | ||||
|  | ||||
|             for (var index = 0; index < Math.Min(maxExamples, examples.Count); index++) | ||||
|             { | ||||
| @@ -330,7 +336,7 @@ public class HelpProvider : IHelpProvider | ||||
|         var result = new List<IRenderable> | ||||
|             { | ||||
|                 new Markup(Environment.NewLine), | ||||
|                 new Markup("[yellow]ARGUMENTS:[/]"), | ||||
|                 new Markup($"[yellow]{resources.Arguments}:[/]"), | ||||
|                 new Markup(Environment.NewLine), | ||||
|             }; | ||||
|  | ||||
| @@ -366,7 +372,7 @@ public class HelpProvider : IHelpProvider | ||||
|     public virtual IEnumerable<IRenderable> GetOptions(ICommandModel model, ICommandInfo? command) | ||||
|     { | ||||
|         // Collect all options into a single structure. | ||||
|         var parameters = HelpOption.Get(command); | ||||
|         var parameters = HelpOption.Get(command, resources); | ||||
|         if (parameters.Count == 0) | ||||
|         { | ||||
|             return Array.Empty<IRenderable>(); | ||||
| @@ -375,7 +381,7 @@ public class HelpProvider : IHelpProvider | ||||
|         var result = new List<IRenderable> | ||||
|             { | ||||
|                 new Markup(Environment.NewLine), | ||||
|                 new Markup("[yellow]OPTIONS:[/]"), | ||||
|                 new Markup($"[yellow]{resources.Options}:[/]"), | ||||
|                 new Markup(Environment.NewLine), | ||||
|             }; | ||||
|  | ||||
| @@ -434,7 +440,7 @@ public class HelpProvider : IHelpProvider | ||||
|  | ||||
|         if (defaultValueColumn) | ||||
|         { | ||||
|             grid.AddRow(" ", "[lime]DEFAULT[/]", " "); | ||||
|             grid.AddRow(" ", $"[lime]{resources.Default}[/]", " "); | ||||
|         } | ||||
|  | ||||
|         foreach (var option in helpOptions) | ||||
| @@ -487,7 +493,7 @@ public class HelpProvider : IHelpProvider | ||||
|         var result = new List<IRenderable> | ||||
|             { | ||||
|                 new Markup(Environment.NewLine), | ||||
|                 new Markup("[yellow]COMMANDS:[/]"), | ||||
|                 new Markup($"[yellow]{resources.Commands}:[/]"), | ||||
|                 new Markup(Environment.NewLine), | ||||
|             }; | ||||
|  | ||||
|   | ||||
							
								
								
									
										131
									
								
								src/Spectre.Console.Cli/Help/HelpProviderResources.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								src/Spectre.Console.Cli/Help/HelpProviderResources.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,131 @@ | ||||
| using System.Resources; | ||||
|  | ||||
| namespace Spectre.Console.Cli.Help; | ||||
|  | ||||
| /// <summary> | ||||
| /// A strongly-typed resource class, for looking up localized strings, etc. | ||||
| /// </summary> | ||||
| internal class HelpProviderResources | ||||
| { | ||||
|     private readonly ResourceManager resourceManager = new ResourceManager("Spectre.Console.Cli.Resources.HelpProvider", typeof(HelpProvider).Assembly); | ||||
|     private readonly CultureInfo? resourceCulture = null; | ||||
|  | ||||
|     public HelpProviderResources() | ||||
|     { | ||||
|     } | ||||
|  | ||||
|     public HelpProviderResources(CultureInfo? culture) | ||||
|     { | ||||
|         resourceCulture = culture; | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets the localised string for ARGUMENTS. | ||||
|     /// </summary> | ||||
|     internal string Arguments | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return resourceManager.GetString("Arguments", resourceCulture) ?? string.Empty; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets the localised string for COMMAND. | ||||
|     /// </summary> | ||||
|     internal string Command | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return resourceManager.GetString("Command", resourceCulture) ?? string.Empty; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets the localised string for COMMANDS. | ||||
|     /// </summary> | ||||
|     internal string Commands | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return resourceManager.GetString("Commands", resourceCulture) ?? string.Empty; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets the localised string for DEFAULT. | ||||
|     /// </summary> | ||||
|     internal string Default | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return resourceManager.GetString("Default", resourceCulture) ?? string.Empty; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets the localised string for DESCRIPTION. | ||||
|     /// </summary> | ||||
|     internal string Description | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return resourceManager.GetString("Description", resourceCulture) ?? string.Empty; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets the localised string for EXAMPLES. | ||||
|     /// </summary> | ||||
|     internal string Examples | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return resourceManager.GetString("Examples", resourceCulture) ?? string.Empty; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets the localised string for OPTIONS. | ||||
|     /// </summary> | ||||
|     internal string Options | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return resourceManager.GetString("Options", resourceCulture) ?? string.Empty; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets the localised string for Prints help information. | ||||
|     /// </summary> | ||||
|     internal string PrintHelpDescription | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return resourceManager.GetString("PrintHelpDescription", resourceCulture) ?? string.Empty; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets the localised string for Prints version information. | ||||
|     /// </summary> | ||||
|     internal string PrintVersionDescription | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return resourceManager.GetString("PrintVersionDescription", resourceCulture) ?? string.Empty; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets the localised string for USAGE. | ||||
|     /// </summary> | ||||
|     internal string Usage | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return resourceManager.GetString("Usage", resourceCulture) ?? string.Empty; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -5,6 +5,17 @@ namespace Spectre.Console.Cli; | ||||
| /// </summary> | ||||
| public interface ICommandAppSettings | ||||
| { | ||||
|     /// <summary> | ||||
|     /// Gets or sets the culture. | ||||
|     /// </summary> | ||||
|     /// <remarks> | ||||
|     /// Text displayed by <see cref="Help.HelpProvider"/> can be localised, but defaults to English. | ||||
|     /// Setting this property informs the resource manager which culture to use when fetching strings. | ||||
|     /// English will be used when a culture has not been specified (ie. this property is null) | ||||
|     /// or a string has not been localised for the specified culture. | ||||
|     /// </remarks> | ||||
|     CultureInfo? Culture { get; set; } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// Gets or sets the application name. | ||||
|     /// </summary> | ||||
|   | ||||
| @@ -2,6 +2,7 @@ namespace Spectre.Console.Cli; | ||||
|  | ||||
| internal sealed class CommandAppSettings : ICommandAppSettings | ||||
| { | ||||
|     public CultureInfo? Culture { get; set; } | ||||
|     public string? ApplicationName { get; set; } | ||||
|     public string? ApplicationVersion { get; set; } | ||||
|     public int MaximumIndirectExamples { get; set; } | ||||
| @@ -19,8 +20,8 @@ internal sealed class CommandAppSettings : ICommandAppSettings | ||||
|     public ParsingMode ParsingMode => | ||||
|         StrictParsing ? ParsingMode.Strict : ParsingMode.Relaxed; | ||||
|  | ||||
|     public Func<Exception, int>? ExceptionHandler { get; set; } | ||||
|  | ||||
|     public Func<Exception, int>? ExceptionHandler { get; set; } | ||||
|  | ||||
|     public CommandAppSettings(ITypeRegistrar registrar) | ||||
|     { | ||||
|         Registrar = new TypeRegistrar(registrar); | ||||
|   | ||||
							
								
								
									
										153
									
								
								src/Spectre.Console.Cli/Resources/HelpProvider.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										153
									
								
								src/Spectre.Console.Cli/Resources/HelpProvider.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,153 @@ | ||||
| //------------------------------------------------------------------------------ | ||||
| // <auto-generated> | ||||
| //     This code was generated by a tool. | ||||
| //     Runtime Version:4.0.30319.42000 | ||||
| // | ||||
| //     Changes to this file may cause incorrect behavior and will be lost if | ||||
| //     the code is regenerated. | ||||
| // </auto-generated> | ||||
| //------------------------------------------------------------------------------ | ||||
|  | ||||
| namespace Spectre.Console.Cli.Resources { | ||||
|     using System; | ||||
|      | ||||
|      | ||||
|     /// <summary> | ||||
|     ///   A strongly-typed resource class, for looking up localized strings, etc. | ||||
|     /// </summary> | ||||
|     // This class was auto-generated by the StronglyTypedResourceBuilder | ||||
|     // class via a tool like ResGen or Visual Studio. | ||||
|     // To add or remove a member, edit your .ResX file then rerun ResGen | ||||
|     // with the /str option, or rebuild your VS project. | ||||
|     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] | ||||
|     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] | ||||
|     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | ||||
|     internal class HelpProvider { | ||||
|          | ||||
|         private static global::System.Resources.ResourceManager resourceMan; | ||||
|          | ||||
|         private static global::System.Globalization.CultureInfo resourceCulture; | ||||
|          | ||||
|         [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] | ||||
|         internal HelpProvider() { | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Returns the cached ResourceManager instance used by this class. | ||||
|         /// </summary> | ||||
|         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] | ||||
|         internal static global::System.Resources.ResourceManager ResourceManager { | ||||
|             get { | ||||
|                 if (object.ReferenceEquals(resourceMan, null)) { | ||||
|                     global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Spectre.Console.Cli.Resources.HelpProvider", typeof(HelpProvider).Assembly); | ||||
|                     resourceMan = temp; | ||||
|                 } | ||||
|                 return resourceMan; | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Overrides the current thread's CurrentUICulture property for all | ||||
|         ///   resource lookups using this strongly typed resource class. | ||||
|         /// </summary> | ||||
|         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] | ||||
|         internal static global::System.Globalization.CultureInfo Culture { | ||||
|             get { | ||||
|                 return resourceCulture; | ||||
|             } | ||||
|             set { | ||||
|                 resourceCulture = value; | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to ARGUMENTS. | ||||
|         /// </summary> | ||||
|         internal static string Arguments { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("Arguments", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to COMMAND. | ||||
|         /// </summary> | ||||
|         internal static string Command { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("Command", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to COMMANDS. | ||||
|         /// </summary> | ||||
|         internal static string Commands { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("Commands", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to DEFAULT. | ||||
|         /// </summary> | ||||
|         internal static string Default { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("Default", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to DESCRIPTION. | ||||
|         /// </summary> | ||||
|         internal static string Description { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("Description", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to EXAMPLES. | ||||
|         /// </summary> | ||||
|         internal static string Examples { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("Examples", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to OPTIONS. | ||||
|         /// </summary> | ||||
|         internal static string Options { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("Options", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to Prints help information. | ||||
|         /// </summary> | ||||
|         internal static string PrintHelpDescription { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("PrintHelpDescription", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to Prints version information. | ||||
|         /// </summary> | ||||
|         internal static string PrintVersionDescription { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("PrintVersionDescription", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to USAGE. | ||||
|         /// </summary> | ||||
|         internal static string Usage { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("Usage", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										150
									
								
								src/Spectre.Console.Cli/Resources/HelpProvider.de.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								src/Spectre.Console.Cli/Resources/HelpProvider.de.resx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,150 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <data name="Arguments" xml:space="preserve"> | ||||
|     <value>ARGUMENTE</value> | ||||
|   </data> | ||||
|   <data name="Command" xml:space="preserve"> | ||||
|     <value>KOMMANDO</value> | ||||
|   </data> | ||||
|   <data name="Commands" xml:space="preserve"> | ||||
|     <value>KOMMANDOS</value> | ||||
|   </data> | ||||
|   <data name="Default" xml:space="preserve"> | ||||
|     <value>STANDARDWERT</value> | ||||
|   </data> | ||||
|   <data name="Description" xml:space="preserve"> | ||||
|     <value>BESCHREIBUNG</value> | ||||
|   </data> | ||||
|   <data name="Examples" xml:space="preserve"> | ||||
|     <value>BEISPIELE</value> | ||||
|   </data> | ||||
|   <data name="Options" xml:space="preserve"> | ||||
|     <value>OPTIONEN</value> | ||||
|   </data> | ||||
|   <data name="PrintHelpDescription" xml:space="preserve"> | ||||
|     <value>Zeigt Hilfe an</value> | ||||
|   </data> | ||||
|   <data name="PrintVersionDescription" xml:space="preserve"> | ||||
|     <value>Zeigt Versionsinformationen an</value> | ||||
|   </data> | ||||
|   <data name="Usage" xml:space="preserve"> | ||||
|     <value>VERWENDUNG</value> | ||||
|   </data> | ||||
| </root> | ||||
							
								
								
									
										150
									
								
								src/Spectre.Console.Cli/Resources/HelpProvider.fr.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								src/Spectre.Console.Cli/Resources/HelpProvider.fr.resx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,150 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <data name="Arguments" xml:space="preserve"> | ||||
|     <value>ARGUMENTS</value> | ||||
|   </data> | ||||
|   <data name="Command" xml:space="preserve"> | ||||
|     <value>COMMANDE</value> | ||||
|   </data> | ||||
|   <data name="Commands" xml:space="preserve"> | ||||
|     <value>COMMANDES</value> | ||||
|   </data> | ||||
|   <data name="Default" xml:space="preserve"> | ||||
|     <value>DÉFAUT</value> | ||||
|   </data> | ||||
|   <data name="Description" xml:space="preserve"> | ||||
|     <value>DESCRIPTION</value> | ||||
|   </data> | ||||
|   <data name="Examples" xml:space="preserve"> | ||||
|     <value>EXEMPLES</value> | ||||
|   </data> | ||||
|   <data name="Options" xml:space="preserve"> | ||||
|     <value>OPTIONS</value> | ||||
|   </data> | ||||
|   <data name="PrintHelpDescription" xml:space="preserve"> | ||||
|     <value>Affiche l'aide</value> | ||||
|   </data> | ||||
|   <data name="PrintVersionDescription" xml:space="preserve"> | ||||
|     <value>Affiche la version</value> | ||||
|   </data> | ||||
|   <data name="Usage" xml:space="preserve"> | ||||
|     <value>UTILISATION</value> | ||||
|   </data> | ||||
| </root> | ||||
							
								
								
									
										150
									
								
								src/Spectre.Console.Cli/Resources/HelpProvider.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								src/Spectre.Console.Cli/Resources/HelpProvider.resx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,150 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <data name="Arguments" xml:space="preserve"> | ||||
|     <value>ARGUMENTS</value> | ||||
|   </data> | ||||
|   <data name="Command" xml:space="preserve"> | ||||
|     <value>COMMAND</value> | ||||
|   </data> | ||||
|   <data name="Commands" xml:space="preserve"> | ||||
|     <value>COMMANDS</value> | ||||
|   </data> | ||||
|   <data name="Default" xml:space="preserve"> | ||||
|     <value>DEFAULT</value> | ||||
|   </data> | ||||
|   <data name="Description" xml:space="preserve"> | ||||
|     <value>DESCRIPTION</value> | ||||
|   </data> | ||||
|   <data name="Examples" xml:space="preserve"> | ||||
|     <value>EXAMPLES</value> | ||||
|   </data> | ||||
|   <data name="Options" xml:space="preserve"> | ||||
|     <value>OPTIONS</value> | ||||
|   </data> | ||||
|   <data name="PrintHelpDescription" xml:space="preserve"> | ||||
|     <value>Prints help information</value> | ||||
|   </data> | ||||
|   <data name="PrintVersionDescription" xml:space="preserve"> | ||||
|     <value>Prints version information</value> | ||||
|   </data> | ||||
|   <data name="Usage" xml:space="preserve"> | ||||
|     <value>USAGE</value> | ||||
|   </data> | ||||
| </root> | ||||
							
								
								
									
										150
									
								
								src/Spectre.Console.Cli/Resources/HelpProvider.sv.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								src/Spectre.Console.Cli/Resources/HelpProvider.sv.resx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,150 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <data name="Arguments" xml:space="preserve"> | ||||
|     <value>ARGUMENT</value> | ||||
|   </data> | ||||
|   <data name="Command" xml:space="preserve"> | ||||
|     <value>KOMMANDO</value> | ||||
|   </data> | ||||
|   <data name="Commands" xml:space="preserve"> | ||||
|     <value>KOMMANDON</value> | ||||
|   </data> | ||||
|   <data name="Default" xml:space="preserve"> | ||||
|     <value>STANDARD</value> | ||||
|   </data> | ||||
|   <data name="Description" xml:space="preserve"> | ||||
|     <value>BESKRIVNING</value> | ||||
|   </data> | ||||
|   <data name="Examples" xml:space="preserve"> | ||||
|     <value>EXEMPEL</value> | ||||
|   </data> | ||||
|   <data name="Options" xml:space="preserve"> | ||||
|     <value>VAL</value> | ||||
|   </data> | ||||
|   <data name="PrintHelpDescription" xml:space="preserve"> | ||||
|     <value>Skriver ut hjälpinformation</value> | ||||
|   </data> | ||||
|   <data name="PrintVersionDescription" xml:space="preserve"> | ||||
|     <value>Skriver ut versionsnummer</value> | ||||
|   </data> | ||||
|   <data name="Usage" xml:space="preserve"> | ||||
|     <value>ANVÄNDING</value> | ||||
|   </data> | ||||
| </root> | ||||
| @@ -31,4 +31,19 @@ | ||||
|     </PackageReference> | ||||
|   </ItemGroup> | ||||
|  | ||||
|   <ItemGroup> | ||||
|     <Compile Update="Resources\HelpProvider.Designer.cs"> | ||||
|       <DesignTime>True</DesignTime> | ||||
|       <AutoGen>True</AutoGen> | ||||
|       <DependentUpon>HelpProvider.resx</DependentUpon> | ||||
|     </Compile> | ||||
|   </ItemGroup> | ||||
|  | ||||
|   <ItemGroup> | ||||
|     <EmbeddedResource Update="Resources\HelpProvider.resx"> | ||||
|       <Generator>ResXFileCodeGenerator</Generator> | ||||
|       <LastGenOutput>HelpProvider.Designer.cs</LastGenOutput> | ||||
|     </EmbeddedResource> | ||||
|   </ItemGroup> | ||||
|  | ||||
| </Project> | ||||
|   | ||||
| @@ -0,0 +1,25 @@ | ||||
| BESCHREIBUNG: | ||||
| The lion command. | ||||
|  | ||||
| VERWENDUNG: | ||||
|     myapp <TEETH> [LEGS] [OPTIONEN] [KOMMANDO] | ||||
|  | ||||
| BEISPIELE: | ||||
|     myapp 20 --alive | ||||
|  | ||||
| ARGUMENTE: | ||||
|     <TEETH>    The number of teeth the lion has | ||||
|     [LEGS]     The number of legs | ||||
|  | ||||
| OPTIONEN: | ||||
|                              STANDARDWERT | ||||
|     -h, --help                                   Zeigt Hilfe an | ||||
|     -v, --version                                Zeigt Versionsinformationen an | ||||
|     -a, --alive                                  Indicates whether or not the animal is alive | ||||
|     -n, --name <VALUE> | ||||
|         --agility <VALUE>    10                  The agility between 0 and 100 | ||||
|     -c <CHILDREN>                                The number of children the lion has | ||||
|     -d <DAY>                 Monday, Thursday    The days the lion goes hunting | ||||
|  | ||||
| KOMMANDOS: | ||||
|     giraffe <LENGTH>    The giraffe command | ||||
| @@ -4,6 +4,9 @@ The lion command. | ||||
| USAGE: | ||||
|     myapp <TEETH> [LEGS] [OPTIONS] [COMMAND] | ||||
| 
 | ||||
| EXAMPLES: | ||||
|     myapp 20 --alive | ||||
| 
 | ||||
| ARGUMENTS: | ||||
|     <TEETH>    The number of teeth the lion has | ||||
|     [LEGS]     The number of legs | ||||
| @@ -0,0 +1,25 @@ | ||||
| DESCRIPTION: | ||||
| The lion command. | ||||
|  | ||||
| UTILISATION: | ||||
|     myapp <TEETH> [LEGS] [OPTIONS] [COMMANDE] | ||||
|  | ||||
| EXEMPLES: | ||||
|     myapp 20 --alive | ||||
|  | ||||
| ARGUMENTS: | ||||
|     <TEETH>    The number of teeth the lion has | ||||
|     [LEGS]     The number of legs | ||||
|  | ||||
| OPTIONS: | ||||
|                              DÉFAUT | ||||
|     -h, --help                                   Affiche l'aide | ||||
|     -v, --version                                Affiche la version | ||||
|     -a, --alive                                  Indicates whether or not the animal is alive | ||||
|     -n, --name <VALUE> | ||||
|         --agility <VALUE>    10                  The agility between 0 and 100 | ||||
|     -c <CHILDREN>                                The number of children the lion has | ||||
|     -d <DAY>                 Monday, Thursday    The days the lion goes hunting | ||||
|  | ||||
| COMMANDES: | ||||
|     giraffe <LENGTH>    The giraffe command | ||||
| @@ -0,0 +1,25 @@ | ||||
| BESKRIVNING: | ||||
| The lion command. | ||||
|  | ||||
| ANVÄNDING: | ||||
|     myapp <TEETH> [LEGS] [VAL] [KOMMANDO] | ||||
|  | ||||
| EXEMPEL: | ||||
|     myapp 20 --alive | ||||
|  | ||||
| ARGUMENT: | ||||
|     <TEETH>    The number of teeth the lion has | ||||
|     [LEGS]     The number of legs | ||||
|  | ||||
| VAL: | ||||
|                              STANDARD | ||||
|     -h, --help                                   Skriver ut hjälpinformation | ||||
|     -v, --version                                Skriver ut versionsnummer | ||||
|     -a, --alive                                  Indicates whether or not the animal is alive | ||||
|     -n, --name <VALUE> | ||||
|         --agility <VALUE>    10                  The agility between 0 and 100 | ||||
|     -c <CHILDREN>                                The number of children the lion has | ||||
|     -d <DAY>                 Monday, Thursday    The days the lion goes hunting | ||||
|  | ||||
| KOMMANDON: | ||||
|     giraffe <LENGTH>    The giraffe command | ||||
| @@ -29,15 +29,4 @@ | ||||
|     <ProjectReference Include="..\..\src\Spectre.Console\Spectre.Console.csproj" /> | ||||
|   </ItemGroup> | ||||
|  | ||||
|   <ItemGroup> | ||||
|     <None Update="Expectations\Help\Default_Without_Args_Additional.Output.verified.txt"> | ||||
|       <ParentFile>$([System.String]::Copy('%(FileName)').Split('.')[0])</ParentFile> | ||||
|       <DependentUpon>%(ParentFile).cs</DependentUpon> | ||||
|     </None> | ||||
|     <None Update="Expectations\Help\Default_Greeter.Output.verified.txt"> | ||||
|       <ParentFile>$([System.String]::Copy('%(FileName)').Split('.')[0])</ParentFile> | ||||
|       <DependentUpon>%(ParentFile).cs</DependentUpon> | ||||
|     </None> | ||||
|   </ItemGroup> | ||||
|  | ||||
| </Project> | ||||
|   | ||||
| @@ -230,15 +230,27 @@ public sealed partial class CommandAppTests | ||||
|             return Verifier.Verify(result.Output); | ||||
|         } | ||||
|  | ||||
|         [Fact] | ||||
|         [Theory] | ||||
|         [InlineData(null, "EN")] | ||||
|         [InlineData("", "EN")] | ||||
|         [InlineData("en", "EN")] | ||||
|         [InlineData("en-EN", "EN")] | ||||
|         [InlineData("fr", "FR")] | ||||
|         [InlineData("fr-FR", "FR")] | ||||
|         [InlineData("sv", "SV")] | ||||
|         [InlineData("sv-SE", "SV")] | ||||
|         [InlineData("de", "DE")] | ||||
|         [InlineData("de-DE", "DE")] | ||||
|         [Expectation("Default_Without_Args_Additional")] | ||||
|         public Task Should_Output_Default_Command_And_Additional_Commands_When_Default_Command_Has_Required_Parameters_And_Is_Called_Without_Args() | ||||
|         public Task Should_Output_Default_Command_And_Additional_Commands_When_Default_Command_Has_Required_Parameters_And_Is_Called_Without_Args_Localised(string culture, string expectationPrefix) | ||||
|         { | ||||
|             // Given | ||||
|             var fixture = new CommandAppTester(); | ||||
|             fixture.SetDefaultCommand<LionCommand>(); | ||||
|             fixture.Configure(configurator => | ||||
|             { | ||||
|                 configurator.AddExample("20", "--alive"); | ||||
|                 configurator.SetApplicationCulture(string.IsNullOrEmpty(culture) ? null : new CultureInfo(culture)); | ||||
|                 configurator.SetApplicationName("myapp"); | ||||
|                 configurator.AddCommand<GiraffeCommand>("giraffe"); | ||||
|             }); | ||||
| @@ -247,7 +259,9 @@ public sealed partial class CommandAppTests | ||||
|             var result = fixture.Run(); | ||||
|  | ||||
|             // Then | ||||
|             return Verifier.Verify(result.Output); | ||||
|             var settings = new VerifySettings(); | ||||
|             settings.DisableRequireUniquePrefix(); | ||||
|             return Verifier.Verify(result.Output, settings).UseTextForParameters(expectationPrefix); | ||||
|         } | ||||
|  | ||||
|         [Fact] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Frank Ray
					Frank Ray