namespace Flow.Launcher.Infrastructure
{
///
/// Translate a language to English letters using a given rule.
///
public interface IAlphabet
{
///
/// Translate a string to English letters, using a given rule.
///
/// String to translate.
///
/// Translates the input string into English letters according to the implementing alphabet's rules.
///
/// The string to be translated.
/// A tuple containing the translated string and a representing the mapping details.
public (string translation, TranslationMapping map) Translate(string stringToTranslate);
///
/// Determine if a string can be translated to English letter with this Alphabet.
///
/// String to translate.
///
/// Determines whether the specified string is eligible for translation to English letters using this alphabet's rules.
///
/// The input string to evaluate for translation eligibility.
/// True if the string should be translated; otherwise, false.
public bool ShouldTranslate(string stringToTranslate);
}
}