Hi Creators!
To further our mission of connecting billions of people, we’re excited to roll out automatic chat translations, enabling users worldwide to seamlessly communicate with one another in real-time, across language barriers.
Starting today, users across the globe can chat with other community members in their preferred language. For example, a user in Japan can type a chat message in Japanese and an English-speaking user will see it in English, while at the same time a Spanish-speaking user will read and respond to the message in Spanish. This new feature will help facilitate seamless real-time communication across the 16 languages that Roblox currently supports:
-
Chinese (Simplified)
-
Chinese (Traditional)
-
English
-
German
-
French
-
Indonesian
-
Italian
-
Japanese
-
Korean
-
Polish
-
Portuguese
-
Russian
-
Spanish
-
Thai
-
Turkish
-
Vietnamese
Automatic chat translation is available in all experiences that leverage TextChatService
.
This rollout builds on the successful experiments we ran in 2023, which showed positive impacts on playtime, chat engagement, and session quality.
Chat Translation for Users
When users in supported languages join a chat translation-enabled experience, they will see a system message telling them chat is being automatically translated. From there, messages they receive will be automatically translated into their language as long as the sender is also in a supported language.
If a user wants to know which specific messages are translated, they have an option in the Settings menu to enable a toggle in front of translated messages which allows them to switch between the original message and the translation. Clicking on the toggle will affect the text in both the chat window and Bubble Chat.
If a user wants to turn chat translation off, they will be able to via the Settings menu. When chat translation is turned off, all messages will revert back to their original form.
Here’s an example of chat translation and all the settings mentioned above in action:
Chat Translation for Creators
For experiences that use TextChatService, messages will be translated and displayed to players with no changes required. However, we know many of you customize the chat messages for your experience, and currently any formatting you add to messages will not show on translations. You can format translated messages using a new text chat message property called Translation
.
For example, to make a translated message pink, you can add the following LocalScript
to StarterPlayerScripts
:
local TextChatService = game:GetService("TextChatService")
local FONT_COLOR = “#FF007F”
local FORMAT_STRING = `<font color='{FONT_COLOR}'>%s</font>`
local function onIncomingMessage(textChatMessage: TextChatMessage)
local properties = Instance.new("TextChatMessageProperties")
properties.Text = string.format(FORMAT_STRING, textChatMessage.Text)
if textChatMessage.Translation then
properties.Translation = string.format(FORMAT_STRING, textChatMessage.Translation)
end
return properties
end
TextChatService.OnIncomingMessage = onIncomingChatMessage
Please note that we do not plan to support chat translation in legacy chat, which has been deprecated and is no longer actively maintained. If you haven’t migrated to TextChatService yet, please follow these instructions.
What’s Ahead
User-to-user communication is a new frontier for Roblox, and we look forward to continuously improving and evolving in this area. Some things we are thinking about for the future:
- Allowing users to choose which language they want chat translated into
- Providing a feedback mechanism so users can notify us of bad or missing translations
- Working to improve our machine translation model to provide better and more accurate translations
We’ll continue sharing our progress here, and you can also check our Creator Roadmap to stay updated on what’s ahead. As always, please let us know if you have any questions or concerns. Thank you!
Best,
Creator Translation Team