public void OnGUI() { try { if (Event.current.type != EventType.KeyUp) { return; } switch (Event.current.keyCode) { case KeyCode.Keypad0: var data = GUIUtility.systemCopyBuffer.Unescape(); var eventArgs = new TextTranslationEventArgs(data, TextType.Text) { Debug = true }; HookCenter.InvokeTextTranslation(null, eventArgs); GUIUtility.systemCopyBuffer = eventArgs.Translation?.Escape() ?? "{No translation}"; break; } } catch (Exception ex) { Logger.Log(LogLevel.Error, ex); throw; } }
private void ReTranslation() { var processedTextures = new HashSet <string>(); foreach (var widget in FindObjectsOfType <UIWidget>()) { if (widget is UILabel label) { label.ProcessText(); } else { var texName = widget.mainTexture?.name; if (texName == null) { continue; } if (texName.StartsWith("!")) { widget.mainTexture.name = texName.Substring(1); } HookCenter.UIWidget_GetMainTexture(widget); } } foreach (var graphic in FindObjectsOfType <MaskableGraphic>()) { if (graphic is Image img && img.sprite != null) { if (img.sprite.name.StartsWith("!")) { img.sprite.name = img.sprite.name.Substring(1); } } HookCenter.MaskableGraphic_OnEnable(graphic); } OnResourceTranslation(); }