using System.Collections.Generic; namespace NadekoBot.Core.Services { public class LocalBotStringsProvider : IBotStringsProvider { private readonly IStringsSource _source; private IReadOnlyDictionary> responseStrings; private IReadOnlyDictionary> commandStrings; public LocalBotStringsProvider(IStringsSource source) { _source = source; Reload(); } public string GetText(string localeName, string key) { if (responseStrings.TryGetValue(localeName, out var langStrings) && langStrings.TryGetValue(key, out var text)) { return text; } return null; } public void Reload() { responseStrings = _source.GetResponseStrings(); commandStrings = _source.GetCommandStrings(); } public CommandStrings GetCommandStrings(string localeName, string commandName) { if (commandStrings.TryGetValue(localeName, out var langStrings) && langStrings.TryGetValue(commandName, out var strings)) { return strings; } return null; } } }