1 / 2
Automatic chat translation for Rust servers.

Running an international Rust server should not mean players have to copy messages into external translators just to understand each other.

TranslateSystem automatically translates chat messages into each player's selected language while keeping the normal Rust chat experience. Players can use their Rust client language automatically or choose their own language, while server owners can control chat channels, translation services, preserved Rust terms, caching, message filters, permissions, and request limits.

Perfect for PvE, PvP, Vanilla+, modded, RPG/RP, international servers, or any server with players speaking different languages.

✨ Features

  1. Automatically translates chat messages separately for each player's language.
  2. Uses the player's Rust client language automatically or allows players to select their own language.
  3. Supports Global, Team, Local, Clan, and Card Game chat channels.
  4. Enable or disable translation separately for each supported chat channel.
  5. Supports MyMemory, Google Cloud Translation, Microsoft Translator, Yandex Cloud, LibreTranslate, and OpenAI.
  6. MyMemory is available as the default translation service and fallback if another configured provider fails.
  7. BetterChat and IQChat support while keeping their chat formatting.
  8. Players can enable or disable translations for themselves at any time.
  9. Optional permission requirement for receiving translations.
  10. Option to translate the sender's own messages.
  11. Option to show the original message underneath the translated message.
  12. Automatic source-language detection.
  13. Custom language selection for individual players.
  14. Preserved Rust terms prevent configured words such as TC, Oil Rig, Cargo, Bradley, AK, sulfur, HQM, Workbench, monument names, and other terms from being translated.
  15. Built-in translation cache reuses recent translations and reduces unnecessary API requests.
  16. Configurable cache lifetime and maximum stored translations.
  17. Message filters can ignore messages without letters, very short messages, and colon emoji codes such as :heartrock:.
  18. Optional per-player rate limiting.
  19. Configurable maximum simultaneous translation requests.
  20. Configurable API timeout, failed-request cooldown, and rate-limit cooldown.
  21. Optional server console chat logging.
  22. Configurable command aliases.
  23. Player translation settings and selected languages are saved automatically.
  24. English and Russian plugin messages included.

🌍 Supported Languages

TranslateSystem supports all 25 Rust client languages, allowing players to communicate across different languages without manually translating chat messages.

Players can automatically use their Rust client language or manually select their preferred translation language.

LanguageLanguage Code
Englishen
Russianru
Germande
Frenchfr
Spanish (Spain)es
Spanish (Latin America)es-419
Italianit
Turkishtr
Arabicar
Czechcs
Danishda
Greekel
Polishpl
Ukrainianuk
Japaneseja
Koreanko
Chinese (Simplified)zh-cn
Chinese (Traditional)zh-tw
Dutchnl
Norwegianno
Swedishsv
Finnishfi
Portuguese (Portugal)pt-pt
Portuguese (Brazil)pt-br
Vietnamesevi

Tip

Example:
A German player can use /translate lang de to receive translated messages in German, while a Russian player can use /translate lang ru to receive messages in Russian.

Players can also use /translate auto to automatically follow their Rust client language without selecting a language manually.

⌨️ Commands

/translate - Shows your current translation status and available commands.

/translate on - Enables automatic chat translations for yourself.

/translate off - Disables automatic chat translations for yourself.

/translate auto - Uses your Rust client language for translations.

/translate lang <code> - Sets your translation language manually.

/translate status - Shows whether translation is enabled and which language is currently being used.

Command aliases are fully configurable.

Command Examples

Код:
/translate
/translate on
/translate off
/translate auto
/translate lang en
/translate lang de
/translate lang ru
/translate lang fr
/translate lang es-419
/translate lang zh-cn
/translate status

Note

Language Selection


  • Use /translate auto to automatically follow the player's Rust client language.
  • Use /translate lang <code> to select a preferred language manually.
  • Language preferences are saved automatically.
  • Players can enable or disable translations whenever they want.

🛡️ Admin Command

/translate stats - Shows the current translation cache size and active translation requests.

🔐 Permissions

translatesystem.use - Required to use TranslateSystem commands and receive translations when the permission requirement is enabled in the configuration.

translatesystem.admin - Allows access to /translate stats.

Tip

Permission Settings


By default, the permission requirement for receiving translations is disabled.

Enable Require permission to receive translations in the configuration if you want to restrict translation functionality to selected players or permission groups.

🌐 Translation Services

TranslateSystem supports multiple translation providers, allowing server owners to select the service that best fits their server.

ServiceDescription
MyMemoryDefault translation service without requiring your own API key.
GoogleGoogle Cloud Translation using your API key.
MicrosoftMicrosoft Translator using a subscription key and optional resource region.
YandexYandex Cloud Translation using your API key.
LibreTranslateConnect to a LibreTranslate server with optional API-key support.
OpenAIOpenAI API translation with configurable API key, model, and token limit.

