Index: ps/trunk/binaries/data/mods/public/gui/common/gamedescription.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/common/gamedescription.js +++ ps/trunk/binaries/data/mods/public/gui/common/gamedescription.js @@ -98,19 +98,19 @@ { if (isActive) // Translation: Describe a player in a selected game, f.e. in the replay- or savegame menu - playerDescription = translate("%(playerName)s (%(civ)s, %(AIdifficulty)s %(AIbehavior)s %(AIname)s)"); + playerDescription = translate("%(playerName)s (%(civ)s, %(AIdescription)s)"); else // Translation: Describe a player in a selected game, f.e. in the replay- or savegame menu - playerDescription = translate("%(playerName)s (%(civ)s, %(AIdifficulty)s %(AIbehavior)s %(AIname)s, %(state)s)"); + playerDescription = translate("%(playerName)s (%(civ)s, %(AIdescription)s, %(state)s)"); } else { if (isActive) // Translation: Describe a player in a selected game, f.e. in the replay- or savegame menu - playerDescription = translate("%(playerName)s (%(AIdifficulty)s %(AIbehavior)s %(AIname)s)"); + playerDescription = translate("%(playerName)s (%(AIdescription)s)"); else // Translation: Describe a player in a selected game, f.e. in the replay- or savegame menu - playerDescription = translate("%(playerName)s (%(AIdifficulty)s %(AIbehavior)s %(AIname)s, %(state)s)"); + playerDescription = translate("%(playerName)s (%(AIdescription)s, %(state)s)"); } } else @@ -170,9 +170,7 @@ translateWithContext("playerstate", "defeated") : translateWithContext("playerstate", "won"), - "AIname": isAI ? translateAIName(playerData.AI) : "", - "AIdifficulty": isAI ? translateAIDifficulty(playerData.AIDiff) : "", - "AIbehavior": isAI ? translateAIBehavior(playerData.AIBehavior) : "" + "AIdescription": translateAISettings(playerData) })); } @@ -425,3 +423,15 @@ image.tooltip = translate("Defeated"); } } + +function translateAISettings(playerData) +{ + if (!playerData.AI) + return ""; + + return sprintf(translate("%(AIdifficulty)s %(AIbehavior)s %(AIname)s"), { + "AIname": translateAIName(playerData.AI), + "AIdifficulty": translateAIDifficulty(playerData.AIDiff), + "AIbehavior": translateAIBehavior(playerData.AIBehavior), + }); +} Index: ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -955,10 +955,8 @@ "onPress": (playerIdx) => function() { openAIConfig(playerIdx); }, - "tooltip": (playerIdx) => sprintf(translate("Configure AI: %(difficulty)s %(behavior)s %(name)s."), { - "name": translateAIName(g_GameAttributes.settings.PlayerData[playerIdx].AI), - "difficulty": translateAIDifficulty(g_GameAttributes.settings.PlayerData[playerIdx].AIDiff), - "behavior": translateAIBehavior(g_GameAttributes.settings.PlayerData[playerIdx].AIBehavior), + "tooltip": (playerIdx) => sprintf(translate("Configure AI: %(description)s."), { + "description": translateAISettings(g_GameAttributes.settings.PlayerData[playerIdx]) }), }, }; Index: ps/trunk/binaries/data/mods/public/gui/session/menu.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/session/menu.js +++ ps/trunk/binaries/data/mods/public/gui/session/menu.js @@ -431,7 +431,10 @@ setOutcomeIcon(g_Players[i].state, "diplomacyPlayerOutcome[" + (i - 1) + "]"); - Engine.GetGUIObjectByName("diplomacyPlayerName[" + (i - 1) + "]").caption = colorizePlayernameByID(i); + let diplomacyPlayerName = Engine.GetGUIObjectByName("diplomacyPlayerName[" + (i - 1) + "]"); + diplomacyPlayerName.caption = colorizePlayernameByID(i); + diplomacyPlayerName.tooltip = translateAISettings(g_GameAttributes.settings.PlayerData[i]); + Engine.GetGUIObjectByName("diplomacyPlayerCiv[" + (i - 1) + "]").caption = g_CivData[g_Players[i].civ].Name; Engine.GetGUIObjectByName("diplomacyPlayerTeam[" + (i - 1) + "]").caption = Index: ps/trunk/binaries/data/mods/public/gui/summary/summary.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/summary/summary.js +++ ps/trunk/binaries/data/mods/public/gui/summary/summary.js @@ -402,7 +402,9 @@ setOutcomeIcon(playerState.state, playerOutcome); - Engine.GetGUIObjectByName(playerNameColumn).caption = g_GameData.sim.playerStates[i + 1].name; + playerNameColumn = Engine.GetGUIObjectByName(playerNameColumn); + playerNameColumn.caption = g_GameData.sim.playerStates[i + 1].name; + playerNameColumn.tooltip = translateAISettings(g_GameData.sim.mapSettings.PlayerData[i + 1]); let civIcon = Engine.GetGUIObjectByName(playerCivicBoxColumn); civIcon.sprite = "stretched:" + g_CivData[playerState.civ].Emblem;