GTFO
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
2 weeks ago
Downloads
15
Size
23KB

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.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.