Automatic User Chat Translations

Intro

Seeing all the recent news about localization on Roblox and how Roblox is globalizing their platform and user base, it became simply impossible for me to ignore the fact that Roblox still doesn’t have automatically translated chats!

A Microsoft Implementation

Using current Roblox API’s, the feature I am requesting would be possible in Lua already; however each developer would need to purchase their own subscription to Microsoft’s cloud translation API and that can be too expensive for a single developer, especially for a feature that would usually be next to pointless for a single developer to implement, but incredibly useful for the whole platform to adopt!

This is an image I pulled from microsoft’s translator website. It incorporates a chat in its app where the original version of the text is shown underneath a translated version of the text in the user’s local language. I think this same functionality could be implemented into the roblox chat gui faily simply using Microsoft’s business API. Roblox is already working with Microsoft and Azure accounts for analytics purposes, so using the API from microsoft might even come at no extra cost to roblox.

Link to Microsoft’s API documentation:

Benefits of Implementation

A feature like this is so trivial to implement but yet so beneficial to the players of roblox. Being social and using tools like the chat give roblox it’s spark, and in less popular roleplay games where only a few people around the world are playing at a time, something like this might be the difference between the game taking off or flopping. Many games require online players to maintain the excitement of the game, but when those players speak another language, the benefits could be curbed.

This also helps Roblox gain a foothold in countries that have a small population and a specific language. Smaller countries will have less of a chance of other players being on who are also in that country (and therefore speak the correct language). With an auto chat translate feature, users from all around the world would instantly have their ideas translated to the local language, and thus increasing the amount of interest and therefore time that player in the small country spends on Roblox, meaning that there is more likelihood of them telling their friends about Roblox in their country at home.

The way I see it, something like this brings so much opportunity to the table and really gives Roblox a really good chance at expanding to other countries. It will strengthen the platform and enrich the user experience for everyone across the globe. It also wouldn’t be terribly difficult to implement.

Settings

Needless to say, the chat may become cluttered if the original language is displayed beneath the translation.

  • This could be curbed by having the original text below the translated text (as shown above in the Microsoft image) be only Option one of three options to display the translated content.
  • Option two would be a little tag underneath the text that says (translated) would be a good way to tell the player that this is an auto-translation, and may be a little different than the author intended it to be. When that tag is clicked, the original verision of the message is shown.
  • Option three would be to completely ignore the auto translation filter, and display the original text as written (bilingual people might prefer this because they can understand the original text how it was intended). From there, the user could click a tag underneath the text to translate the text into their native language if they don’t understand it.

Conclusion

I think something like this falls in line with the idealized version of Roblox that the company seems to be working towards. A platform with no hiccups in social interaction, and the ability to truly unify the players who use the platform. Roblox is the only platform that can do this because of its unique position as a game engine, cookie-cutter game template, and game distribution platform.

21 Likes

No. Nope. Oh hell no.

That would be a terrible idea. Languages can be very different from each other. My native language is way more complex than English and still needs to implement most of the modern words that are already used in English either professionally or in slang. Translation services are notoriously terrible for not being able to detect slang if not translating the word at all. They also need proper grammar in order to work properly.

We also need one very important thing that you’re omitting: context
In some languages words can mean a lot of things depending on the context. Automatic Translation services don’t have the neural capacity needed to correctly assess what the person meant when they were saying something. This might create some really weird things down the road.

Below I attach some examples:

As you can see, 1v1 isn’t still part of Google Translate’s vocabulary so it doesn’t know what to do with “1v1 me” so it just opts out to not translating it at all.

The context was “You need to buy this gamepass, noob.” Google translated this to “You need to buy this noob gamepass.” Why was it slightly off? Because there was no punctuation. Like I said earlier, you need grammar and punctuation in order for Google to be slightly more accurate but knowing how the community writes in chat, they won’t do it.

Also, gamepass is not a word in Polish. A few Polish translators opt in to use DLC in it’s place because they’re the closest to each other in meaning.


TLDR: OH HELL NO!

26 Likes

The first thing you’ll have to think of before the actual issues with machine translations themselves is that it would be a little slower for chat messages to be sent, since every message sent = a web request to send to an endpoint, then time spent translating the message, and then returning it back to the sender.

I’ve read that “no translation is better than a poor translation”. In general, only interface should be translated, as it isn’t generated by the end user. When you automatically translate user-generated strings through some api, you run into the issues mentioned above.

