Blep73-GTFOAutoTranslator icon

GTFOAutoTranslator

Client-side GTFO mod that automatically translates TextMeshPro UI from other mods using a LibreTranslate-compatible translation server.

By Blep73
Last updated 2 weeks ago
Total downloads 12
Total rating 0 
Categories Client Mods
Dependency string Blep73-GTFOAutoTranslator-0.3.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack_GTFO-3.2.3 icon
BepInEx-BepInExPack_GTFO

BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.

Preferred version: 3.2.3

README

GTFO Auto Translator

Automatically translates TextMeshPro UI text from GTFO mods at runtime.

Features

  • Translates non-English mod UI into English by default.
  • Persistent translation cache across game launches.
  • F8 enable/disable toggle by default.
  • Small in-game status indicator.
  • Include/exclude filters based on Unity hierarchy names.
  • Safer optional handling for ASCII-only languages such as French, Spanish, and German.
  • Preserves common TextMeshPro rich-text tags.
  • Request deduplication and rate limiting.

Requirements

  • GTFO
  • BepInExPack_GTFO 3.2.3 or newer compatible release
  • A LibreTranslate-compatible /translate endpoint

The default endpoint is:

http://localhost:5000/translate

A local/self-hosted translation server is recommended.

Installation

Mod manager

Install through Thunderstore Mod Manager or r2modman after this package is published.

Manual

Copy GTFOAutoTranslator.dll into:

GTFO/BepInEx/plugins/GTFOAutoTranslator/

Start GTFO once. The configuration file will be generated under:

GTFO/BepInEx/config/kai.gtfo.autotranslator.cfg

Default controls

F8 - toggle translation on/off

Recommended configuration

[General]
Enabled = true
ToggleKey = F8
ShowStatusIndicator = true
StatusIndicatorSeconds = 3
TargetLanguage = en
ScanIntervalSeconds = 0.4
MinimumTextLength = 2

[Detection]
TranslateAsciiOnlyText = false
PreserveRichTextTags = true

[Filtering]
OnlyTranslateMatchingHierarchy = false
RequireHierarchyMatchForAsciiOnly = true
HierarchyIncludePatterns =
HierarchyExcludePatterns =

[Cache]
PersistentCache = true
CacheSaveIntervalSeconds = 5

[LibreTranslate]
Endpoint = http://localhost:5000/translate
ApiKey =
MaxRequestsPerMinute = 60

[Debug]
LogTranslations = false

Translating ASCII-only languages

For languages whose text may use only A-Z characters, enable ASCII translation and restrict it to the target mod UI:

TranslateAsciiOnlyText = true
RequireHierarchyMatchForAsciiOnly = true
HierarchyIncludePatterns = NameOfTheMod;NameOfItsMenu

This helps avoid sending normal GTFO English UI to the translation server.

Persistent cache

Successful translations are stored in the BepInEx config folder, for example:

BepInEx/config/GTFOAutoTranslator.cache.en.json

Limitations

  • Unity does not expose a universal flag identifying which mod owns a TextMeshPro label, so optional filtering uses hierarchy names.
  • Text baked into images or textures cannot be translated.
  • The active font must contain glyphs for the target language.
  • Translation quality depends on the configured translation backend.