Index: ps/trunk/binaries/data/mods/public/gui/common/l10n.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/common/l10n.js +++ ps/trunk/binaries/data/mods/public/gui/common/l10n.js @@ -1,8 +1,3 @@ -function getLocalizedResourceName(resourceName, context) -{ - return translateWithContext(context, resourceName); -} - /** * Format resource amounts to proper english and translate (for example: "200 food, 100 wood, and 300 metal"). */ @@ -12,7 +7,7 @@ .filter(type => !!resources[type]) .map(type => sprintf(translate("%(amount)s %(resourceType)s"), { "amount": resources[type], - "resourceType": getLocalizedResourceName(g_ResourceData.GetResource(type).name, "withinSentence") + "resourceType": resourceNameWithinSentence(type) })); if (amounts.length > 1) Index: ps/trunk/binaries/data/mods/public/gui/common/tooltips.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/common/tooltips.js +++ ps/trunk/binaries/data/mods/public/gui/common/tooltips.js @@ -47,6 +47,16 @@ return '[icon="icon_' + resource + '"]'; } +function resourceNameFirstWord(type) +{ + return translateWithContext("firstWord", g_ResourceData.GetNames()[type]); +} + +function resourceNameWithinSentence(type) +{ + return translateWithContext("withinSentence", g_ResourceData.GetNames()[type]); +} + function bodyFont(text) { return g_TooltipTextFormats.body[0] + text + g_TooltipTextFormats.body[1]; 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 @@ -441,7 +441,6 @@ function diplomacyFormatTributeButtons(i, hidden) { - let resNames = g_ResourceData.GetNames(); let resCodes = g_ResourceData.GetCodes(); let r = 0; for (let resCode of resCodes) @@ -461,7 +460,7 @@ continue; button.enabled = controlsPlayer(g_ViewedPlayer); - button.tooltip = formatTributeTooltip(i, resNames[resCode], 100); + button.tooltip = formatTributeTooltip(i, resCode, 100); button.onPress = (function(i, resCode, button) { // Shift+click to send 500, shift+click+click to send 1000, etc. // See INPUT_MASSTRIBUTING in input.js @@ -479,14 +478,14 @@ amounts[res] = 0; amounts[resCode] = 100 * multiplier; - button.tooltip = formatTributeTooltip(i, resNames[resCode], amounts[resCode]); + button.tooltip = formatTributeTooltip(i, resCode, amounts[resCode]); // This is in a closure so that we have access to `player`, `amounts`, and `multiplier` without some // evil global variable hackery. g_FlushTributing = function() { Engine.PostNetworkCommand({ "type": "tribute", "player": i, "amounts": amounts }); multiplier = 1; - button.tooltip = formatTributeTooltip(i, resNames[resCode], 100); + button.tooltip = formatTributeTooltip(i, resCode, 100); }; if (!isBatchTrainPressed) @@ -713,7 +712,7 @@ for (let action of g_BarterActions) barterButton[action] = Engine.GetGUIObjectByName(prefix + action + "Button[" + idx + "]"); - let resource = getLocalizedResourceName(g_ResourceData.GetNames()[resourceCode], "withinSentence"); + let resource = resourceNameWithinSentence(resourceCode); barterButton.Buy.tooltip = sprintf(translate("Buy %(resource)s"), { "resource": resource }); barterButton.Sell.tooltip = sprintf(translate("Sell %(resource)s"), { "resource": resource }); @@ -1152,11 +1151,11 @@ closeObjectives(); } -function formatTributeTooltip(playerID, resource, amount) +function formatTributeTooltip(playerID, resourceCode, amount) { return sprintf(translate("Tribute %(resourceAmount)s %(resourceType)s to %(playerName)s. Shift-click to tribute %(greaterAmount)s."), { "resourceAmount": amount, - "resourceType": getLocalizedResourceName(resource, "withinSentence"), + "resourceType": resourceNameWithinSentence(resourceCode), "playerName": colorizePlayernameByID(playerID), "greaterAmount": amount < 500 ? 500 : amount + 500 }); Index: ps/trunk/binaries/data/mods/public/gui/session/selection_details.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/session/selection_details.js +++ ps/trunk/binaries/data/mods/public/gui/session/selection_details.js @@ -12,13 +12,10 @@ function getResourceTypeDisplayName(resourceType) { - return getLocalizedResourceName( - g_ResourceData.GetNames()[ - resourceType.generic == "treasure" ? - resourceType.specific : - resourceType.generic - ], - "firstWord"); + return resourceNameFirstWord( + resourceType.generic == "treasure" ? + resourceType.specific : + resourceType.generic); } // Updates the health bar of garrisoned units Index: ps/trunk/binaries/data/mods/public/gui/session/session.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/session/session.js +++ ps/trunk/binaries/data/mods/public/gui/session/session.js @@ -1147,7 +1147,6 @@ return; let resCodes = g_ResourceData.GetCodes(); - let resNames = g_ResourceData.GetNames(); for (let r = 0; r < resCodes.length; ++r) { let resourceObj = Engine.GetGUIObjectByName("resource[" + r + "]"); @@ -1157,7 +1156,7 @@ let res = resCodes[r]; let tooltip = '[font="' + g_ResourceTitleFont + '"]' + - getLocalizedResourceName(resNames[res], "firstWord") + '[/font]'; + resourceNameFirstWord(res) + '[/font]'; let descr = g_ResourceData.GetResource(res).description; if (descr) Index: ps/trunk/binaries/data/mods/public/gui/summary/layout.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/summary/layout.js +++ ps/trunk/binaries/data/mods/public/gui/summary/layout.js @@ -101,7 +101,7 @@ { "identifier": "playername", "caption": translate("Player name"), "yStart": 26, "width": 200 }, ...g_ResourceData.GetResources().map(res => ({ "identifier": res.code, - "caption": translateWithContext("firstWord", res.name), + "caption": resourceNameFirstWord(res.code), "yStart": 34, "width": 100 })), @@ -153,8 +153,8 @@ "caption": // Translation: use %(resourceWithinSentence)s if needed sprintf(translate("%(resourceFirstWord)s exchanged"), { - "resourceFirstWord": translateWithContext("firstWord", res.name), - "resourceWithinSentence": translateWithContext("withinSentence", res.name) + "resourceFirstWord": resourceNameFirstWord(res.code), + "resourceWithinSentence": resourceNameWithinSentence(res.code) }), "yStart": 16, "width": 100 Index: ps/trunk/binaries/data/mods/public/gui/summary/summary.xml =================================================================== --- ps/trunk/binaries/data/mods/public/gui/summary/summary.xml +++ ps/trunk/binaries/data/mods/public/gui/summary/summary.xml @@ -6,6 +6,7 @@