Player.LocaleId is being TAMPERED with for no apparent reason

Reproduction Steps

I’ve been trying to understand what’s going on for hours and I couldn’t find an explanation.
I’ve even duplicated my entire project for a new experience, but the problem persists.
I am sending the project attached via PM.

Expected Behavior

Player.LocaleId should not change during gameplay.

Actual Behavior

I’m playing with a Player that has LocaleId = es-es (Spanish).
Inside the RenderStep, I print the Player.LocaleId:
print('**render', Player.Name, Player.LocaleId)

Absurdly, the first print appears as es-es and the second as pt-br !!!

image


Issue Area: Engine
Issue Type: Other
Impact: High
Frequency: Constantly
A private message is associated with this bug report

1 Like

Roblox released this update:

image

Likely the cause, may or may not be intended?

My experience has the source language Portuguese and I created a translation to English in the Localization Portal.
For testing purposes, I am playing the game with a player with Spanish language (es-es).

As I understand it then, Player.LocaleId has become OBSOLETE?

If you mean setting it with a custom system you created, potentially.

Judging from your output, looks like there’s some funky overriding behavior going on. If you have custom logic, it may be you or the engine. If you don’t, it may be a Roblox Studio emulation issue.

I’m not testing this in Studio, but in Player (even because in Studio, Player.LocaleId is already buggy:

And as I said in the OP, I’m just printing the Player.LocaleId inside the RenderStep.
At first it shows the correct LocaleId.
It then switches to pt-br (but Player.LocaleId is a READ ONLY property).

Gotcha - to clarify, your game’s default locale is Portuguese, your website user locale is Spanish, and your in-game user locale is Spanish?

No. My game source language is Portuguese.
I have a translation to English.
And I’m testing with a Spanish player.

What language are you using for your account on the Roblox.com website? Spanish?
image

I’m trying to reproduce this, and what I suspect is happening is that your in-game locale may still be set to Portuguese.

It looks like you can have two different languages for your account. You join a game, and it starts with the website one. Then, the in-game menu version catches up and overrides your website language.

AFAIK, the player’s language determines its website language. So, for this player, both are Spanish.

The in-game and website language appear to be separate sometimes.

When I join a game with a website language of Spanish and an in-game language of French in an English game - the game has a few frames of Spanish before turning French.

It seem that’s the case.


I don’t think you should be using it anymore, the docs page gives it a “HIDDEN” tag. I think it’s meant for internal (engine/CoreGui) use only?

That doesn’t mean that values won’t be changed at runtime. I think Camera.ViewportSize is a good example of this. Also, wasn’t there that one announcement about players now being able to change the client’s language through the settings menu while the game is running?

Thanks for the report; We’ll follow up when we have an update for you.

1 Like