Add tooltips to some map generator settings

Adds tooltip descriptions for a few map generator settings. The tooltips
are limited to dropdown choices. No tooltips are added for the options
containing the choices or any non-dropdown settings.

- Terrain type
- Bounds shape
- Buildings

The "Square" bounds shape is rephrased as "Rectangle" for consistency
with the added description.

This is UI-only change.
This commit is contained in:
Ashley Newson
2025-02-12 23:58:41 +00:00
committed by Gustas Kažukauskas
parent 85999d7a40
commit 39a7e477c6
8 changed files with 318 additions and 99 deletions

View File

@@ -38,6 +38,9 @@ namespace OpenRA.Mods.Common.MapGenerator
/// <summary>The label to use for UI selection. Post-fluent.</summary> /// <summary>The label to use for UI selection. Post-fluent.</summary>
public readonly string Label = null; public readonly string Label = null;
/// <summary>The tooltip to use for UI selection. Post-fluent.</summary>
public readonly string Description = null;
/// <summary> /// <summary>
/// Only offer the Choice for these tilesets. (If null, show for all.) /// Only offer the Choice for these tilesets. (If null, show for all.)
/// </summary> /// </summary>
@@ -51,7 +54,11 @@ namespace OpenRA.Mods.Common.MapGenerator
Id = id; Id = id;
var label = my.NodeWithKeyOrDefault("Label")?.Value.Value; var label = my.NodeWithKeyOrDefault("Label")?.Value.Value;
if (label != null) if (label != null)
Label = FluentProvider.GetMessage(label); {
Label = FluentProvider.GetMessage($"{label}.label");
FluentProvider.TryGetMessage($"{label}.description", out Description);
}
Tileset = my.NodeWithKeyOrDefault("Tileset")?.Value.Value Tileset = my.NodeWithKeyOrDefault("Tileset")?.Value.Value
?.Split(',') ?.Split(',')
.ToImmutableHashSet(); .ToImmutableHashSet();
@@ -63,6 +70,7 @@ namespace OpenRA.Mods.Common.MapGenerator
{ {
Id = value; Id = value;
Label = value; Label = value;
Description = null;
Tileset = null; Tileset = null;
Settings = new MiniYaml(null, new[] { new MiniYamlNode(setting, value) }); Settings = new MiniYaml(null, new[] { new MiniYamlNode(setting, value) });
} }
@@ -71,7 +79,13 @@ namespace OpenRA.Mods.Common.MapGenerator
{ {
var label = my.NodeWithKeyOrDefault("Label")?.Value.Value; var label = my.NodeWithKeyOrDefault("Label")?.Value.Value;
if (label != null) if (label != null)
references.Add(label); {
references.Add($"{label}.label");
// Descriptions are optional.
if (FluentProvider.TryGetMessage($"{label}.description", out _))
references.Add($"{label}.description");
}
} }
/// <summary>Check whether this choice is permitted for this map.</summary> /// <summary>Check whether this choice is permitted for this map.</summary>

View File

@@ -187,10 +187,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
void OnClick() => choices[option] = choice; void OnClick() => choices[option] = choice;
var item = ScrollItemWidget.Setup(template, IsSelected, OnClick); var item = ScrollItemWidget.Setup(template, IsSelected, OnClick);
item.Get<LabelWidget>("LABEL").GetText = () => choice.Label; item.Get<LabelWidget>("LABEL").GetText = () => choice.Label;
item.GetTooltipText =
choice.Description != null
? () => choice.Description
: null;
return item; return item;
} }
dropDown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", option.Choices.Count * 30, option.Choices, SetupItem); dropDown.ShowDropDown("LABEL_DROPDOWN_WITH_TOOLTIP_TEMPLATE", option.Choices.Count * 30, option.Choices, SetupItem);
}; };
break; break;
} }

View File