As someone whose first language also isn’t English, I have a hard time playing games in my first language. I understand English just fine, I just prefer interface in my first language. Now imagine communication automaticaly being translated. This would be even worse because this will result in more miscommunication than actual communication.

English isn’t the only language with slang, other languages do as well.

I’ll leave some examples as well:

image

Something as simple as “for real?” doesn’t translate correctly, a better translation would be ¿en serio? or, more colloquially in Mexican Spanish, ¿neta?

Machines always have and probably always will lack context, we as humans have it naturally, some messages make sense because they are based on other messages, without the message it is based on, the message alone wouldn’t make sense, that is an example of context right there.

What Roblox should do better/we as developers should do is matchmake players based on their locale, sometimes I get put in Japanese servers. This is the actual problem.

10 Likes

There is some truth to what you say but I don’t think this means that auto translations should be thrown out the window entirely just because of that. A potential solution to your first problem and your last problem is option 3 as mentioned in the OP. By having a “click to translate” button, about 99% of the requests that would have been sent, will not be sent because the user doesn’t care enough to click the button. Not to mention, Roblox already makes an HTTP request for text filtering, so it really shouldn’t be out of the question for translation either. It also gives people like you who may not have English as their setting but still understand it a chance to read the original context of the message without a translation, but not stripping your ability to understand, for instance, Japanese messages when it is hard to fill English - speaking servers on a less popular game. Matchmaking should still occur, but auto translations would be a nice backup.

As for @Krunnie’s post, I do see a lot of instances where this may become a problem, but ultimately having a somewhat faulty translation option is a lot better than not having one at all. Everyone on the planet knows that machine translations don’t always work perfectly, but there are times when they do, and many times the users can just ask each other to clarify in some other way because the translation was wrong. Sure it’s a slight inconvenience but ultimately the gameplay would still be able to continue and the ability for each user to share ideas with each other would be much less impaired. Right now, machine translations are the only viable option for realtime ingame chat translation. It would be better to allow people who only speak polish to still understand at least most, but at best all, of what the rest of the players who speak English are saying. Another thing I wanted to mention is that, many of the people who speak Polish would still have a chance at knowing what a gamepass is. Gamepasses are used on Roblox and a quick google search will communicate what it is. The polish speaker might have to learn a couple words of slang in English but ultimately the ideas would still make sense to them even when the translation messes up every so often.

1 Like

I disagree. It shouldn’t be forced on us especially if we know that it just sucks.

I strongly disagree* with you. The examples I showed you were very mild ones. I’ve seen translated text that has completely changed meaning from the original just by using API like Google Translate or Microsoft Azure to the point where some games are unplayable to me unless I switch to English.

It’s a miracle when it happens. I have accounts of many translators who have had seen some really inappropriate or laughable stuff in automated translations in Spanish, Russian, Korean etc. Here’s also
a quote from another user talking about automating translations:

How can they ask the meaning of a faulty translation if you’re using the same faulty API to translate their communications?

Let me tell you something that’ll blow your socks: Machine translations for chats aren’t even needed. Like @sjr04 says, there are matchmaking mechanics in place that throws you into servers with other users from the same country. Yes it’s faulty but it’d be a way better solution than work on another thing that’s going to be broken for the better part of 5 years from implementing.

How do you know? Are you Polish? Do you talk to Polish people who can’t understand English well? No? Then do me this favor of not assuming things?

Here’s the “quick google search”

Do you see an explanation to what Roblox’s meaning of a gamepass is? Cus the results here are only for the Xboxx Gamepass that is a completely different thing from Roblox’s gamepass.

Your idea is was essentially a suggestion that was meant to cut the learning route and you fail your argument just by arguing this to me

9 Likes

Alright well you clearly took that way too personally, but I’ll admit you got me with the google search and you make good points. In my experience auto translating other languages to English, I haven’t seen the same amount of poor translation quality.

The API in my experience has been very good in translating text. My car is a BMW, which is a German brand, and I use microsoft translate to take a photo of my laptop screen (the program is in German) when I plug my laptop into the OBDII to read / write tuning data to the car. I am always able to sufficiently understand what is on the screen, and though I’m not saying it’s perfect (the grammar may be wrong sometimes) I am always able to understand the meaning behind the buttons.

I also live in a border state in the USA. Over here, a lot of things are in spanish, meaning that I have to translate a lot of what I see. I am able to speak broken spanish but it is often easier just to use a translator camera (microsoft translate) to translate signs or the microphone to talk to the dude I’m buying tires from. This works much of the time, and my experience with it I would say is next to flawless.

