{"id":76133,"date":"2026-06-04T12:46:58","date_gmt":"2026-06-04T09:46:58","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/"},"modified":"2026-06-04T12:46:58","modified_gmt":"2026-06-04T09:46:58","slug":"globalchattranslator","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/","title":{"rendered":"GlobalChatTranslator"},"content":{"rendered":"<p># GlobalChatTranslator<\/p>\n<p>![Replace this with a description](https:\/\/cdn.modrinth.com\/data\/cached_images\/6e40cacb90235e15475c93d69e02ee4167e13a21.png)<br \/>\nA Minecraft plugin that translates player chat messages in real-time using AI. Players can set their preferred language individually, and messages are automatically translated for each recipient \u2014 enabling seamless communication across language barriers.<\/p>\n<p>&#8212;<\/p>\n<p>## Requirements<br \/>\n| | |<br \/>\n|&#8212;|&#8212;|<br \/>\n| Server | Spigot or Paper 1.21+ |<br \/>\n| Java | 21+ |<br \/>\n| LLM provider (pick one) | Google AI Studio API key \/ OpenAI Platform API key \/ Self-hosted Ollama instance |<\/p>\n<p>&#8212;<\/p>\n<p>## Features<br \/>\n&#8211; **Real-time translation** \u2014 Chat messages are automatically translated per recipient based on their language setting, powered by Google Gemini, OpenAI ChatGPT, or a self-hosted Ollama instance.<br \/>\n&#8211; **Per-player language**\u2014 Each player sets their preferred language with `\/gct lang`. Settings persist across sessions.<br \/>\n&#8211; **Skip prefix** \u2014 Prefix a message with `!` (configurable) to send it as-is without translation.<\/p>\n<p>&#8212;<\/p>\n<p>## Installation<br \/>\n1. Download `GlobalChatTranslator-*.jar`<br \/>\n2. Place the jar file inside the `plugins\/` directory<br \/>\n3. Start the server once to generate `plugins\/GlobalChatTranslator\/config.yml`<br \/>\n4. Edit `config.yml` to set your provider and API key (see [Configuration](#configuration-pluginsglobalchattranslatorconfigyml))<br \/>\n5. Run `\/gct reload` or restart the server<\/p>\n<p>&#8212;<\/p>\n<p>## Providers<\/p>\n<p>### Google Gemini<br \/>\nObtain an API key from Google AI Studio.<\/p>\n<p>&#8220;`yaml<br \/>\nprovider: &#8220;gemini&#8221;<br \/>\ngemini-api-key: &#8220;YOUR_GEMINI_API_KEY&#8221;<br \/>\ngemini-model: &#8220;gemini-2.5-flash-lite&#8221;<br \/>\n&#8220;`<\/p>\n<p>Recommended models: `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-2.5-pro`<\/p>\n<p>### OpenAI ChatGPT<br \/>\nObtain an API key from the OpenAI Platform.<\/p>\n<p>&#8220;`yaml<br \/>\nprovider: &#8220;openai&#8221;<br \/>\nopenai-api-key: &#8220;YOUR_OPENAI_API_KEY&#8221;<br \/>\nopenai-model: &#8220;gpt-4o-mini&#8221;<br \/>\n&#8220;`<\/p>\n<p>Recommended models: `gpt-4o-mini`, `gpt-4o`, `gpt-4.1`<\/p>\n<p>### Ollama (self-hosted)<br \/>\nInstall Ollama and pull a model locally. No API key required.<br \/>\nFor real-time chat translation, smaller and faster models (2B~4B parameters) are strongly recommended \u2014 response latency matters more than output quality.<\/p>\n<p>&#8220;`yaml<br \/>\nprovider: &#8220;ollama&#8221;<br \/>\nollama-url: &#8220;http:\/\/localhost:11434&#8221;<br \/>\nollama-model: &#8220;gemma4:e2b&#8221;<br \/>\n&#8220;`<\/p>\n<p>Recommended models: `gemma4:e2b`, `gemma3:2b`, `qwen2.5:3b`<\/p>\n<p>&#8212;<\/p>\n<p>## Commands<br \/>\n| Command | Permission | Description |<br \/>\n|&#8212;|&#8212;|&#8212;|<br \/>\n| `\/gct lang <code>` | `gct.use` | Set your preferred language (e.g. `en`, `ja`, `es`) |<br \/>\n| `\/gct lang` | `gct.use` | Show your current language |<br \/>\n| `\/gct reload` | `gct.admin` | Reload `config.yml` and apply changes |<br \/>\n| `\/gct help` | \u2014 | Show help |<\/p>\n<p>### Language codes<br \/>\nISO 639-1 codes are supported. Examples: `ar` `cs` `da` `de` `en` `es` `fa` `fi` `fr` `hu` `id` `it` `ja` `ko` `ms` `nb` `nl` `pl` `pt` `ro` `ru` `sv` `th` `tr` `uk` `vi` `zh`<\/p>\n<p>---<\/p>\n<p>## Permissions<br \/>\n| Permission | Default | Description |<br \/>\n|---|---|---|<br \/>\n| `gct.use` | `true` | Allows players to set their language |<br \/>\n| `gct.admin` | `op` | Allows reloading the config |<\/p>\n<p>---<\/p>\n<p>## Configuration (`plugins\/GlobalChatTranslator\/config.yml`)<br \/>\n```yaml<br \/>\n# =============================================<br \/>\n# GlobalChatTranslator - Configuration<br \/>\n# =============================================<\/p>\n<p># Translation provider to use.<br \/>\n# Supported values: gemini, openai, ollama<br \/>\n# After changing this value, run \/gct reload to apply.<br \/>\nprovider: \"gemini\"<\/p>\n<p># =============================================<br \/>\n# Gemini Settings  (provider: gemini)<br \/>\n# =============================================<br \/>\n# API key obtained from Google AI Studio (https:\/\/aistudio.google.com\/)<br \/>\ngemini-api-key: \"YOUR_GEMINI_API_KEY\"<\/p>\n<p># Gemini model to use for translation.<br \/>\n# Recommended: gemini-2.5-flash-lite (fastest, lowest cost)<br \/>\n# Other options: gemini-2.5-flash, gemini-2.5-pro, gemini-2.0-flash, gemini-1.5-flash<br \/>\ngemini-model: \"gemini-2.5-flash-lite\"<\/p>\n<p># =============================================<br \/>\n# Ollama Settings  (provider: ollama)<br \/>\n# =============================================<br \/>\n# Base URL of your Ollama server.<br \/>\nollama-url: \"http:\/\/localhost:11434\"<\/p>\n<p># Ollama model to use for translation.<br \/>\n# The model must be pulled in advance (e.g. ollama pull gemma4:e2b).<br \/>\n# For real-time chat translation, smaller and faster models (2B~4B parameters) are<br \/>\n# strongly recommended over large models. Response latency matters more than accuracy.<br \/>\n# Recommended: gemma4:e2b, gemma3:2b, qwen2.5:3b<br \/>\nollama-model: \"gemma4:e2b\"<\/p>\n<p># =============================================<br \/>\n# OpenAI Settings  (provider: openai)<br \/>\n# =============================================<br \/>\n# API key obtained from OpenAI Platform (https:\/\/platform.openai.com\/)<br \/>\nopenai-api-key: \"YOUR_OPENAI_API_KEY\"<\/p>\n<p># OpenAI model to use for translation.<br \/>\n# Recommended: gpt-4o-mini (low cost, sufficient quality)<br \/>\n# Other options: gpt-4o, gpt-4.1<br \/>\nopenai-model: \"gpt-4o-mini\"<\/p>\n<p># =============================================<br \/>\n# General Settings<br \/>\n# =============================================<\/p>\n<p># Default language assigned to players who have not set a preference.<br \/>\n# Uses ISO 639-1 codes (e.g. en, ja, zh, es, fr).<br \/>\ndefault-language: \"en\"<\/p>\n<p># Format for messages that were translated.<br \/>\n# Placeholders: %source_lang%, %target_lang%, %player%, %message%<br \/>\n# Use & followed by a color code for formatting (e.g. &7 for gray, &f for white).<br \/>\nmessage-format: \"&7[%source_lang% -> %target_lang%] &f%player%&7: &f%message%\"<\/p>\n<p># Format for messages shown to recipients who share the same language as the sender<br \/>\n# (translation is skipped). Same placeholders are available.<br \/>\nsame-language-message-format: \"&f%player%&7: &f%message%\"<\/p>\n<p># Show a \"Translating...\" action bar message to the sender while the API is processing.<br \/>\n# Disable this if you prefer a quieter experience or notice display conflicts.<br \/>\ntranslating-action-bar: true<\/p>\n<p># Notify players of their current language setting when they join the server.<br \/>\nnotify-language-on-join: true<\/p>\n<p># Messages that begin with this prefix are sent as-is without translation.<br \/>\n# The prefix character is stripped before the message is delivered.<br \/>\n# Set to \"\" to disable.<br \/>\nskip-prefix: \"!\"<\/p>\n<p># Minimum interval between translated messages per player, in milliseconds.<br \/>\n# Players who send messages faster than this rate will have their message blocked.<br \/>\n# Set to 0 to disable.<br \/>\ncooldown: 1000<\/p>\n<p># Maximum time to wait for an API response, in seconds.<br \/>\n# If the provider does not respond within this time, the original message is<br \/>\n# delivered untranslated rather than dropped.<br \/>\napi-timeout: 10<\/p>\n<p># Log raw API request and response bodies to the console.<br \/>\n# Useful for diagnosing translation failures or unexpected output.<br \/>\n# Disable in production as API keys may appear in the output.<br \/>\ndebug: false<br \/>\n```<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Minecraft plugin that translates player chat messages in real-time using AI. Players can set their preferred language individually, and messages are automatically translated for each recipient \u2014 enabling seamless communication across language barriers.<\/p>\n","protected":false},"featured_media":76134,"template":"","meta":{"_minecraft_slug":"globalchattranslator","_minecraft_project_id":"jXOIJia3","_minecraft_author":"topi-k","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":4,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"globalchattranslator.zip","_minecraft_size_bytes":14540462,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-16T12:17:25.643701Z","_minecraft_date_created":"2026-05-08T00:51:06.288974Z","_minecraft_date_modified":"2026-05-03T12:30:23.552805Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/globalchattranslator","_minecraft_icon_attachment_id":76134,"_minecraft_imported_at":"2026-06-04T09:46:58+00:00","_minecraft_import_hash":"27dc2c314f4a2ed7e6279111f26e3c31","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[89,127,867,129,92],"mod_loader":[132,134],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82,83,167,163],"class_list":["post-76133","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-game-mechanics","mod_category-paper","mod_category-social","mod_category-spigot","mod_category-utility","mod_loader-paper","mod_loader-spigot","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9","minecraft_version-26-1","minecraft_version-26-1-1","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GlobalChatTranslator - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GlobalChatTranslator - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A Minecraft plugin that translates player chat messages in real-time using AI. Players can set their preferred language individually, and messages are automatically translated for each recipient \u2014 enabling seamless communication across language barriers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/globalchattranslator\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/globalchattranslator\\\/\",\"name\":\"GlobalChatTranslator - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/globalchattranslator\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/globalchattranslator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/globalchattranslator-icon-4d3b0bb5340c843e26cac2c17bddf9ccc2ccd85c_96.webp\",\"datePublished\":\"2026-06-04T09:46:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/globalchattranslator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/globalchattranslator\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/globalchattranslator\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/globalchattranslator-icon-4d3b0bb5340c843e26cac2c17bddf9ccc2ccd85c_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/globalchattranslator-icon-4d3b0bb5340c843e26cac2c17bddf9ccc2ccd85c_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/globalchattranslator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"GlobalChatTranslator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GlobalChatTranslator - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/","og_locale":"en_US","og_type":"article","og_title":"GlobalChatTranslator - Minecraft","og_description":"A Minecraft plugin that translates player chat messages in real-time using AI. Players can set their preferred language individually, and messages are automatically translated for each recipient \u2014 enabling seamless communication across language barriers.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/","name":"GlobalChatTranslator - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/globalchattranslator-icon-4d3b0bb5340c843e26cac2c17bddf9ccc2ccd85c_96.webp","datePublished":"2026-06-04T09:46:58+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/globalchattranslator-icon-4d3b0bb5340c843e26cac2c17bddf9ccc2ccd85c_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/globalchattranslator-icon-4d3b0bb5340c843e26cac2c17bddf9ccc2ccd85c_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/globalchattranslator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"GlobalChatTranslator"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/76133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/76134"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=76133"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=76133"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=76133"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=76133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}