@@ -27,6 +27,37 @@ ScrollPanel@LABEL_DROPDOWN_TEMPLATE:
Width: PARENT_WIDTH - 20 Width: PARENT_WIDTH - 20
Height: 25 Height: 25
ScrollPanel@LABEL_DROPDOWN_WITH_TOOLTIP_TEMPLATE:
Width: DROPDOWN_WIDTH
Background: panel-black
Children:
ScrollItem@HEADER:
Background: scrollheader
Width: PARENT_WIDTH - 27
Height: 13
X: 2
Y: 0
Visible: false
Children:
Label@LABEL:
Font: TinyBold
Width: PARENT_WIDTH
Height: 13
Align: Center
ScrollItem@TEMPLATE:
Width: PARENT_WIDTH - 27
Height: 25
X: 2
Y: 0
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: BUTTON_TOOLTIP
Visible: false
Children:
Label@LABEL:
X: 10
Width: PARENT_WIDTH - 20
Height: 25
ScrollPanel@PLAYERACTION_DROPDOWN_TEMPLATE: ScrollPanel@PLAYERACTION_DROPDOWN_TEMPLATE:
Width: DROPDOWN_WIDTH Width: DROPDOWN_WIDTH
Background: panel-black Background: panel-black

View File

@@ -658,6 +658,7 @@ Container@EDITOR_WORLD_ROOT:
Y: 20 Y: 20
Width: PARENT_WIDTH Width: PARENT_WIDTH
Height: 25 Height: 25
PanelRoot: EDITOR_WORLD_ROOT
Container@HISTORY_WIDGETS: Container@HISTORY_WIDGETS:
X: WINDOW_WIDTH - 295 X: WINDOW_WIDTH - 295
Y: 318 Y: 318

View File