These interactions establish enough credibility for auto translations that in most situations, they could be used to clarify something that was wrong. You are grossly overestimating the amount of error in these solutions just because you have had a bad experience with your specific langauge. Don’t forget that microsoft and Google use two different algorithms, so you also should probably try using the one that Roblox would likely use (Microsoft translate) and see if it’s still giving you the same issues (not saying it won’t, but you’re comparing apples to oranges). Also, input a typical message that you’d see in game. I genuinely want to see some examples of message translations from Polish to English and see how they come out but I don’t know Polish so I can’t try it out, you’d probably have to do the testing.

First of all, it will not take 5 years to implement. Something like this is exceedingly easy - the hardest part would be choosing the font of the translated text. It is incredibly easy to call one function over the network and get back a translated value that can be displayed to the user. Second, this is not intended to replace matchmaking mechanics. I’ve already said this before but you didn’t seem to recognize that this is intended as a tool in the toolbox for smaller games that may not have the player base to make up full localized servers for users who speak languages that are not as widespread. It is not intended to be a solution to make everyone speak the same language, it’s just intended to get the main points across.

You know nothing about me so the last part is just you getting worked up or something so I don’t even know why you included it. Even though the google search doesn’t bring up gamepasses, there are many more things that the translation could mess up on but a google search would correct. Gamepass isn’t the best example and you’re right it would be a band-aid solution but ultimately a lot of things could still benefit from this.

Not to mention the translations wouldn’t even show unless you decided to click the button to show it (or you changed your setting to auto show it or something) so really if you don’t need to understand the message you won’t have to. It’s just a nice luxury to have in a situation when you get into the unavoidable situation at some point of actually need to communicate to someone who doesn’t speak your language.

If you hate it, you can turn it off.

1 Like

I don’t want to be a killjoy but this ultimately defeats your feature request since the point you tried making is that it would help, but if it is going to be to the point where people will not use it because of the contrary, why would engineering efforts be put into this.

Sure, English may be the lingua franca across many platforms, especially Roblox, but not everyone speaks and understands it perfectly, even on devforum lots of users in support categories run their posts through a translator → English, and it makes their goal confusing. The devforum even supports some international categories so that groups of users that share a language can connect. I don’t think there are many experiences where users become friends by exchanging messages in different languages.

I guess the point is, since the automatic translations put on games is already questionable and has had its fair share of controversy, I think it is fair for there to be users against this idea. It’s not too bad as an idea, but when it comes to executing it the benefits have to outweigh the engineering efforts.

8 Likes

My personal opinion is that, because something like this can probably be knocked out in a day or two, the engineering efforts are worth it, but you are free to disagree if you want. This is just something I wanted to bring to the table and see what Roblox chooses to do with it.

1 Like

German’s in the same language family as English. Just because German’s slightly more correct, it doesn’t mean that languages like Spanish, Russian and Korean will be as perfect.

It’s because he knows what’s the context of your visit: tires. They’re going to know what you want because you’re asking for tires and not about the history of aviation.

Oh boy… let me repeat what I tell everyone else. Just because you had a few good interactions because the person you were speaking to didn’t have to guess the context of what you mean, it doesn’t mean that automatic translations are the bomb.

You misunderstood me here. Roblox notoriously ignores problems in newly released mechanics and usually takes way too long after release to get it fixed. This was an exaggeration that I made.

I know it isn’t. I am just showing you an alternative that is already on the platform and wouldn’t be a waste of engineering’s time.

You’re talking about auto localization for the in-game chat and not automatic translations in general…

Yes, I don’t know you just like you don’t know me but I have the right to be offended about some random kid essentially throwing the “just learn lol” card at me while speaking about my community. You’re not in the demographic that would have to end up using this feature and you’re being completely disrespectful to me and incapaz while trying to push something that won’t be any good for the next 30-40 years jest because you got a pair of tires from a Latino without much issues. I have the right to be offended at your ignorance.

As I said, it’s a waste of engineer’s time and Roblox’s money that’d be better allocated at fixing the matchmaking mechanics.

6 Likes

I’d rather not have this. If it were to get added, I’ll immediately edit it out of the chat script. I recently had to deal with over 90 botched translations in a medium-sized game me and my friends made just to mess around, most of which were weapon names. Now imagine disabling translation for the names, but leaving it on for chat. I can’t even imagine how much context will get lost.

6 Likes