Opened 4 years ago

Last modified 6 months ago

#3307 new defect

Translate botnames in the GUI of every client

Reported by: elexis Owned by:
Priority: If Time Permits Milestone: Backlog
Component: UI – Miscellaneous Keywords:
Cc: Patch:

Description (last modified by elexis)

Currently the botnames are translated by the host and broadcasted to the other clients. This means if a chinese player hosts, everyone has chinese botnames.

The correct way to translate botnames would be to save the english name and the roman number in gamesetup.js to g_GameAttributes and then translate playernames everywhere in the GUI in case its a bot.

Notice that we can't simply translate in the simulation code, since that would make the gamestates out of sync.

Sometimes the name is accessed by the player assignments, sometimes by the Player component, sometimes by the simulation state. We have to identify all places in the GUI where a playername is used and translate it just in time.

Originally reported in ticket:3253#comment:5.

Change History (6)

comment:1 Changed 4 years ago by elexis

Summary: Translate botnames correctlyTranslate botnames in the GUI of every client

It would also be a bit hindering to the chat if the AI players have different names for different clients (in particular autocomplete doesn't work then). Attack-requests will have to be considered too.

comment:2 Changed 4 years ago by elexis

Priority: Should HaveIf Time Permits

comment:3 Changed 4 years ago by elexis

In 17382:

Don't translate botnames in multiplayer games (so names are in english instead of the language of the host). Refs #3307

comment:4 Changed 3 years ago by elexis

translate("%(playerName)s %(romanNumber)s") still translated in MP games

comment:5 Changed 2 years ago by elexis

Description: modified (diff)

I'm not sure anymore whether displaying a different playername for every client is a good idea, because the names will be referenced in the players chat!

However the same change will be needed if we want to display a different name from the simulation (f.e. include the rating in the name without saving the rating in the name) or if we want to call escapeText everywhere.

comment:6 Changed 6 months ago by Itms

Component: UI & SimulationUI – Miscellaneous
Note: See TracTickets for help on using tickets.