Repository navigation
1.1.0
What's new in 1.1.0
Features
- Reply to chat from the app — click a message in the feed, type a reply, and it's translated back into the sender's language and written to a
cs2_translator_reply.cfgthat CS2 executes via a keybind (bind F8 "exec cs2_translator_reply"). No memory access or input injection — just a cfg file the game runs itself. - Incremental chat rendering in both the WinForms and Avalonia feeds — messages and their translations update in place instead of rebuilding the whole feed, so no flicker and far fewer allocations.
Performance & reliability hardening
- TranslationService — single-flight coalescing of concurrent identical lookups, a bounded FIFO result cache, a 30 s negative cache for failing phrases, and a 256-char length guard, all to avoid hammering the keyless Google Translate endpoint.
- ConsoleLogTailer — stateful UTF-8 decoding (no more garbled characters when a codepoint is split across a read boundary), a 64 KiB partial-line cap to prevent unbounded growth on a newline-free stream, and a race-free shutdown.
- ConfigStore — atomic config writes and retry-on-transient-IO, so a momentary file lock (AV, indexer, another instance) never resets your settings to defaults.
Downloads
- Windows —
CS2ChatTranslator.exe, self-contained, no .NET install needed. - Linux —
CS2ChatTranslator.Avalonia, self-contained; runchmod +x CS2ChatTranslator.Avaloniaafter download.
Unsigned single-file builds are routinely flagged by SmartScreen/Defender — that's expected for this kind of binary.