private string HandleText(object sender, StringTranslationEventArgs e)
        {
            var txt = e.Text;

            Logger.Log($"Text in '{txt}'", Level.Verbose);
            if (!TranslatePlugin.ShouldTranslateText(txt))
            {
                Logger.Log("Doesn't need translating, ignoring it!", Level.Verbose);
                return(txt);
            }

            var ft = CallOriginalTranslator(sender, e);

            if (
                ft != null && ft.Trim().Length > 0 &&
                AutoTranslatePlugin.IsAsciiText(ft))
            {
                Logger.Log("Already translated by TP", Level.Verbose);
                return(ft);
            }

            var trans = TranslatePlugin.BuildTranslationData(txt, sender as MonoBehaviour);

            if (trans.State == TranslationState.Finished)
            {
                return(trans.Translation);
            }

            TranslatePlugin.StartTranslation(trans);
            return(null);
        }
        private void HandleText(object sender, StringTranslationEventArgs args)
        {
            var text = args.Text;

            Logger.Log($"Text in {text}", Level.Verbose);
            if (args.Translation != null && args.Translation != text)
            {
                if (!TranslatePlugin.ShouldTranslateText(args.Translation))
                {
                    Logger.Log($"Already translated '{args.Translation}'", Level.Verbose);
                    return;
                }
                text = args.Translation;
            }

            if (args.TextContainer == null)
            {
                Logger.Log("No container");
                return;
            }


            if (!TranslatePlugin.ShouldTranslateText(text))
            {
                Logger.Log("Text doesn't need translating", Level.Verbose);
                return;
            }

            var translation = TranslatePlugin.BuildTranslationData(text, args.TextContainer);

            if (translation.State == TranslationState.Finished)
            {
                args.Translation = translation.Translation;
                return;
            }

            TranslatePlugin.StartTranslation(translation);
        }