@@ -782,71 +782,134 @@ bot-hal9001 =
## map-generators.yaml ## map-generators.yaml
label-clear-map-generator-option-tile = Tile label-clear-map-generator-option-tile = Tile
label-clear-map-generator-choice-tile-clear = Clear label-clear-map-generator-choice-tile-clear =
label-clear-map-generator-choice-tile-water = Water .label = Clear
label-clear-map-generator-choice-tile-water =
.label = Water
label-cnc-map-generator-option-seed = Seed label-cnc-map-generator-option-seed = Seed
label-cnc-map-generator-option-terrain-type = Terrain Type label-cnc-map-generator-option-terrain-type = Terrain Type
label-cnc-map-generator-choice-terrain-type-lakes = Lakes label-cnc-map-generator-choice-terrain-type-lakes =
label-cnc-map-generator-choice-terrain-type-puddles = Puddles .label = Lakes
label-cnc-map-generator-choice-terrain-type-gardens = Gardens .description = Open spaces with moderately sized lakes
label-cnc-map-generator-choice-terrain-type-plains = Plains label-cnc-map-generator-choice-terrain-type-puddles =
label-cnc-map-generator-choice-terrain-type-parks = Parks .label = Puddles
label-cnc-map-generator-choice-terrain-type-woodlands = Woodlands .description = Open spaces with small ponds
label-cnc-map-generator-choice-terrain-type-overgrown = Overgrown label-cnc-map-generator-choice-terrain-type-gardens =
label-cnc-map-generator-choice-terrain-type-rocky = Rocky .label = Gardens
label-cnc-map-generator-choice-terrain-type-mountains = Mountains .description = Featureful terrain with ponds, cliffs, and forests
label-cnc-map-generator-choice-terrain-type-mountain-lakes = Mountain Lakes label-cnc-map-generator-choice-terrain-type-plains =
.label = Plains
.description = Open spaces with sparse trees and cliffs
label-cnc-map-generator-choice-terrain-type-parks =
.label = Parks
.description = Open spaces with light forestry and occasional cliffs
label-cnc-map-generator-choice-terrain-type-woodlands =
.label = Woodlands
.description = Moderate forestry with occasional cliffs
label-cnc-map-generator-choice-terrain-type-overgrown =
.label = Overgrown
.description = Narrow passages, dense forestry and moderate cliffs
label-cnc-map-generator-choice-terrain-type-rocky =
.label = Rocky
.description = Moderate cliffs with light forestry
label-cnc-map-generator-choice-terrain-type-mountains =
.label = Mountains
.description = Many long cliffs
label-cnc-map-generator-choice-terrain-type-mountain-lakes =
.label = Mountain Lakes
.description = Lakes and many long cliffs
label-cnc-map-generator-option-rotations = Rotations label-cnc-map-generator-option-rotations = Rotations
label-cnc-map-generator-option-mirror = Mirror label-cnc-map-generator-option-mirror = Mirror
label-cnc-map-generator-choice-mirror-none = None label-cnc-map-generator-choice-mirror-none =
label-cnc-map-generator-choice-mirror-left-matches-right = Left vs right .label = None
label-cnc-map-generator-choice-mirror-top-left-matches-bottom-right = Top left vs bottom right label-cnc-map-generator-choice-mirror-left-matches-right =
label-cnc-map-generator-choice-mirror-top-matches-bottom = Top vs bottom .label = Left vs right
label-cnc-map-generator-choice-mirror-top-right-matches-bottom-left = Top right vs bottom left label-cnc-map-generator-choice-mirror-top-left-matches-bottom-right =
.label = Top left vs bottom right
label-cnc-map-generator-choice-mirror-top-matches-bottom =
.label = Top vs bottom
label-cnc-map-generator-choice-mirror-top-right-matches-bottom-left =
.label = Top right vs bottom left
label-cnc-map-generator-option-shape = Bounds Shape label-cnc-map-generator-option-shape = Bounds Shape
label-cnc-map-generator-choice-shape-square = Square label-cnc-map-generator-choice-shape-square =
label-cnc-map-generator-choice-shape-circle-mountain = Circle in mountains .label = Rectangle
label-cnc-map-generator-choice-shape-circle-water = Circle in water .description = Full size terrain generation
label-cnc-map-generator-choice-shape-circle-mountain =
.label = Circle in mountains
.description = Terrain generation is constrained by a circular mountain range
label-cnc-map-generator-choice-shape-circle-water =
.label = Circle in water
.description = Terrain generation is constrained to a circle enclosed by water
label-cnc-map-generator-option-players = Players per side label-cnc-map-generator-option-players = Players per side
label-cnc-map-generator-option-resources = Resources label-cnc-map-generator-option-resources = Resources
label-cnc-map-generator-choice-resources-none = None label-cnc-map-generator-choice-resources-none =
label-cnc-map-generator-choice-resources-low = Low .label = None
label-cnc-map-generator-choice-resources-medium = Medium label-cnc-map-generator-choice-resources-low =
label-cnc-map-generator-choice-resources-high = High .label = Low
label-cnc-map-generator-choice-resources-very-high = Very High label-cnc-map-generator-choice-resources-medium =
label-cnc-map-generator-choice-resources-full = Oreful .label = Medium
label-cnc-map-generator-choice-resources-high =
.label = High
label-cnc-map-generator-choice-resources-very-high =
.label = Very High
label-cnc-map-generator-choice-resources-full =
.label = Oreful
label-cnc-map-generator-option-buildings = Buildings label-cnc-map-generator-option-buildings = Buildings
label-cnc-map-generator-choice-buildings-none = None label-cnc-map-generator-choice-buildings-none =
label-cnc-map-generator-choice-buildings-standard = Standard .label = None
label-cnc-map-generator-choice-buildings-extra = Extra .description = No tech structures
label-cnc-map-generator-choice-buildings-oil-only = Oil Only label-cnc-map-generator-choice-buildings-standard =
label-cnc-map-generator-choice-buildings-oil-rush = Oil Rush .label = Standard
.description = Oil derricks, hospitals, and comm centers
label-cnc-map-generator-choice-buildings-extra =
.label = Extra
.description = Oil derricks, hospitals, comm centers, forward commands, pillboxes
label-cnc-map-generator-choice-buildings-oil-only =
.label = Oil Only
.description = Oil derricks only
label-cnc-map-generator-choice-buildings-oil-rush =
.label = Oil Rush
.description = Lots of oil derricks
label-cnc-map-generator-option-density = Entity Density label-cnc-map-generator-option-density = Entity Density
label-cnc-map-generator-choice-density-players = Scale with players label-cnc-map-generator-choice-density-players =
label-cnc-map-generator-choice-density-area-and-players = Scale with area and players .label = Scale with players
label-cnc-map-generator-choice-density-area-very-low = Scale with area (very low density) label-cnc-map-generator-choice-density-area-and-players =
label-cnc-map-generator-choice-density-area-low = Scale with area (low density) .label = Scale with area and players
label-cnc-map-generator-choice-density-area-medium = Scale with area (medium density) label-cnc-map-generator-choice-density-area-very-low =
label-cnc-map-generator-choice-density-area-high = Scale with area (high density) .label = Scale with area (very low density)
label-cnc-map-generator-choice-density-area-very-high = Scale with area (very high density) label-cnc-map-generator-choice-density-area-low =
.label = Scale with area (low density)
label-cnc-map-generator-choice-density-area-medium =
.label = Scale with area (medium density)
label-cnc-map-generator-choice-density-area-high =
.label = Scale with area (high density)
label-cnc-map-generator-choice-density-area-very-high =
.label = Scale with area (very high density)
label-cnc-map-generator-option-roads = Roads label-cnc-map-generator-option-roads = Roads
label-cnc-map-generator-option-deny-walled-areas = Obstruct walled areas label-cnc-map-generator-option-deny-walled-areas = Obstruct walled areas
label-cnc-map-generator-option-civilian-density = Civilian Density label-cnc-map-generator-option-civilian-density = Civilian Density
label-cnc-map-generator-choice-civilian-density-default = Default label-cnc-map-generator-choice-civilian-density-default =
label-cnc-map-generator-choice-civilian-density-none = None .label = Default
label-cnc-map-generator-choice-civilian-density-low = Low label-cnc-map-generator-choice-civilian-density-none =
label-cnc-map-generator-choice-civilian-density-medium = Medium .label = None
label-cnc-map-generator-choice-civilian-density-high = High label-cnc-map-generator-choice-civilian-density-low =
label-cnc-map-generator-choice-civilian-density-very-high = Very High .label = Low
label-cnc-map-generator-choice-civilian-density-max = Maximum label-cnc-map-generator-choice-civilian-density-medium =
.label = Medium
label-cnc-map-generator-choice-civilian-density-high =
.label = High
label-cnc-map-generator-choice-civilian-density-very-high =
.label = Very High
label-cnc-map-generator-choice-civilian-density-max =
.label = Maximum

