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