Introducing our New Localization Tools!

Hey Developers,

As Roblox continues to expand internationally, more and more of our Developers are seeing non-English speaking communities playing their games. To help you (the Developers) support these communities, we’re happy to announce the public release of our new “Game Localization Tools” plugin, now included in Roblox Studio!

image

This will allow Developers to translate their in-game text into any language they want. Check out this video to see it in action and learn how to get started:

Before localization:

After localization:

We also have a rich suite of APIs to control and interface with these systems from scripts. You can find more information about those on the developer portal.

Our documentation team has written up a very nice tutorial you can find there as well.

We really hope these tools will help you get started with localization quickly. It’s important to remember that like your game, localization itself requires ongoing maintenance. Your first pass translations probably won’t be perfect, and new features that you add will need new translations as well. You’re not only opening your game to new markets but to new cultures who might have different tastes and expectations as in gameplay too. Exploring new markets can be easy and fun, but being successful in them will require effort and understanding. That’s a whole new community that needs care and support! Success in new markets isn’t free!

The tools do have some technical limitations that you should be aware of as well:

  • The text capture tool doesn’t support start server / start player yet, just play solo.
  • We can’t translate text included in images.
    • I’d recommend using GUI text overlaid on a text-free base image. Then it’s easy to translate.
    • Otherwise you’ll have to make separate images for each language yourself.
    • If you’re using custom text effects or animations like “typewriter” effects where characters are added one at a time…
    • The text capture tools and automatic translation system will not work very well.
    • You’ll have to do translation look-up in scripts. Luckily we have nice APIs for this.
    • Remember to use utf8.graphemes to break up non-English text correctly!
  • We can’t translate text displayed with custom fonts as individual character images.
    • You’re really missing out on our browser-class typesetter with extensive Unicode coverage and font fallback support.
    • You can use the translation lookup APIs, but you’re on your own for Unicode support.

We decided to release this feature as a built-in plugin since we would like to provide Developers with access to this tool as soon as possible while still retaining flexibility for future changes. At the moment the Game Localization Tools plugin only directly supports Spanish. We currently only support English and Spanish on our end for language detection, user account settings, and customer support, but we’re actively working on introducing additional support for other languages! The underlying systems in LocalizationService and LocalizationTables can already support many more languages, so don’t let us stop you from getting ahead of the game.

If you have any bug reports for the new localization tools please don’t hesitate to post these in the following sub-category with the “Localization” tag.

We hope this tool will help you diversify and grow your audience through Roblox’s rapidly growing international market

Thanks,

The Roblox Team

Known Issues

Problems and limitations that we know about and plan to fix soon:

  • There’s a studio bug affecting the plugin button states after you exit play mode. The buttons will appear disabled until you switch tabs or click the main view (or both).
  • The plugin does not work in team create and appears disabled.
  • Text from the game that is displayed in Core GUIs is not currently captured or translated. This includes team names, score names, tool names, and notification toasts.
  • TextBox placeholder text is not currently captured or translated.
109 Likes

I’m purposely changing my computer’s language to Japanese so I can only see Japanese.

Woo, Localization tools! I was originally planning to manually translate everything in a few of my games with a language selector and everything, but this… this is a masterpiece.

15 Likes

#portuguese

14 Likes

#FrenchForTheWin

19 Likes

So to make it clear, you’re saying that when we use machine translation, ContextIsLost?

All kidding aside, great update! I hope that going further we can make it easier for developers to appeal to different languages and cultures.

11 Likes

Sweet! now I can translate my game so Arabic speakers can play :smiley:

psst if you need me to translate your game to Arabic, shoot me a DM!
10 Likes

Très bon travail! I’m working on a game with a full French translation at the moment and this will cut out a lot of the complexities!

17 Likes

How can users set what language they want the game in?

3 Likes

It still seems to be a clash though when users are presented a game in their native language but the public chat is filled with all kinds of languages, especially if the game type requires players to communicate.

Another thing is that I go to great lengths to avoid seeing my operating system in my native language, prefering English. The same very much goes for games so I hope it’s either optional or derived from system settings rather than IP/other localization tools an enduser can’t control.

6 Likes

Woot!

I’m sure that the team who works on the chat could sort out a translating system. I just hope if they do, then translated text would be something like:

[Extuls][translated from French]: Hello

3 Likes

I am willing to bet the type of chat most users use in-game is abbreviated and spelled different in ways that it would not become very coherent when automatically translated.

3 Likes

That’s why I said I hope it includes an indication that it was translated and what language it was translated from. This way players can know to maybe not take the text they read as it’s written.

This is a godsend for games with a lot of dialog (RPGs and such).

T H A N K Y O U !

3 Likes

Currently users can set this in their account settings on the website. I think it only works for the mobile app at the moment but should be supported on all platforms soon.

The automatic text replacement system currently uses LocalizationService.RobloxLocaleId, which comes from this web setting.

We plan to add a seperate setting for game language (separate from the RobloxLocaleId that CoreScripts and the rest of the Roblox app shell use) to the in-game UI that will show what languages the game supports with its LocalizationTables. We want to make it easy for you to support any languages you want to, even ones we don’t support directly.

8 Likes

Is it automatic in game or do I have to manually go through every text box

4 Likes

I will be working on getting the API member pages up for the rest of the LocalizationTable APIs.
You guys can expect to see them soon :slight_smile:

6 Likes

Is it by design that it only captures text within Labels and Buttons?
If it is, I think it should be extended to TextBox.PlaceholderText

5 Likes

Starting up with a page on the GetEntries method.
http://wiki.roblox.com/index.php?title=API:Class/LocalizationTable/GetEntries

The full data of the LocalizationTable is a bit complicated, but I did my best to describe what the contents actually are. We will likely expand upon this later down the road to include examples and what-not.

1 Like

Testing this out with a Japanese translation.

It would be nice if the Japanese font characters respected Bold / non-Bold, right now Japanese characters look exactly the same in every font. That’s understandable for the most part as the fonts don’t necessarily have an equivalent Japanese version, but the boldness is pretty important to the UI design that the text is slotting into.

5 Likes