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); } }