diff options
Diffstat (limited to 'src/SMAPI/Framework/Commands/ReloadI18nCommand.cs')
-rw-r--r-- | src/SMAPI/Framework/Commands/ReloadI18nCommand.cs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/SMAPI/Framework/Commands/ReloadI18nCommand.cs b/src/SMAPI/Framework/Commands/ReloadI18nCommand.cs new file mode 100644 index 00000000..12328bb6 --- /dev/null +++ b/src/SMAPI/Framework/Commands/ReloadI18nCommand.cs @@ -0,0 +1,44 @@ +using System; + +namespace StardewModdingAPI.Framework.Commands +{ + /// <summary>The 'reload_i18n' SMAPI console command.</summary> + internal class ReloadI18nCommand : IInternalCommand + { + /********* + ** Fields + *********/ + /// <summary>Reload translations for all mods.</summary> + private readonly Action ReloadTranslations; + + + /********* + ** Accessors + *********/ + /// <summary>The command name, which the user must type to trigger it.</summary> + public string Name { get; } = "reload_i18n"; + + /// <summary>The human-readable documentation shown when the player runs the built-in 'help' command.</summary> + public string Description { get; } = "Reloads translation files for all mods.\n\nUsage: reload_i18n"; + + + /********* + ** Public methods + *********/ + /// <summary>Construct an instance.</summary> + /// <param name="reloadTranslations">Reload translations for all mods..</param> + public ReloadI18nCommand(Action reloadTranslations) + { + this.ReloadTranslations = reloadTranslations; + } + + /// <summary>Handle the console command when it's entered by the user.</summary> + /// <param name="args">The command arguments.</param> + /// <param name="monitor">Writes messages to the console.</param> + public void HandleCommand(string[] args, IMonitor monitor) + { + this.ReloadTranslations(); + monitor.Log("Reloaded translation files for all mods. This only affects new translations the mods fetch; if they cached some text, it may not be updated.", LogLevel.Info); + } + } +} |