View File

@@ -26,6 +26,36 @@ ScrollPanel@LABEL_DROPDOWN_TEMPLATE:
Width: PARENT_WIDTH - 20 Width: PARENT_WIDTH - 20
Height: 25 Height: 25
ScrollPanel@LABEL_DROPDOWN_WITH_TOOLTIP_TEMPLATE:
Width: DROPDOWN_WIDTH
Children:
ScrollItem@HEADER:
Background: scrollheader
Width: PARENT_WIDTH - 27
Height: 13
X: 2
Y: 0
Visible: false
Children:
Label@LABEL:
Font: TinyBold
Width: PARENT_WIDTH
Height: 13
Align: Center
ScrollItem@TEMPLATE:
Width: PARENT_WIDTH - 27
Height: 25
X: 2
Y: 0
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: BUTTON_TOOLTIP
Visible: false
Children:
Label@LABEL:
X: 10
Width: PARENT_WIDTH - 20
Height: 25
ScrollPanel@PLAYERACTION_DROPDOWN_TEMPLATE: ScrollPanel@PLAYERACTION_DROPDOWN_TEMPLATE:
Width: DROPDOWN_WIDTH Width: DROPDOWN_WIDTH
Children: Children:

View File

@@ -621,6 +621,7 @@ Container@EDITOR_WORLD_ROOT:
Y: 20 Y: 20
Width: PARENT_WIDTH Width: PARENT_WIDTH
Height: 25 Height: 25
PanelRoot: EDITOR_WORLD_ROOT
Container@HISTORY_WIDGETS: Container@HISTORY_WIDGETS:
X: WINDOW_WIDTH - 320 X: WINDOW_WIDTH - 320
Y: 354 Y: 354

View File

