namespace AIStudio.Tools.PluginSystem;
///
/// Represents a contract for a language plugin.
///
public interface ILanguagePlugin
{
///
/// Tries to get a text from the language plugin.
///
///
/// When the key does not exist, the value will be an empty string.
/// Please note that the key is case-sensitive. Furthermore, the keys
/// are in the format "root::key". That means that the keys are
/// hierarchical and separated by "::".
///
/// The key to use to get the text.
/// The desired text.
/// True if the key exists, false otherwise.
public bool TryGetText(string key, out string value);
///
/// Gets the IETF tag of the language plugin.
///
public string IETFTag { get; }
///
/// Gets the name of the language.
///
public string LangName { get; }
}