MyMemory

  • Available as the default translation service.
  • Does not require server owners to configure their own translation API key.
  • Can serve as a fallback when another configured translation provider fails.

Google

  • Supports Google Cloud Translation.
  • Requires a Google Cloud Translation API key.
  • Can be selected as the main translation provider.

Microsoft

  • Supports Microsoft Translator.
  • Requires a Microsoft Translator subscription key.
  • Supports an optional resource region.

Yandex

  • Supports Yandex Cloud Translation.
  • Requires a Yandex Cloud service account API key.

LibreTranslate

  • Supports LibreTranslate servers.
  • Configurable server address.
  • Optional API key for servers requiring authentication.

OpenAI

  • Supports translation using the OpenAI API.
  • Configurable API key.
  • Configurable model.
  • Configurable maximum completion token limit.

Note

Translation Service Notes


  • MyMemory is the default translation service.
  • Other translation providers require their respective API credentials or server settings.
  • API request timeouts and cooldowns are configurable.
  • Translation availability for specific language codes can depend on the selected provider.

💬 Chat Channels

TranslateSystem supports multiple Rust chat channels, with separate configuration options for each channel.

Chat ChannelDescription
GlobalTranslates messages sent in global chat.
TeamTranslates messages between team members.
LocalTranslates messages in nearby-player chat.
ClanTranslates supported clan chat messages.
Card GamesTranslates messages in supported card game chat.

Each supported chat channel can be enabled or disabled separately.

Tip

Example:
Enable translation for Global, Team, and Clan chat while disabling translation for Local and Card Game chat.

This allows server owners to control where automatic translation is applied.

🛡️ Preserved Rust Terms

TranslateSystem allows server owners to configure words and phrases that should remain unchanged during translation.

This is useful for preserving commonly used Rust terminology, weapon names, monument names, and abbreviations.

Examples of preserved terms:

  • Building and resources: TC, HQM, Workbench, scrap, sulfur.
  • Weapons: AK, AK-47, LR, L96, M2, M249, MP5, SAR, DB, Tommy, Thompson.
  • Monuments and events: Oil Rig, Large Oil, Small Oil, Cargo, Cargo Ship, Bradley, Outpost, Bandit Camp, Launch Site, Airfield, Dome, Train Yard, Power Plant, Military Tunnels.

Tip

Example:
A player sends a message containing AK, TC, or Oil Rig.

These configured terms remain unchanged in translated messages, helping players recognize familiar Rust terminology regardless of their selected language.

⚡ Translation Cache & Request Controls

TranslateSystem includes configurable caching and request controls to help manage translation API usage.

SettingDescription
Translation CacheReuses recently translated messages to avoid unnecessary translation requests.
Cache LifetimeControls how long cached translations are kept.
Maximum Cached TranslationsLimits the number of translations stored in the cache.
Maximum Simultaneous RequestsControls how many translation requests can run at the same time.
API TimeoutSets the maximum time allowed for translation requests.
Failed Request CooldownConfigures a delay after failed API requests.
Rate Limit CooldownConfigures a delay when the translation provider reports rate limiting.
Player Rate LimitOptionally limits how frequently individual players can submit messages for translation.

Note

Default Cache Settings


  • Translation caching is enabled.
  • Cached translations are kept for 60 minutes.
  • Maximum cached translations: 5000.
  • Maximum simultaneous translation requests: 1.

These values can be changed in the configuration.

🔎 Message Filters

TranslateSystem includes optional message filters to reduce unnecessary translation requests.

  • Skip messages that do not contain letters.
  • Skip short messages below the configured minimum length.
  • Skip colon emoji codes such as :heartrock:.
  • Configure a minimum message length.
  • Optionally limit translation requests per player.
  • Configure the number of messages allowed within a specified time window.

Tip

Example:
Set the minimum message length to 2 and enable the colon emoji code filter to avoid unnecessary translation processing for very short messages and messages such as :heartrock:.

⚙️ Example Configuration