@@ -947,77 +947,151 @@ bot-naval-ai =
## map-generators.yaml ## map-generators.yaml
label-clear-map-generator-option-tile = Tile label-clear-map-generator-option-tile = Tile
label-clear-map-generator-choice-tile-clear = Clear label-clear-map-generator-choice-tile-clear =
label-clear-map-generator-choice-tile-water = Water .label = Clear
label-clear-map-generator-choice-tile-empty = Empty space label-clear-map-generator-choice-tile-water =
.label = Water
label-clear-map-generator-choice-tile-empty =
.label = Empty space
label-ra-map-generator-option-seed = Seed label-ra-map-generator-option-seed = Seed
label-ra-map-generator-option-terrain-type = Terrain Type label-ra-map-generator-option-terrain-type = Terrain Type
label-ra-map-generator-choice-terrain-type-lakes = Lakes label-ra-map-generator-choice-terrain-type-lakes =
label-ra-map-generator-choice-terrain-type-puddles = Puddles .label = Lakes
label-ra-map-generator-choice-terrain-type-gardens = Gardens .description = Open spaces with moderately sized lakes
label-ra-map-generator-choice-terrain-type-plains = Plains label-ra-map-generator-choice-terrain-type-puddles =
label-ra-map-generator-choice-terrain-type-parks = Parks .label = Puddles
label-ra-map-generator-choice-terrain-type-woodlands = Woodlands .description = Open spaces with small ponds
label-ra-map-generator-choice-terrain-type-overgrown = Overgrown label-ra-map-generator-choice-terrain-type-gardens =
label-ra-map-generator-choice-terrain-type-rocky = Rocky .label = Gardens
label-ra-map-generator-choice-terrain-type-mountains = Mountains .description = Featureful terrain with ponds, cliffs, and forests
label-ra-map-generator-choice-terrain-type-mountain-lakes = Mountain Lakes label-ra-map-generator-choice-terrain-type-plains =
label-ra-map-generator-choice-terrain-type-oceanic = Oceanic .label = Plains
label-ra-map-generator-choice-terrain-type-large-islands = Large Islands .description = Open spaces with sparse trees and cliffs
label-ra-map-generator-choice-terrain-type-continents = Continents label-ra-map-generator-choice-terrain-type-parks =
label-ra-map-generator-choice-terrain-type-wetlands = Wetlands .label = Parks
label-ra-map-generator-choice-terrain-type-narrow-wetlands = Narrow Wetlands .description = Open spaces with light forestry and occasional cliffs
label-ra-map-generator-choice-terrain-type-woodlands =
.label = Woodlands
.description = Moderate forestry with occasional cliffs
label-ra-map-generator-choice-terrain-type-overgrown =
.label = Overgrown
.description = Narrow passages, dense forestry and moderate cliffs
label-ra-map-generator-choice-terrain-type-rocky =
.label = Rocky
.description = Moderate cliffs with light forestry
label-ra-map-generator-choice-terrain-type-mountains =
.label = Mountains
.description = Many long cliffs
label-ra-map-generator-choice-terrain-type-mountain-lakes =
.label = Mountain Lakes
.description = Lakes and many long cliffs
label-ra-map-generator-choice-terrain-type-oceanic =
.label = Oceanic
.description = Small islands separated by an ocean
label-ra-map-generator-choice-terrain-type-large-islands =
.label = Large Islands
.description = Large islands separated by an ocean
label-ra-map-generator-choice-terrain-type-continents =
.label = Continents
.description = Large bodies of land and water
label-ra-map-generator-choice-terrain-type-wetlands =
.label = Wetlands
.description = Loose mixtures of land and water
label-ra-map-generator-choice-terrain-type-narrow-wetlands =
.label = Narrow Wetlands
.description = Tight mixtures of land and water
label-ra-map-generator-option-rotations = Rotations label-ra-map-generator-option-rotations = Rotations
label-ra-map-generator-option-mirror = Mirror label-ra-map-generator-option-mirror = Mirror
label-ra-map-generator-choice-mirror-none = None label-ra-map-generator-choice-mirror-none =
label-ra-map-generator-choice-mirror-left-matches-right = Left vs right .label = None
label-ra-map-generator-choice-mirror-top-left-matches-bottom-right = Top left vs bottom right label-ra-map-generator-choice-mirror-left-matches-right =
label-ra-map-generator-choice-mirror-top-matches-bottom = Top vs bottom .label = Left vs right
label-ra-map-generator-choice-mirror-top-right-matches-bottom-left = Top right vs bottom left label-ra-map-generator-choice-mirror-top-left-matches-bottom-right =
.label = Top left vs bottom right
label-ra-map-generator-choice-mirror-top-matches-bottom =
.label = Top vs bottom
label-ra-map-generator-choice-mirror-top-right-matches-bottom-left =
.label = Top right vs bottom left
label-ra-map-generator-option-shape = Bounds Shape label-ra-map-generator-option-shape = Bounds Shape
label-ra-map-generator-choice-shape-square = Square label-ra-map-generator-choice-shape-square =
label-ra-map-generator-choice-shape-circle-mountain = Circle in mountains .label = Rectangle
label-ra-map-generator-choice-shape-circle-water = Circle in water .description = Full size terrain generation
label-ra-map-generator-choice-shape-circle-mountain =
.label = Circle in mountains
.description = Terrain generation is constrained by a circular mountain range
label-ra-map-generator-choice-shape-circle-water =
.label = Circle in water
.description = Terrain generation is constrained to a circle enclosed by water
label-ra-map-generator-option-players = Players per side label-ra-map-generator-option-players = Players per side
label-ra-map-generator-option-resources = Resources label-ra-map-generator-option-resources = Resources
label-ra-map-generator-choice-resources-none = None label-ra-map-generator-choice-resources-none =
label-ra-map-generator-choice-resources-low = Low .label = None
label-ra-map-generator-choice-resources-medium = Medium label-ra-map-generator-choice-resources-low =
label-ra-map-generator-choice-resources-high = High .label = Low
label-ra-map-generator-choice-resources-very-high = Very High label-ra-map-generator-choice-resources-medium =
label-ra-map-generator-choice-resources-full = Oreful .label = Medium
label-ra-map-generator-choice-resources-high =
.label = High
label-ra-map-generator-choice-resources-very-high =
.label = Very High
label-ra-map-generator-choice-resources-full =
.label = Oreful
label-ra-map-generator-option-buildings = Buildings label-ra-map-generator-option-buildings = Buildings
label-ra-map-generator-choice-buildings-none = None label-ra-map-generator-choice-buildings-none =
label-ra-map-generator-choice-buildings-standard = Standard .label = None
label-ra-map-generator-choice-buildings-extra = Extra .description = No tech structures
label-ra-map-generator-choice-buildings-oil-only = Oil Only label-ra-map-generator-choice-buildings-standard =
label-ra-map-generator-choice-buildings-oil-rush = Oil Rush .label = Standard
.description = Oil derricks, hospitals, and comm centers
label-ra-map-generator-choice-buildings-extra =
.label = Extra
.description = Oil derricks, hospitals, comm centers, forward commands, pillboxes
label-ra-map-generator-choice-buildings-oil-only =
.label = Oil Only
.description = Oil derricks only
label-ra-map-generator-choice-buildings-oil-rush =
.label = Oil Rush
.description = Lots of oil derricks
label-ra-map-generator-option-density = Entity Density label-ra-map-generator-option-density = Entity Density
label-ra-map-generator-choice-density-players = Scale with players label-ra-map-generator-choice-density-players =
label-ra-map-generator-choice-density-area-and-players = Scale with area and players .label = Scale with players
label-ra-map-generator-choice-density-area-very-low = Scale with area (very low density) label-ra-map-generator-choice-density-area-and-players =
label-ra-map-generator-choice-density-area-low = Scale with area (low density) .label = Scale with area and players
label-ra-map-generator-choice-density-area-medium = Scale with area (medium density) label-ra-map-generator-choice-density-area-very-low =
label-ra-map-generator-choice-density-area-high = Scale with area (high density) .label = Scale with area (very low density)
label-ra-map-generator-choice-density-area-very-high = Scale with area (very high density) label-ra-map-generator-choice-density-area-low =
.label = Scale with area (low density)
label-ra-map-generator-choice-density-area-medium =
.label = Scale with area (medium density)
label-ra-map-generator-choice-density-area-high =
.label = Scale with area (high density)
label-ra-map-generator-choice-density-area-very-high =
.label = Scale with area (very high density)
label-ra-map-generator-option-roads = Roads label-ra-map-generator-option-roads = Roads
label-ra-map-generator-option-deny-walled-areas = Obstruct walled areas label-ra-map-generator-option-deny-walled-areas = Obstruct walled areas
label-ra-map-generator-option-civilian-density = Civilian Density label-ra-map-generator-option-civilian-density = Civilian Density
label-ra-map-generator-choice-civilian-density-default = Default label-ra-map-generator-choice-civilian-density-default =
label-ra-map-generator-choice-civilian-density-none = None .label = Default
label-ra-map-generator-choice-civilian-density-low = Low label-ra-map-generator-choice-civilian-density-none =
label-ra-map-generator-choice-civilian-density-medium = Medium .label = None
label-ra-map-generator-choice-civilian-density-high = High label-ra-map-generator-choice-civilian-density-low =
label-ra-map-generator-choice-civilian-density-very-high = Very High .label = Low
label-ra-map-generator-choice-civilian-density-max = Maximum label-ra-map-generator-choice-civilian-density-medium =
.label = Medium
label-ra-map-generator-choice-civilian-density-high =
.label = High
label-ra-map-generator-choice-civilian-density-very-high =
.label = Very High
label-ra-map-generator-choice-civilian-density-max =
.label = Maximum