What it makes possible.
Multilingual teams using Mattermost and administrators able to configure a bot service and OpenAI API access.
A team member can run /translate en Hola mundo in a channel, or invoke /translate while replying to translate the parent message into their saved language.
Inside the project.
- Translate inline text with /translate followed by a target language.
- Translate a thread’s parent message using the reply context.
- Save a default target language per user across service restarts.
- Offer eight configured languages: Croatian, English, Russian, Hindi, Ukrainian, German, French and Spanish.
- Acknowledge a request immediately and post the completed translation in the channel.
- Deploy with Docker Compose and a persistent preferences volume.
Getting started.
- Configure an OpenAI API key, Mattermost server URL, bot token and slash-command verification token.
- Deploy the service using the supplied Docker Compose configuration, which persists preferences under /app/data.
- Register the translate slash command as an HTTP POST to the service’s /translate endpoint; the default service port is 3002.
- Configure Mattermost’s internal connection allowance when using Docker networking, then verify /health and a sample translation.
Before you use it.
- Translation requires an external OpenAI API connection and configured API credentials.
- Translated message text is sent to OpenAI, and successful results are posted with in_channel visibility.
- Reply translation requires the Mattermost bot to have permission to read the parent post.
- Adding more target languages requires editing the LANGUAGES map.
Project sources.
Based on public project documentation and source, checked 7 September 2026. Refer to the repository for changes since then.