JSON:
{
  "Commands": [
    "translate"
  ],
  "[Chat] Require permission to receive translations": false,
  "[Chat] Translate sender's own message": false,
  "[Chat] Show original message under translation": false,
  "[Chat] Automatically detect the message language": true,
  "Chat Channels": {
    "[Chat] Global": true,
    "[Chat] Team": true,
    "[Chat] Local (nearby players)": true,
    "[Chat] Clan": true,
    "[Chat] Card games": true
  },
  "Translation": {
    "[API] Selected service (choose MyMemory, LibreTranslate, Google, Microsoft, Yandex or OpenAI)": "MyMemory",
    "[OpenAI] API key": "",
    "[OpenAI] Model": "",
    "[OpenAI] Maximum completion tokens": 500,
    "[Google] Cloud Translation API key": "",
    "[Microsoft] Translator subscription key": "",
    "[Microsoft] Resource region (empty for global)": "",
    "[Yandex] Cloud service account API key": "",
    "[LibreTranslate] Server address": "",
    "[LibreTranslate] API key (if required)": "",
    "[API] Request timeout (seconds)": 10.0,
    "[API] Wait after a failed request (seconds)": 30.0,
    "[API] Wait after rate limit (seconds)": 300.0
  },
  "Message Filters": {
    "[Filter] Skip messages without letters": true,
    "[Filter] Skip colon emoji codes such as :heartrock:": true,
    "[Filter] Minimum message length (characters)": 2
  },
  "Cache": {
    "[Cache] Reuse recent translations": true,
    "[Cache] Keep translations for (minutes)": 60,
    "[Cache] Maximum saved translations": 5000
  },
  "Requests": {
    "[Requests] Maximum requests at the same time": 1
  },
  "Player Rate Limit": {
    "[Rate Limit] Limit messages per player": false,
    "[Rate Limit] Messages allowed per player": 8,
    "[Rate Limit] Count messages over this period (seconds)": 10.0
  },
  "[Chat] Log chat to server console": false,
  "[Chat] Words and Rust terms to leave untranslated": [
    "TC",
    "Oil Rig",
    "Large Oil",
    "Small Oil",
    "Cargo",
    "Cargo Ship",
    "Bradley",
    "Bradley APC",
    "AK",
    "AK-47",
    "LR",
    "L96",
    "M2",
    "M249",
    "MP5",
    "SAR",
    "DB",
    "Tommy",
    "Thompson",
    "scrap",
    "sulfur",
    "HQM",
    "Workbench",
    "Outpost",
    "Bandit Camp",
    "Launch Site",
    "Airfield",
    "Dome",
    "Train Yard",
    "Power Plant",
    "Military Tunnels"
  ],
  "Config Version": {
    "Major": 1,
    "Minor": 0,
    "Patch": 1
  }
}

Note

Configuration Notes


  • Commands: Configurable chat command aliases.
  • Require Permission: Controls whether players need permission to receive translations.
  • Translate Sender: Optionally translates the sender's own messages.
  • Show Original: Displays the original message underneath the translated message.
  • Language Detection: Automatically detects the source language of messages.
  • Chat Channels: Controls translation separately for Global, Team, Local, Clan, and Card Game chat.
  • Translation Service: Selects MyMemory, Google, Microsoft, Yandex, LibreTranslate, or OpenAI.
  • API Settings: Configure service credentials, request timeouts, and cooldowns.
  • Message Filters: Configure minimum message length, non-letter message filtering, and emoji code filtering.
  • Cache: Configure translation caching, cache lifetime, and maximum cached translations.
  • Requests: Controls the maximum number of simultaneous translation requests.
  • Player Rate Limit: Optionally limits translation requests per player.
  • Chat Logging: Enables or disables server console chat logging.
  • Preserved Terms: Defines words and Rust terminology that should not be translated.

Warning

Important:
Some translation services require valid API credentials and may have their own usage limits or costs.

Check the selected provider's supported languages, pricing, and request limits before enabling it on a busy server.

MyMemory is available as the default translation service without requiring your own API key.

💡 Why Choose TranslateSystem?

Language differences can make communication difficult on Rust servers with players from different countries. TranslateSystem handles translation automatically for each player while still giving them control over whether translations are enabled and which language they want to use.

With support for all 25 Rust client languages, multiple translation services, BetterChat and IQChat compatibility, configurable chat channels, preserved Rust terms, caching, message filters, and request controls, TranslateSystem makes it easier for players speaking different languages to communicate naturally in the same chat.

Whether you run a small international server or a large multilingual community, TranslateSystem helps remove language barriers without requiring players to leave the game or use external translation tools
Автор
Meowhuh
Скачиваний
1
Просмотры
6
Первый выпуск
Обновление

Рейтинг

0,00 звёзд Оценок: 0

Ещё ресурсы от Meowhuh

  • MonumentBlockerSystem
    MonumentBlockerSystem
    Complete monument blocker management for Rust servers.
  • TurretSystem
    TurretSystem
    Complete turret and base-defense management for Rust servers.
  • TrashBoxSystem
    TrashBoxSystem
    Automatic item disposal with customizable trash boxes for Rust servers.
  • JackhammerFlashlight
    JackhammerFlashlight
    Add a fully functional flashlight to jackhammers in Rust.
  • OreGolems
    OreGolems
    Turn ordinary ore nodes into massive, animated boss encounters in Rust.
Назад
Верх