1
0
forked from 0ad/0ad

[gui] building → structure

This patch corrects occurrences of “building” into “structure”.
Whilst “constructing a building” is proper English, it is important to
refer to one and the same thing with a single term, to avoid potential
misunderstandings (see
https://trac.wildfiregames.com/wiki/EnglishStyleGuide ), thence
“building a structure”, because the unit action is “build” and the
entity is a “structure” (see `simulation/templates/`).

Patch By: Nescio
Reviewed By: Gallaecio
Differential Revision: https://code.wildfiregames.com/D2429
This was SVN commit r23366.
This commit is contained in:
Adrián Chaves 2020-01-11 10:58:43 +00:00
parent bbcd9b34cc
commit 9b9410c923
22 changed files with 68 additions and 68 deletions

View File

@ -117,21 +117,21 @@ function selectCiv(code)
for (let bonus of civInfo.CivBonuses)
bonusCaption += subHeading(bonus);
// Team Bonuses
// Team bonuses
bonusCaption += heading(translatePlural("Team Bonus", "Team Bonuses", civInfo.TeamBonuses.length), 12) + '\n';
for (let bonus of civInfo.TeamBonuses)
bonusCaption += subHeading(bonus);
Engine.GetGUIObjectByName("civBonuses").caption = bonusCaption;
// Special techs
// Special technologies
var techCaption = heading(translate("Special Technologies"), 12) + '\n';
for (let faction of civInfo.Factions)
for (let technology of faction.Technologies)
techCaption += subHeading(technology);
// Special buildings
techCaption += heading(translatePlural("Special Building", "Special Buildings", civInfo.Structures.length), 12) + '\n';
// Special structures
techCaption += heading(translatePlural("Special Structure", "Special Structures", civInfo.Structures.length), 12) + '\n';
for (let structure of civInfo.Structures)
techCaption += subHeading(structure);

View File

@ -63,8 +63,8 @@ When you are ready to start, click the "Start game" button.
T – Send team chat
L – Chat with the previously selected private chat partner
Pause – Pause/resume the game
Delete – Delete currently selected unit(s)/building(s), ask for confirmation
Shift + Delete – Immediately delete currently selected unit(s)/building(s), without asking for confirmation
Delete – Delete currently selected unit(s)/structure(s), ask for confirmation
Shift + Delete – Immediately delete currently selected unit(s)/structure(s), without asking for confirmation
/ (Slash) – Select idle fighter
Shift + / (Slash) – Add idle fighter to selection
Alt + / (Slash) – Select all idle fighters
@ -76,15 +76,15 @@ When you are ready to start, click the "Start game" button.
Alt + \\ (Backslash) – Select all idle units
H – Stop (halt) the currently selected units
Y – The unit will go back to work
U – Unload the garrisoned units of the selected buildings
Ctrl + 1 (and so on up to Ctrl + 0) – Create control group 1 (to 0) from the selected unit(s)/building(s)
1 (and so on up to 0) – Select the units/buildings in control group 1 (to 0)
Shift + 1 (to 0) – Add control group 1 (to 0) to the selected units/buildings
U – Unload the garrisoned units of the selected structure(s)
Ctrl + 1 (and so on up to Ctrl + 0) – Create control group 1 (to 0) from the selected unit(s)/structure(s)
1 (and so on up to 0) – Select the unit(s)/structure(s) in control group 1 (to 0)
Shift + 1 (to 0) – Add control group 1 (to 0) to the selected unit(s)/structure(s)
Ctrl + F5 (and so on up to F8) – Mark the current camera position, for jumping back to later
F5, F6, F7, and F8 – Move the camera to a marked position. Jump back to the last location if the camera is already over the marked position
Z, X, C, V, B, N, M – With training buildings selected. Add the 1st, 2nd, … unit shown to the training queue for all the selected buildings
PageUp with units selected – Highlights the units/buildings guarded by the selection
PageDown with units/buildings selected – Highlights the units guarding the selection
Z, X, C, V, B, N, M – With training structure selected. Add the 1st, 2nd, … unit shown to the training queue for all the selected structures
PageUp with unit(s) selected – Highlights the unit(s)/structure(s) guarded by the selection
PageDown with unit(s)/structure(s) selected – Highlights the unit(s) guarding the selection
Tab – See all status bars (which would also show the building progress)
Ctrl + Tab – Toggle summary window
Alt + L – Show the multiplayer lobby in a dialog window
@ -96,8 +96,8 @@ When you are ready to start, click the "Start game" button.
Alt + Shift + H – Toggle civilization info panel
[font="sans-bold-14"]Modify mouse action[font="sans-14"]
Ctrl + Right Click on building – Garrison
J + Right Click on building – Repair
Ctrl + Right Click on structure – Garrison
J + Right Click on structure – Repair
P + Right Click – Patrol
Shift + Right Click – Queue the move/build/gather/etc order
Alt + Right Click – Order one unit from the current selection to move/build/gather/etc and unselect it. Used to quickly dispatch units with specific tasks
@ -109,10 +109,10 @@ When you are ready to start, click the "Start game" button.
I + Left Drag over units on map – Only select idle units
O + Left Drag over units on map – Only select wounded units
Ctrl + Left Click on unit/group icon with multiple units selected – Deselect
Right Click with a building(s) selected – sets a rally point for units created/ungarrisoned from that building
Right Click with a structure(s) selected – sets a rally point for units created/ungarrisoned from that structure
Ctrl + Right Click with unit(s) selected:
• If the cursor is over an own or allied structure – Garrison
• If the cursor is over an enemy unit or building – Attack (instead of capture or gather)
• If the cursor is over an enemy unit/structure – Attack (instead of capture or gather)
• Otherwise – Attack move (by default all enemy units and structures along the way are targeted)
Ctrl + Q + Right Click with unit(s) selected – Attack move, only units along the way are targeted
Ctrl + Mouse Move near structures – Align the new structure with an existing nearby structure
@ -147,10 +147,10 @@ When you are ready to start, click the "Start game" button.
- (Hyphen) or − (Minus) – Zoom out (keep pressed for continuous zoom)
Middle Mouse Button – Keep pressed and move the mouse to pan
[font="sans-bold-14"]During Building Placement[font="sans-14"]
\[ (Left Bracket) – Rotate building 15 degrees counter-clockwise
] (Right Bracket) – Rotate building 15 degrees clockwise
Left Drag – Rotate building using mouse (foundation will be placed on mouse release)
[font="sans-bold-14"]During Structure Placement[font="sans-14"]
\[ (Left Bracket) – Rotate structure 15 degrees counter-clockwise
] (Right Bracket) – Rotate structure 15 degrees clockwise
Left Drag – Rotate structure using mouse (foundation will be placed on mouse release)
[font="sans-bold-14"]When loading a saved game[font="sans-14"]
Esc – Cancel

View File

@ -158,7 +158,7 @@
{
"type": "boolean",
"label": "Unit Silhouettes",
"tooltip": "Show outlines of units behind buildings.",
"tooltip": "Show outlines of units behind structures.",
"config": "silhouettes",
"function": "Renderer_SetSilhouettesEnabled"
},
@ -495,7 +495,7 @@
{
"type": "boolean",
"label": "Detailed Tooltips",
"tooltip": "Show detailed tooltips for trainable units in unit-producing buildings.",
"tooltip": "Show detailed tooltips for trainable units in unit-producing structures.",
"config": "showdetailedtooltips"
},
{

View File

@ -105,8 +105,8 @@ function selectCiv(civCode)
structInfo.phase = getPhaseOfTemplate(structInfo);
let structPhaseIdx = g_ParsedData.phaseList.indexOf(structInfo.phase);
// If this building is shared with another civ,
// it may have already gone through the grouping process already
// If this structure is shared with another civ,
// it may have already gone through the grouping process already.
if (!Array.isArray(structInfo.production.techs))
continue;

View File

@ -156,7 +156,7 @@ function getResearchedByText(template)
}
/**
* @return {string} List of the names of the buildings the selected unit can build.
* @return {string} List of the names of the structures the selected unit can build.
*/
function getBuildText(template)
{
@ -202,7 +202,7 @@ function getTrainText(template)
}
/**
* @return {string} List of the names of the buildings/units the selected structure/unit can upgrade to.
* @return {string} List of the names of the structures/units the selected structure/unit can upgrade to.
*/
function getUpgradeText(template)
{

View File

@ -163,8 +163,8 @@ function updateBuildingPlacementPreview()
if (placementSupport.attack && placementSupport.attack.Ranged)
{
// building can be placed here, and has an attack
// show the range advantage in the tooltip
// Structure can be placed here, and has an attack.
// Show the range advantage in the tooltip.
var cmd = {
"x": placementSupport.position.x,
"z": placementSupport.position.z,
@ -643,7 +643,7 @@ function handleInputBeforeGui(ev, hoveredObject)
case "mousemotion":
placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
// Update the structure placement preview, and by extension, the list of snapping candidate entities for both (!)
// the ending point and the starting point to snap to.
//
// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
@ -744,7 +744,7 @@ function handleInputBeforeGui(ev, hoveredObject)
case "mousebuttonup":
if (ev.button == SDL_BUTTON_LEFT)
{
// If shift is down, let the player continue placing another of the same building
// If shift is down, let the player continue placing another of the same structure.
var queued = Engine.HotkeyIsPressed("session.queue");
if (tryPlaceBuilding(queued))
{
@ -1289,8 +1289,8 @@ function startBuildingPlacement(buildTemplate, playerState)
return;
// TODO: we should clear any highlight selection rings here. If the mouse was over an entity before going onto the GUI
// to start building a structure, then the highlight selection rings are kept during the construction of the building.
// Gives the impression that somehow the hovered-over entity has something to do with the building you're constructing.
// to start building a structure, then the highlight selection rings are kept during the construction of the structure.
// Gives the impression that somehow the hovered-over entity has something to do with the structure you're building.
placementSupport.Reset();
@ -1384,7 +1384,7 @@ function addTrainingByPosition(position)
let trainableEnts = getAllTrainableEntitiesFromSelection();
let entToTrain = trainableEnts[position];
// When we have no building to train or the position is invalid
// When we have no structure to train units or the position is invalid
if (!entToTrain)
return;
@ -1409,10 +1409,10 @@ function addTrainingToQueue(selection, trainEntType, playerState)
{
if (inputState == INPUT_BATCHTRAINING)
{
// Check if we are training in the same building(s) as the last batch
// Check if we are training in the same structure(s) as the last batch
// NOTE: We just check if the arrays are the same and if the order is the same
// If the order changed, we have a new selection and we should create a new batch.
// If we're already creating a batch of this unit (in the same building(s)), then just extend it
// If we're already creating a batch of this unit (in the same structure(s)), then just extend it
// (if training limits allow)
if (g_BatchTrainingEntities.length == selection.length &&
g_BatchTrainingEntities.every((ent, i) => ent == selection[i]) &&
@ -1456,7 +1456,7 @@ function addTrainingToQueue(selection, trainEntType, playerState)
}
else
{
// Non-batched - just create a single entity in each building
// Non-batched - just create a single entity in each structure
// (but no more than entity limit allows)
let buildingsForTraining = appropriateBuildings;
if (canBeAddedCount !== undefined)
@ -1488,15 +1488,15 @@ function getTrainingStatus(selection, trainEntType, playerState)
else
canBeAddedCount = getEntityLimitAndCount(playerState, trainEntType).canBeAddedCount;
// We need to calculate count after the next increment if it's possible
// We need to calculate count after the next increment if possible.
if ((canBeAddedCount == undefined || canBeAddedCount > nextBatchTrainingCount * appropriateBuildings.length) &&
Engine.HotkeyIsPressed("session.batchtrain"))
nextBatchTrainingCount += getBatchTrainingSize();
nextBatchTrainingCount = Math.max(nextBatchTrainingCount, 1);
// If training limits don't allow us to train batchTrainingCount in each appropriate building
// train as many full batches as we can and remainer in one more building.
// If training limits don't allow us to train batchedSize in each appropriate structure,
// train as many full batches as we can and the remainder in one more structure.
let buildingsCountToTrainFullBatch = appropriateBuildings.length;
let remainderToTrain = 0;
if (canBeAddedCount !== undefined &&
@ -1513,11 +1513,11 @@ function flushTrainingBatch()
{
let batchedSize = g_NumberOfBatches * getBatchTrainingSize();
let appropriateBuildings = getBuildingsWhichCanTrainEntity(g_BatchTrainingEntities, g_BatchTrainingType);
// If training limits don't allow us to train batchedSize in each appropriate building
// If training limits don't allow us to train batchedSize in each appropriate structure.
if (g_BatchTrainingEntityAllowedCount !== undefined &&
g_BatchTrainingEntityAllowedCount < batchedSize * appropriateBuildings.length)
{
// Train as many full batches as we can
// Train as many full batches as we can.
let buildingsCountToTrainFullBatch = Math.floor(g_BatchTrainingEntityAllowedCount / batchedSize);
Engine.PostNetworkCommand({
"type": "train",
@ -1526,7 +1526,7 @@ function flushTrainingBatch()
"count": batchedSize
});
// Train remainer in one more building
// Train remainer in one more structure.
let remainer = g_BatchTrainingEntityAllowedCount % batchedSize;
if (remainer)
Engine.PostNetworkCommand({

View File

@ -1,5 +1,5 @@
/**
* This class reports the buildings built, lost and destroyed of some selected structure classes.
* This class reports the structures built, lost, and destroyed of some selected structure classes.
*/
LobbyRatingReport.prototype.Buildings = class
{

View File

@ -235,7 +235,7 @@ var g_NotificationsTypes =
entState.identity.classes.indexOf("Animal") != -1)
return;
// Focus the building to construct
// Focus the structure to build.
if (cmd.type == "repair")
{
let targetState = GetEntityState(cmd.target);

View File

@ -6,14 +6,14 @@ function PlacementSupport()
PlacementSupport.DEFAULT_ANGLE = Math.PI * 3 / 4;
/**
* Resets the building placement support state. Use this to cancel construction of an entity.
* Reset the structure placement support state. Use this to cancel construction of an entity.
*/
PlacementSupport.prototype.Reset = function()
{
this.mode = null;
this.position = null;
this.template = null;
this.tooltipMessage = ""; // tooltip text to show while the user is placing a building
this.tooltipMessage = ""; // tooltip text to show while the user is placing a structure
this.tooltipError = false;
this.wallSet = null; // maps types of wall pieces ("tower", "long", "short", ...) to template names
this.wallSnapEntities = null; // list of candidate entities to snap the starting and (!) ending positions to when building walls

View File

@ -387,7 +387,7 @@ g_SelectionPanels.Garrison = {
data.button.sprite_disabled = data.button.sprite;
// Selection panel buttons only appear disabled if they
// also appear disabled to the owner of the building.
// also appear disabled to the owner of the structure.
data.icon.sprite =
(canUngarrison || g_IsObserver ? "" : "grayscale:") +
"stretched:session/portraits/" + template.icon;

View File

@ -144,7 +144,7 @@ function formatBatchTrainingString(buildingsCountToTrainFullBatch, fullBatchSize
fullBatchesString = fullBatchSize;
// We need to display the batch details part if there is either more than
// one building with full batch or one building with the full batch and
// one structure with full batch or one structure with the full batch and
// another with a partial batch
let batchString;
if (buildingsCountToTrainFullBatch > 1 ||

View File

@ -598,7 +598,7 @@ function onTick()
updateGUIObjects();
// Display rally points for selected buildings
// Display rally points for selected structures.
if (Engine.GetPlayerID() != -1)
Engine.GuiInterfaceCall("DisplayRallyPoint", { "entities": g_Selection.toList() });
}

View File

@ -64,7 +64,7 @@
<!-- Follows the mouse around if 'independent' is set to 'true'. -->
<object name="informationTooltip" type="tooltip" independent="true" style="informationTooltip"/>
<!-- Building placement info tooltip -->
<!-- Structure placement info tooltip -->
<object name="placementTooltip" type="tooltip" independent="true" style="informationTooltip"/>
<!-- START of BOTTOM PANEL -->

View File

@ -904,7 +904,7 @@ var g_UnitActions =
(!entState.market.naval || targetState.market.naval) &&
!playerCheck(entState, targetState, ["Enemy"]))
{
// Find a trader (if any) that this building can produce.
// Find a trader (if any) that this structure can train.
let trader;
if (entState.production && entState.production.entities.length)
for (let i = 0; i < entState.production.entities.length; ++i)
@ -1086,7 +1086,7 @@ var g_EntityCommands =
{
"tooltip":
colorizeHotkey("%(hotkey)s" + " ", "session.kill") +
translate("Destroy the selected units or buildings.") + "\n" +
translate("Destroy the selected units or structures.") + "\n" +
colorizeHotkey(
translate("Use %(hotkey)s to avoid the confirmation dialog."),
"session.noconfirmation"
@ -1154,7 +1154,7 @@ var g_EntityCommands =
return {
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.garrison") +
translate("Order the selected units to garrison in a building or unit."),
translate("Order the selected units to garrison in a structure or unit."),
"icon": "garrison.png"
};
},
@ -1195,7 +1195,7 @@ var g_EntityCommands =
return {
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.repair") +
translate("Order the selected units to repair a building or mechanical unit."),
translate("Order the selected units to repair a structure, ship, or siege engine."),
"icon": "repair.png"
};
},
@ -1268,7 +1268,7 @@ var g_EntityCommands =
return {
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.guard") +
translate("Order the selected units to guard a building or unit."),
translate("Order the selected units to guard a structure or unit."),
"icon": "add-guard.png"
};
},
@ -1322,7 +1322,7 @@ var g_EntityCommands =
return {
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.patrol") +
translate("Patrol") + "\n" +
translate("Attack all encountered enemy units while avoiding buildings."),
translate("Attack all encountered enemy units while avoiding structures."),
"icon": "patrol.png"
};
},

View File

@ -18,7 +18,7 @@ var getScorePanelsData = () => ({
"teamCounterFn": calculateScoreTeam
},
"buildings": {
"caption": translate("Buildings"),
"caption": translate("Structures"),
"headings": [
{ "identifier": "playername", "caption": translate("Player name"), "yStart": 26, "width": 200 },
{ "identifier": "total", "caption": translate("Total"), "yStart": 34, "width": 105 },
@ -32,7 +32,7 @@ var getScorePanelsData = () => ({
],
"titleHeadings": [
{
"caption": sprintf(translate("Buildings Statistics (%(constructed)s / %(destroyed)s / %(captured)s / %(lost)s)"),
"caption": sprintf(translate("Structure Statistics (%(constructed)s / %(destroyed)s / %(captured)s / %(lost)s)"),
{
"constructed": getColoredTypeTranslation("constructed"),
"destroyed": getColoredTypeTranslation("destroyed"),
@ -71,7 +71,7 @@ var getScorePanelsData = () => ({
],
"titleHeadings": [
{
"caption": sprintf(translate("Units Statistics (%(trained)s / %(killed)s / %(captured)s / %(lost)s)"),
"caption": sprintf(translate("Unit Statistics (%(trained)s / %(killed)s / %(captured)s / %(lost)s)"),
{
"trained": getColoredTypeTranslation("trained"),
"killed": getColoredTypeTranslation("killed"),

View File

@ -17,7 +17,7 @@ var g_TypeColors = {
};
/**
* Colors, captions and format used for units, buildings, etc. types
* Colors, captions and format used for units, structures, etc. types
*/
var g_SummaryTypes = {
"percent": {

View File

@ -78,7 +78,7 @@
<object name="buildingsPanelButton" type="button" style="ModernTabButtonHorizontal" size="142 92 260 120">
<action on="Press">selectPanel(this);</action>
<object type="text" style="ModernLabelText" ghost="true">
<translatableAttribute id="caption">Buildings</translatableAttribute>
<translatableAttribute id="caption">Structures</translatableAttribute>
</object>
</object>

View File

@ -1,4 +1,4 @@
CATAPULTS
Ranged siege engines that are good against buildings.
Ranged siege engines that are good against structures.
Expensive and slow.
Pack up into carts for movement, and unpack into stationary engines for attack!

View File

@ -1,5 +1,5 @@
FORTRESS
The Fortress is usually each faction's strongest building.
The Fortress is usually each faction's strongest structure.
Trains Champions, Heroes, and Siege Weapons.
Gives a population boost.
Garrison soldiers inside to add more firepower to its defense.

View File

@ -1,4 +1,4 @@
PERICLES
The foremost Athenian politician of the 5th century BC.
Buildings construct faster within his range.
Structures are built faster within his range.
Temples are cheaper while he lives.

View File

@ -1,5 +1,5 @@
PERSIAN ARCHITECTURE
Special technology for the Persians.
All Persian buildings +25% stronger.
Structures +25% health.
Build time lengthened by +20% as a consequence.
Persians also have access to a great number of structural and defensive technologies.

View File

@ -1,4 +1,4 @@
TERRITORY DECAY
Decay happens when buildings are not connected to an allied Civil Center.
Decay happens when structures are not connected to an allied Civil Center.
The decay process can be slowed down or reversed by garrisoning some units in the structure.
When the decay is completed, the building will be given to the most influential neighbor.
When the decay is completed, the structure will be given to the most influential neighbor.