Refactor translation files

- Add prefixes to all message keys to provide context
- Use messages with attributes for some UI elements (dropdowns, dialogs, checkboxes, menus)
- Rename some class fields for consistency with translation keys
This commit is contained in:
Ivaylo Draganov
2022-11-10 13:46:51 +02:00
committed by Paul Chote
parent 46caa2d889
commit a0f17b15ec
89 changed files with 1095 additions and 1053 deletions

View File

@@ -30,7 +30,7 @@ namespace OpenRA
public static class Game public static class Game
{ {
[TranslationReference("filename")] [TranslationReference("filename")]
const string SavedScreenshot = "saved-screenshot"; const string SavedScreenshot = "notification-saved-screenshot";
public const int TimestepJankThreshold = 250; // Don't catch up for delays larger than 250ms public const int TimestepJankThreshold = 250; // Don't catch up for delays larger than 250ms

View File

@@ -17,7 +17,7 @@ namespace OpenRA.Server
class PlayerMessageTracker class PlayerMessageTracker
{ {
[TranslationReference("remaining")] [TranslationReference("remaining")]
const string ChatTemporaryDisabled = "chat-temp-disabled"; const string ChatTemporaryDisabled = "notification-chat-temp-disabled";
readonly Dictionary<int, List<long>> messageTracker = new Dictionary<int, List<long>>(); readonly Dictionary<int, List<long>> messageTracker = new Dictionary<int, List<long>>();
readonly Server server; readonly Server server;

View File

@@ -47,73 +47,73 @@ namespace OpenRA.Server
public sealed class Server public sealed class Server
{ {
[TranslationReference] [TranslationReference]
const string CustomRules = "custom-rules"; const string CustomRules = "notification-custom-rules";
[TranslationReference] [TranslationReference]
const string BotsDisabled = "bots-disabled"; const string BotsDisabled = "notification-map-bots-disabled";
[TranslationReference] [TranslationReference]
const string TwoHumansRequired = "two-humans-required"; const string TwoHumansRequired = "notification-two-humans-required";
[TranslationReference] [TranslationReference]
const string ErrorGameStarted = "error-game-started"; const string ErrorGameStarted = "notification-error-game-started";
[TranslationReference] [TranslationReference]
const string RequiresPassword = "requires-password"; const string RequiresPassword = "notification-requires-password";
[TranslationReference] [TranslationReference]
const string IncorrectPassword = "incorrect-password"; const string IncorrectPassword = "notification-incorrect-password";
[TranslationReference] [TranslationReference]
const string IncompatibleMod = "incompatible-mod"; const string IncompatibleMod = "notification-incompatible-mod";
[TranslationReference] [TranslationReference]
const string IncompatibleVersion = "incompatible-version"; const string IncompatibleVersion = "notification-incompatible-version";
[TranslationReference] [TranslationReference]
const string IncompatibleProtocol = "incompatible-protocol"; const string IncompatibleProtocol = "notification-incompatible-protocol";
[TranslationReference] [TranslationReference]
const string Banned = "banned"; const string Banned = "notification-you-were-banned";
[TranslationReference] [TranslationReference]
const string TempBanned = "temp-banned"; const string TempBanned = "notification-you-were-temp-banned";
[TranslationReference] [TranslationReference]
const string Full = "full"; const string Full = "notification-game-full";
[TranslationReference("player")] [TranslationReference("player")]
const string Joined = "joined"; const string Joined = "notification-joined";
[TranslationReference] [TranslationReference]
const string RequiresForumAccount = "requires-forum-account"; const string RequiresAuthentication = "notification-requires-authentication";
[TranslationReference] [TranslationReference]
const string NoPermission = "no-permission"; const string NoPermission = "notification-no-permission-to-join";
[TranslationReference("command")] [TranslationReference("command")]
const string UnknownServerCommand = "unknown-server-command"; const string UnknownServerCommand = "notification-unknown-server-command";
[TranslationReference("player")] [TranslationReference("player")]
const string LobbyDisconnected = "lobby-disconnected"; const string LobbyDisconnected = "notification-lobby-disconnected";
[TranslationReference("player")] [TranslationReference("player")]
const string PlayerDisconnected = "player-disconnected"; const string PlayerDisconnected = "notification-player-disconnected";
[TranslationReference("player", "team")] [TranslationReference("player", "team")]
const string PlayerTeamDisconnected = "player-team-disconnected"; const string PlayerTeamDisconnected = "notification-team-player-disconnected";
[TranslationReference("player")] [TranslationReference("player")]
const string ObserverDisconnected = "observer-disconnected"; const string ObserverDisconnected = "notification-observer-disconnected";
[TranslationReference("player")] [TranslationReference("player")]
const string NewAdmin = "new-admin"; const string NewAdmin = "notification-new-admin";
[TranslationReference] [TranslationReference]
const string YouWereKicked = "you-were-kicked"; const string YouWereKicked = "notification-you-were-kicked";
[TranslationReference] [TranslationReference]
const string GameStarted = "game-started"; const string GameStarted = "notification-game-started";
public readonly MersenneTwister Random = new MersenneTwister(); public readonly MersenneTwister Random = new MersenneTwister();
public readonly ServerType Type; public readonly ServerType Type;
@@ -664,7 +664,7 @@ namespace OpenRA.Server
if (notAuthenticated) if (notAuthenticated)
{ {
Log.Write("server", $"Rejected connection from {newConn.EndPoint}; Not authenticated."); Log.Write("server", $"Rejected connection from {newConn.EndPoint}; Not authenticated.");
SendOrderTo(newConn, "ServerError", RequiresForumAccount); SendOrderTo(newConn, "ServerError", RequiresAuthentication);
DropClient(newConn); DropClient(newConn);
} }
else if (blacklisted || notWhitelisted) else if (blacklisted || notWhitelisted)
@@ -687,7 +687,7 @@ namespace OpenRA.Server
if (Type == ServerType.Dedicated && (Settings.RequireAuthentication || Settings.ProfileIDWhitelist.Length > 0)) if (Type == ServerType.Dedicated && (Settings.RequireAuthentication || Settings.ProfileIDWhitelist.Length > 0))
{ {
Log.Write("server", $"Rejected connection from {newConn.EndPoint}; Not authenticated."); Log.Write("server", $"Rejected connection from {newConn.EndPoint}; Not authenticated.");
SendOrderTo(newConn, "ServerError", RequiresForumAccount); SendOrderTo(newConn, "ServerError", RequiresAuthentication);
DropClient(newConn); DropClient(newConn);
} }
else else

View File

@@ -20,11 +20,11 @@ namespace OpenRA.Traits
{ {
[TranslationReference] [TranslationReference]
[Desc("Descriptive label for the fog checkbox in the lobby.")] [Desc("Descriptive label for the fog checkbox in the lobby.")]
public readonly string FogCheckboxLabel = "fog-of-war.label"; public readonly string FogCheckboxLabel = "checkbox-fog-of-war.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the fog checkbox in the lobby.")] [Desc("Tooltip description for the fog checkbox in the lobby.")]
public readonly string FogCheckboxDescription = "fog-of-war.description"; public readonly string FogCheckboxDescription = "checkbox-fog-of-war.description";
[Desc("Default value of the fog checkbox in the lobby.")] [Desc("Default value of the fog checkbox in the lobby.")]
public readonly bool FogCheckboxEnabled = true; public readonly bool FogCheckboxEnabled = true;
@@ -40,11 +40,11 @@ namespace OpenRA.Traits
[TranslationReference] [TranslationReference]
[Desc("Descriptive label for the explored map checkbox in the lobby.")] [Desc("Descriptive label for the explored map checkbox in the lobby.")]
public readonly string ExploredMapCheckboxLabel = "explored-map.label"; public readonly string ExploredMapCheckboxLabel = "checkbox-explored-map.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the explored map checkbox in the lobby.")] [Desc("Tooltip description for the explored map checkbox in the lobby.")]
public readonly string ExploredMapCheckboxDescription = "explored-map.description"; public readonly string ExploredMapCheckboxDescription = "checkbox-explored-map.description";
[Desc("Default value of the explore map checkbox in the lobby.")] [Desc("Default value of the explore map checkbox in the lobby.")]
public readonly bool ExploredMapCheckboxEnabled = false; public readonly bool ExploredMapCheckboxEnabled = false;

View File

@@ -23,7 +23,7 @@ namespace OpenRA.Mods.Common.Commands
public class ChatCommands : INotifyChat public class ChatCommands : INotifyChat
{ {
[TranslationReference("name")] [TranslationReference("name")]
const string InvalidCommand = "invalid-command"; const string InvalidCommand = "notification-invalid-command";
public Dictionary<string, IChatCommand> Commands { get; } public Dictionary<string, IChatCommand> Commands { get; }

View File

@@ -24,19 +24,19 @@ namespace OpenRA.Mods.Common.Commands
public class DebugVisualizationCommands : IChatCommand, IWorldLoaded public class DebugVisualizationCommands : IChatCommand, IWorldLoaded
{ {
[TranslationReference] [TranslationReference]
const string CombatGeometryDescription = "combat-geometry-description"; const string CombatGeometryDescription = "description-combat-geometry";
[TranslationReference] [TranslationReference]
const string RenderGeometryDescription = "render-geometry-description"; const string RenderGeometryDescription = "description-render-geometry";
[TranslationReference] [TranslationReference]
const string ScreenMapOverlayDescription = "screen-map-overlay-description"; const string ScreenMapOverlayDescription = "description-screen-map-overlay";
[TranslationReference] [TranslationReference]
const string DepthBufferDescription = "depth-buffer-description"; const string DepthBufferDescription = "description-depth-buffer";
[TranslationReference] [TranslationReference]
const string ActorTagsOverlayDescripition = "actor-tags-overlay-description"; const string ActorTagsOverlayDescripition = "description-actor-tags-overlay";
readonly IDictionary<string, (string Description, Action<DebugVisualizations, DeveloperMode> Handler)> commandHandlers = new Dictionary<string, (string Description, Action<DebugVisualizations, DeveloperMode> Handler)> readonly IDictionary<string, (string Description, Action<DebugVisualizations, DeveloperMode> Handler)> commandHandlers = new Dictionary<string, (string Description, Action<DebugVisualizations, DeveloperMode> Handler)>
{ {

View File

@@ -25,55 +25,55 @@ namespace OpenRA.Mods.Common.Commands
public class DevCommands : IChatCommand, IWorldLoaded public class DevCommands : IChatCommand, IWorldLoaded
{ {
[TranslationReference] [TranslationReference]
const string CheatsDisabled = "cheats-disabled"; const string CheatsDisabled = "notification-cheats-disabled";
[TranslationReference] [TranslationReference]
const string InvalidCashAmount = "invalid-cash-amount"; const string InvalidCashAmount = "notification-invalid-cash-amount";
[TranslationReference] [TranslationReference]
const string ToggleVisiblityDescription = "toggle-visibility"; const string ToggleVisiblityDescription = "description-toggle-visibility";
[TranslationReference] [TranslationReference]
const string GiveCashDescription = "give-cash"; const string GiveCashDescription = "description-give-cash";
[TranslationReference] [TranslationReference]
const string GiveCashAllDescription = "give-cash-all"; const string GiveCashAllDescription = "description-give-cash-all";
[TranslationReference] [TranslationReference]
const string InstantBuildingDescription = "instant-building"; const string InstantBuildingDescription = "description-instant-building";
[TranslationReference] [TranslationReference]
const string BuildAnywhereDescription = "build-anywhere"; const string BuildAnywhereDescription = "description-build-anywhere";
[TranslationReference] [TranslationReference]
const string UnlimitedPowerDescription = "unlimited-power"; const string UnlimitedPowerDescription = "description-unlimited-power";
[TranslationReference] [TranslationReference]
const string EnableTechDescription = "enable-tech"; const string EnableTechDescription = "description-enable-tech";
[TranslationReference] [TranslationReference]
const string FastChargeDescription = "fast-charge"; const string FastChargeDescription = "description-fast-charge";
[TranslationReference] [TranslationReference]
const string DevCheatAllDescription = "dev-cheat-all"; const string DevCheatAllDescription = "description-dev-cheat-all";
[TranslationReference] [TranslationReference]
const string DevCrashDescription = "dev-crash"; const string DevCrashDescription = "description-dev-crash";
[TranslationReference] [TranslationReference]
const string LevelUpActorDescription = "levelup-actor"; const string LevelUpActorDescription = "description-levelup-actor";
[TranslationReference] [TranslationReference]
const string PlayerExperienceDescription = "player-experience"; const string PlayerExperienceDescription = "description-player-experience";
[TranslationReference] [TranslationReference]
const string PowerOutageDescription = "power-outage"; const string PowerOutageDescription = "description-power-outage";
[TranslationReference] [TranslationReference]
const string KillSelectedActorsDescription = "kill-selected-actors"; const string KillSelectedActorsDescription = "description-kill-selected-actors";
[TranslationReference] [TranslationReference]
const string DisposeSelectedActorsDescription = "dispose-selected-actors"; const string DisposeSelectedActorsDescription = "description-dispose-selected-actors";
readonly IDictionary<string, (string Description, Action<string, World> Handler)> commandHandlers = new Dictionary<string, (string, Action<string, World>)> readonly IDictionary<string, (string Description, Action<string, World> Handler)> commandHandlers = new Dictionary<string, (string, Action<string, World>)>
{ {

View File

@@ -22,13 +22,13 @@ namespace OpenRA.Mods.Common.Commands
public class HelpCommand : IChatCommand, IWorldLoaded public class HelpCommand : IChatCommand, IWorldLoaded
{ {
[TranslationReference] [TranslationReference]
const string AvailableCommands = "available-commands"; const string AvailableCommands = "notification-available-commands";
[TranslationReference] [TranslationReference]
const string NoDescription = "no-description"; const string NoDescription = "description-no-description";
[TranslationReference] [TranslationReference]
const string HelpDescription = "help-description"; const string HelpDescription = "description-help-description";
readonly Dictionary<string, string> helpDescriptions; readonly Dictionary<string, string> helpDescriptions;

View File

@@ -21,10 +21,10 @@ namespace OpenRA.Mods.Common.Commands
public class PlayerCommands : IChatCommand, IWorldLoaded public class PlayerCommands : IChatCommand, IWorldLoaded
{ {
[TranslationReference] [TranslationReference]
const string PauseDescription = "pause-description"; const string PauseDescription = "description-pause-description";
[TranslationReference] [TranslationReference]
const string SurrenderDescription = "surrender-description"; const string SurrenderDescription = "description-surrender-description";
World world; World world;

View File

@@ -25,133 +25,133 @@ namespace OpenRA.Mods.Common.Server
public class LobbyCommands : ServerTrait, IInterpretCommand, INotifyServerStart, INotifyServerEmpty, IClientJoined public class LobbyCommands : ServerTrait, IInterpretCommand, INotifyServerStart, INotifyServerEmpty, IClientJoined
{ {
[TranslationReference] [TranslationReference]
const string CustomRules = "custom-rules"; const string CustomRules = "notification-custom-rules";
[TranslationReference] [TranslationReference]
const string OnlyHostStartGame = "only-only-host-start-game"; const string OnlyHostStartGame = "notification-admin-start-game";
[TranslationReference] [TranslationReference]
const string NoStartUntilRequiredSlotsFull = "no-start-until-required-slots-full"; const string NoStartUntilRequiredSlotsFull = "notification-no-start-until-required-slots-full";
[TranslationReference] [TranslationReference]
const string NoStartWithoutPlayers = "no-start-without-players"; const string NoStartWithoutPlayers = "notification-no-start-without-players";
[TranslationReference] [TranslationReference]
const string TwoHumansRequired = "two-humans-required"; const string TwoHumansRequired = "notification-two-humans-required";
[TranslationReference] [TranslationReference]
const string InsufficientEnabledSpawnPoints = "insufficient-enabled-spawnPoints"; const string InsufficientEnabledSpawnPoints = "notification-insufficient-enabled-spawn-points";
[TranslationReference("command")] [TranslationReference("command")]
const string MalformedCommand = "malformed-command"; const string MalformedCommand = "notification-malformed-command";
[TranslationReference] [TranslationReference]
const string KickNone = "kick-none"; const string KickNone = "notification-kick-none";
[TranslationReference] [TranslationReference]
const string NoKickGameStarted = "no-kick-game-started"; const string NoKickGameStarted = "notification-no-kick-game-started";
[TranslationReference("admin", "player")] [TranslationReference("admin", "player")]
const string Kicked = "kicked"; const string Kicked = "notification-kicked";
[TranslationReference("admin", "player")] [TranslationReference("admin", "player")]
const string TempBan = "temp-ban"; const string TempBan = "notification-temp-ban";
[TranslationReference] [TranslationReference]
const string NoTransferAdmin = "only-host-transfer-admin"; const string NoTransferAdmin = "notification-admin-transfer-admin";
[TranslationReference] [TranslationReference]
const string EmptySlot = "empty-slot"; const string EmptySlot = "notification-empty-slot";
[TranslationReference("admin", "player")] [TranslationReference("admin", "player")]
const string MoveSpectators = "move-spectators"; const string MoveSpectators = "notification-move-spectators";
[TranslationReference("player", "name")] [TranslationReference("player", "name")]
const string Nick = "nick"; const string Nick = "notification-nick-changed";
[TranslationReference] [TranslationReference]
const string StateUnchangedReady = "state-unchanged-ready"; const string StateUnchangedReady = "notification-state-unchanged-ready";
[TranslationReference("command")] [TranslationReference("command")]
const string StateUnchangedGameStarted = "state-unchanged-game-started"; const string StateUnchangedGameStarted = "notification-state-unchanged-game-started";
[TranslationReference("faction")] [TranslationReference("faction")]
const string InvalidFactionSelected = "invalid-faction-selected"; const string InvalidFactionSelected = "notification-invalid-faction-selected";
[TranslationReference("factions")] [TranslationReference("factions")]
const string SupportedFactions = "supported-factions"; const string SupportedFactions = "notification-supported-factions";
[TranslationReference] [TranslationReference]
const string RequiresHost = "requires-host"; const string RequiresHost = "notification-requires-host";
[TranslationReference] [TranslationReference]
const string InvalidBotSlot = "invalid-bot-slot"; const string InvalidBotSlot = "notification-invalid-bot-slot";
[TranslationReference] [TranslationReference]
const string InvalidBotType = "invalid-bot-type"; const string InvalidBotType = "notification-invalid-bot-type";
[TranslationReference] [TranslationReference]
const string HostChangeMap = "only-host-change-map"; const string HostChangeMap = "notification-admin-change-map";
[TranslationReference] [TranslationReference]
const string UnknownMap = "unknown-map"; const string UnknownMap = "notification-unknown-map";
[TranslationReference] [TranslationReference]
const string SearchingMap = "searching-map"; const string SearchingMap = "notification-searching-map";
[TranslationReference] [TranslationReference]
const string NotAdmin = "only-host-change-configuration"; const string NotAdmin = "notification-admin-change-configuration";
[TranslationReference] [TranslationReference]
const string InvalidConfigurationCommand = "invalid-configuration-command"; const string InvalidConfigurationCommand = "notification-invalid-configuration-command";
[TranslationReference("option")] [TranslationReference("option")]
const string OptionLocked = "option-locked"; const string OptionLocked = "notification-option-locked";
[TranslationReference("player", "map")] [TranslationReference("player", "map")]
const string ChangedMap = "changed-map"; const string ChangedMap = "notification-changed-map";
[TranslationReference] [TranslationReference]
const string MapBotsDisabled = "map-bots-disabled"; const string MapBotsDisabled = "notification-map-bots-disabled";
[TranslationReference("player", "name", "value")] [TranslationReference("player", "name", "value")]
const string ValueChanged = "value-changed"; const string ValueChanged = "notification-option-changed";
[TranslationReference] [TranslationReference]
const string NoMoveSpectators = "only-host-move-spectators"; const string NoMoveSpectators = "notification-admin-move-spectators";
[TranslationReference] [TranslationReference]
const string AdminOption = "admin-option"; const string AdminOption = "notification-admin-option";
[TranslationReference("raw")] [TranslationReference("raw")]
const string NumberTeams = "number-teams"; const string NumberTeams = "notification-error-number-teams";
[TranslationReference] [TranslationReference]
const string AdminClearSpawn = "admin-clear-spawn"; const string AdminClearSpawn = "notification-admin-clear-spawn";
[TranslationReference] [TranslationReference]
const string SpawnOccupied = "spawn-occupied"; const string SpawnOccupied = "notification-spawn-occupied";
[TranslationReference] [TranslationReference]
const string SpawnLocked = "spawn-locked"; const string SpawnLocked = "notification-spawn-locked";
[TranslationReference] [TranslationReference]
const string AdminLobbyInfo = "admin-lobby-info"; const string AdminLobbyInfo = "notification-admin-lobby-info";
[TranslationReference] [TranslationReference]
const string InvalidLobbyInfo = "invalid-lobby-info"; const string InvalidLobbyInfo = "notification-invalid-lobby-info";
[TranslationReference] [TranslationReference]
const string AdminKick = "admin-kick"; const string AdminKick = "notification-admin-kick";
[TranslationReference] [TranslationReference]
const string SlotClosed = "slot-closed"; const string SlotClosed = "notification-slot-closed";
[TranslationReference("player")] [TranslationReference("player")]
const string NewAdmin = "new-admin"; const string NewAdmin = "notification-new-admin";
[TranslationReference] [TranslationReference]
const string YouWereKicked = "you-were-kicked"; const string YouWereKicked = "notification-you-were-kicked";
readonly IDictionary<string, Func<S, Connection, Session.Client, string, bool>> commandHandlers = new Dictionary<string, Func<S, Connection, Session.Client, string, bool>> readonly IDictionary<string, Func<S, Connection, Session.Client, string, bool>> commandHandlers = new Dictionary<string, Func<S, Connection, Session.Client, string, bool>>
{ {

View File

@@ -31,22 +31,22 @@ namespace OpenRA.Mods.Common.Server
const int RateLimitInterval = 1000; const int RateLimitInterval = 1000;
[TranslationReference] [TranslationReference]
const string NoPortForward = "no-port-forward"; const string NoPortForward = "notification-no-port-forward";
[TranslationReference] [TranslationReference]
const string BlacklistedTitle = "blacklisted-title"; const string BlacklistedTitle = "notification-blacklisted-server-name";
[TranslationReference] [TranslationReference]
const string InvalidErrorCode = "invalid-error-code"; const string InvalidErrorCode = "notification-invalid-error-code";
[TranslationReference] [TranslationReference]
const string Connected = "master-server-connected"; const string Connected = "notification-master-server-connected";
[TranslationReference] [TranslationReference]
const string Error = "master-server-error"; const string Error = "notification-master-server-error";
[TranslationReference] [TranslationReference]
const string GameOffline = "game-offline"; const string GameOffline = "notification-game-offline";
static readonly Beacon LanGameBeacon; static readonly Beacon LanGameBeacon;
static readonly Dictionary<int, string> MasterServerErrors = new Dictionary<int, string>() static readonly Dictionary<int, string> MasterServerErrors = new Dictionary<int, string>()

View File

@@ -19,16 +19,16 @@ namespace OpenRA.Mods.Common.Server
public class PlayerPinger : ServerTrait, ITick public class PlayerPinger : ServerTrait, ITick
{ {
[TranslationReference] [TranslationReference]
const string PlayerDropped = "player-dropped"; const string PlayerDropped = "notification-player-dropped";
[TranslationReference("player")] [TranslationReference("player")]
const string ConnectionProblems = "connection-problems"; const string ConnectionProblems = "notification-connection-problems";
[TranslationReference("player")] [TranslationReference("player")]
const string Timeout = "timeout"; const string Timeout = "notification-timeout-dropped";
[TranslationReference("player", "timeout")] [TranslationReference("player", "timeout")]
const string TimeoutIn = "timeout-in"; const string TimeoutIn = "notification-timeout-dropped-in";
static readonly int PingInterval = 5000; // Ping every 5 seconds static readonly int PingInterval = 5000; // Ping every 5 seconds
static readonly int ConnReportInterval = 20000; // Report every 20 seconds static readonly int ConnReportInterval = 20000; // Report every 20 seconds

View File

@@ -22,11 +22,11 @@ namespace OpenRA.Mods.Common.Traits
{ {
[TranslationReference] [TranslationReference]
[Desc("Descriptive label for the developer mode checkbox in the lobby.")] [Desc("Descriptive label for the developer mode checkbox in the lobby.")]
public readonly string CheckboxLabel = "debug-menu.label"; public readonly string CheckboxLabel = "checkbox-debug-menu.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the developer mode checkbox in the lobby.")] [Desc("Tooltip description for the developer mode checkbox in the lobby.")]
public readonly string CheckboxDescription = "debug-menu.description"; public readonly string CheckboxDescription = "checkbox-debug-menu.description";
[Desc("Default value of the developer mode checkbox in the lobby.")] [Desc("Default value of the developer mode checkbox in the lobby.")]
public readonly bool CheckboxEnabled = false; public readonly bool CheckboxEnabled = false;
@@ -75,7 +75,7 @@ namespace OpenRA.Mods.Common.Traits
public class DeveloperMode : IResolveOrder, ISync, INotifyCreated, IUnlocksRenderPlayer public class DeveloperMode : IResolveOrder, ISync, INotifyCreated, IUnlocksRenderPlayer
{ {
[TranslationReference("cheat", "player", "suffix")] [TranslationReference("cheat", "player", "suffix")]
const string CheatUsed = "cheat-used"; const string CheatUsed = "notification-cheat-used";
readonly DeveloperModeInfo info; readonly DeveloperModeInfo info;
public bool Enabled { get; private set; } public bool Enabled { get; private set; }

View File

@@ -31,7 +31,7 @@ namespace OpenRA.Mods.Common.Traits
const string CommandName = "custom-terrain"; const string CommandName = "custom-terrain";
[TranslationReference] [TranslationReference]
const string CommandDescription = "custom-terrain-debug-overlay-description"; const string CommandDescription = "description-custom-terrain-debug-overlay";
public bool Enabled; public bool Enabled;

View File

@@ -34,7 +34,7 @@ namespace OpenRA.Mods.Common.Traits
const string CommandName = "triggers"; const string CommandName = "triggers";
[TranslationReference] [TranslationReference]
const string CommandDescription = "cell-trigger-overlay-description"; const string CommandDescription = "description-cell-triggers-overlay";
bool enabled; bool enabled;

View File

@@ -23,13 +23,13 @@ namespace OpenRA.Mods.Common.Traits
public class ColorPickerManagerInfo : TraitInfo<ColorPickerManager>, IRulesetLoaded public class ColorPickerManagerInfo : TraitInfo<ColorPickerManager>, IRulesetLoaded
{ {
[TranslationReference] [TranslationReference]
const string PlayerColorTerrain = "player-color-terrain"; const string PlayerColorTerrain = "notification-player-color-terrain";
[TranslationReference] [TranslationReference]
const string PlayerColorPlayer = "player-color-player"; const string PlayerColorPlayer = "notification-player-color-player";
[TranslationReference] [TranslationReference]
const string InvalidPlayerColor = "invalid-player-color"; const string InvalidPlayerColor = "notification-invalid-player-color";
[Desc("Minimum and maximum saturation levels that are valid for use.")] [Desc("Minimum and maximum saturation levels that are valid for use.")]
public readonly float[] HsvSaturationRange = { 0.3f, 0.95f }; public readonly float[] HsvSaturationRange = { 0.3f, 0.95f };

View File

@@ -23,11 +23,11 @@ namespace OpenRA.Mods.Common.Traits
{ {
[TranslationReference] [TranslationReference]
[Desc("Descriptive label for the crates checkbox in the lobby.")] [Desc("Descriptive label for the crates checkbox in the lobby.")]
public readonly string CheckboxLabel = "crates.label"; public readonly string CheckboxLabel = "checkbox-crates.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the crates checkbox in the lobby.")] [Desc("Tooltip description for the crates checkbox in the lobby.")]
public readonly string CheckboxDescription = "crates.description"; public readonly string CheckboxDescription = "checkbox-crates.description";
[Desc("Default value of the crates checkbox in the lobby.")] [Desc("Default value of the crates checkbox in the lobby.")]
public readonly bool CheckboxEnabled = true; public readonly bool CheckboxEnabled = true;

View File

@@ -29,7 +29,7 @@ namespace OpenRA.Mods.Common.Traits
const string CommandName = "exits-overlay"; const string CommandName = "exits-overlay";
[TranslationReference] [TranslationReference]
const string CommandDescription = "exits-debug-overlay-description"; const string CommandDescription = "description-exits-overlay";
public readonly SpriteFont Font; public readonly SpriteFont Font;
public readonly ExitsDebugOverlayManagerInfo Info; public readonly ExitsDebugOverlayManagerInfo Info;

View File

@@ -37,7 +37,7 @@ namespace OpenRA.Mods.Common.Traits
const string CommandName = "hpf"; const string CommandName = "hpf";
[TranslationReference] [TranslationReference]
const string CommandDescription = "hpf-overlay-description"; const string CommandDescription = "description-hpf-debug-overlay";
readonly HierarchicalPathFinderOverlayInfo info; readonly HierarchicalPathFinderOverlayInfo info;
readonly SpriteFont font; readonly SpriteFont font;

View File

@@ -20,11 +20,11 @@ namespace OpenRA.Mods.Common.Traits
{ {
[TranslationReference] [TranslationReference]
[Desc("Descriptive label for the ally build radius checkbox in the lobby.")] [Desc("Descriptive label for the ally build radius checkbox in the lobby.")]
public readonly string AllyBuildRadiusCheckboxLabel = "ally-build-radius.label"; public readonly string AllyBuildRadiusCheckboxLabel = "checkbox-ally-build-radius.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the ally build radius checkbox in the lobby.")] [Desc("Tooltip description for the ally build radius checkbox in the lobby.")]
public readonly string AllyBuildRadiusCheckboxDescription = "ally-build-radius.description"; public readonly string AllyBuildRadiusCheckboxDescription = "checkbox-ally-build-radius.description";
[Desc("Default value of the ally build radius checkbox in the lobby.")] [Desc("Default value of the ally build radius checkbox in the lobby.")]
public readonly bool AllyBuildRadiusCheckboxEnabled = true; public readonly bool AllyBuildRadiusCheckboxEnabled = true;
@@ -40,11 +40,11 @@ namespace OpenRA.Mods.Common.Traits
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the build radius checkbox in the lobby.")] [Desc("Tooltip description for the build radius checkbox in the lobby.")]
public readonly string BuildRadiusCheckboxLabel = "build-radius.label"; public readonly string BuildRadiusCheckboxLabel = "checkbox-build-radius.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the build radius checkbox in the lobby.")] [Desc("Tooltip description for the build radius checkbox in the lobby.")]
public readonly string BuildRadiusCheckboxDescription = "build-radius.description"; public readonly string BuildRadiusCheckboxDescription = "checkbox-build-radius.description";
[Desc("Default value of the build radius checkbox in the lobby.")] [Desc("Default value of the build radius checkbox in the lobby.")]
public readonly bool BuildRadiusCheckboxEnabled = true; public readonly bool BuildRadiusCheckboxEnabled = true;

View File

@@ -20,11 +20,11 @@ namespace OpenRA.Mods.Common.Traits
{ {
[TranslationReference] [TranslationReference]
[Desc("Descriptive label for the creeps checkbox in the lobby.")] [Desc("Descriptive label for the creeps checkbox in the lobby.")]
public readonly string CheckboxLabel = "map-creeps.label"; public readonly string CheckboxLabel = "dropdown-map-creeps.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the creeps checkbox in the lobby.")] [Desc("Tooltip description for the creeps checkbox in the lobby.")]
public readonly string CheckboxDescription = "map-creeps.description"; public readonly string CheckboxDescription = "dropdown-map-creeps.description";
[Desc("Default value of the creeps checkbox in the lobby.")] [Desc("Default value of the creeps checkbox in the lobby.")]
public readonly bool CheckboxEnabled = true; public readonly bool CheckboxEnabled = true;

View File

@@ -21,11 +21,11 @@ namespace OpenRA.Mods.Common.Traits
{ {
[TranslationReference] [TranslationReference]
[Desc("Descriptive label for the short game checkbox in the lobby.")] [Desc("Descriptive label for the short game checkbox in the lobby.")]
public readonly string ShortGameCheckboxLabel = "short-game.label"; public readonly string ShortGameCheckboxLabel = "checkbox-short-game.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the short game checkbox in the lobby.")] [Desc("Tooltip description for the short game checkbox in the lobby.")]
public readonly string ShortGameCheckboxDescription = "short-game.description"; public readonly string ShortGameCheckboxDescription = "checkbox-short-game.description";
[Desc("Default value of the short game checkbox in the lobby.")] [Desc("Default value of the short game checkbox in the lobby.")]
public readonly bool ShortGameCheckboxEnabled = true; public readonly bool ShortGameCheckboxEnabled = true;
@@ -41,11 +41,11 @@ namespace OpenRA.Mods.Common.Traits
[TranslationReference] [TranslationReference]
[Desc("Descriptive label for the tech level option in the lobby.")] [Desc("Descriptive label for the tech level option in the lobby.")]
public readonly string TechLevelDropdownLabel = "tech-level.label"; public readonly string TechLevelDropdownLabel = "dropdown-tech-level.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the tech level option in the lobby.")] [Desc("Tooltip description for the tech level option in the lobby.")]
public readonly string TechLevelDropdownDescription = "tech-level.description"; public readonly string TechLevelDropdownDescription = "dropdown-tech-level.description";
[Desc("Default tech level.")] [Desc("Default tech level.")]
public readonly string TechLevel = "unrestricted"; public readonly string TechLevel = "unrestricted";
@@ -61,11 +61,11 @@ namespace OpenRA.Mods.Common.Traits
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the game speed option in the lobby.")] [Desc("Tooltip description for the game speed option in the lobby.")]
public readonly string GameSpeedDropdownLabel = "game-speed.label"; public readonly string GameSpeedDropdownLabel = "dropdown-game-speed.label";
[TranslationReference] [TranslationReference]
[Desc("Description of the game speed option in the lobby.")] [Desc("Description of the game speed option in the lobby.")]
public readonly string GameSpeedDropdownDescription = "game-speed.description"; public readonly string GameSpeedDropdownDescription = "dropdown-game-speed.description";
[Desc("Default game speed (leave empty to use the default defined in mod.yaml).")] [Desc("Default game speed (leave empty to use the default defined in mod.yaml).")]
public readonly string GameSpeed = null; public readonly string GameSpeed = null;

View File

@@ -27,11 +27,11 @@ namespace OpenRA.Mods.Common.Traits
[TranslationReference] [TranslationReference]
[Desc("Descriptive label for the spawn positions checkbox in the lobby.")] [Desc("Descriptive label for the spawn positions checkbox in the lobby.")]
public readonly string SeparateTeamSpawnsCheckboxLabel = "separate-team-spawns.label"; public readonly string SeparateTeamSpawnsCheckboxLabel = "checkbox-separate-team-spawns.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the spawn positions checkbox in the lobby.")] [Desc("Tooltip description for the spawn positions checkbox in the lobby.")]
public readonly string SeparateTeamSpawnsCheckboxDescription = "separate-team-spawns.description"; public readonly string SeparateTeamSpawnsCheckboxDescription = "checkbox-separate-team-spawns.description";
[Desc("Default value of the spawn positions checkbox in the lobby.")] [Desc("Default value of the spawn positions checkbox in the lobby.")]
public readonly bool SeparateTeamSpawnsCheckboxEnabled = true; public readonly bool SeparateTeamSpawnsCheckboxEnabled = true;

View File

@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Traits
const string CommandName = "path-debug"; const string CommandName = "path-debug";
[TranslationReference] [TranslationReference]
const string CommandDescription = "path-debug-description"; const string CommandDescription = "description-path-debug-overlay";
sealed class Record : PathSearch.IRecorder, IEnumerable<(CPos Source, CPos Destination, int CostSoFar, int EstimatedRemainingCost)> sealed class Record : PathSearch.IRecorder, IEnumerable<(CPos Source, CPos Destination, int CostSoFar, int EstimatedRemainingCost)>
{ {

View File

@@ -26,11 +26,11 @@ namespace OpenRA.Mods.Common.Traits
[TranslationReference] [TranslationReference]
[Desc("Descriptive label for the starting units option in the lobby.")] [Desc("Descriptive label for the starting units option in the lobby.")]
public readonly string DropdownLabel = "starting-units.label"; public readonly string DropdownLabel = "dropdown-starting-units.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description for the starting units option in the lobby.")] [Desc("Tooltip description for the starting units option in the lobby.")]
public readonly string DropdownDescription = "starting-units.description"; public readonly string DropdownDescription = "dropdown-starting-units.description";
[Desc("Prevent the starting units option from being changed in the lobby.")] [Desc("Prevent the starting units option from being changed in the lobby.")]
public readonly bool DropdownLocked = false; public readonly bool DropdownLocked = false;

View File

@@ -27,7 +27,7 @@ namespace OpenRA.Mods.Common.Traits
const string CommandName = "terrain-geometry"; const string CommandName = "terrain-geometry";
[TranslationReference] [TranslationReference]
const string CommandDescription = "terrain-geometry-overlay"; const string CommandDescription = "description-terrain-geometry-overlay";
public bool Enabled; public bool Enabled;

View File

@@ -23,11 +23,11 @@ namespace OpenRA.Mods.Common.Traits
{ {
[TranslationReference] [TranslationReference]
[Desc("Label that will be shown for the time limit option in the lobby.")] [Desc("Label that will be shown for the time limit option in the lobby.")]
public readonly string TimeLimitLabel = "time-limit.label"; public readonly string TimeLimitLabel = "dropdown-time-limit.label";
[TranslationReference] [TranslationReference]
[Desc("Tooltip description that will be shown for the time limit option in the lobby.")] [Desc("Tooltip description that will be shown for the time limit option in the lobby.")]
public readonly string TimeLimitDescription = "time-limit.description"; public readonly string TimeLimitDescription = "dropdown-time-limit.description";
[Desc("Time Limit options that will be shown in the lobby dropdown. Values are in minutes.")] [Desc("Time Limit options that will be shown in the lobby dropdown. Values are in minutes.")]
public readonly int[] TimeLimitOptions = { 0, 10, 20, 30, 40, 60, 90 }; public readonly int[] TimeLimitOptions = { 0, 10, 20, 30, 40, 60, 90 };
@@ -77,10 +77,10 @@ namespace OpenRA.Mods.Common.Traits
} }
[TranslationReference] [TranslationReference]
const string NoTimeLimit = "no-time-limit"; const string NoTimeLimit = "options-time-limit.no-limit";
[TranslationReference("minutes")] [TranslationReference("minutes")]
const string TimeLimitOption = "time-limit-options"; const string TimeLimitOption = "options-time-limit.options";
IEnumerable<LobbyOption> ILobbyOptions.LobbyOptions(MapPreview map) IEnumerable<LobbyOption> ILobbyOptions.LobbyOptions(MapPreview map)
{ {
@@ -102,7 +102,7 @@ namespace OpenRA.Mods.Common.Traits
public class TimeLimitManager : INotifyTimeLimit, ITick, IWorldLoaded public class TimeLimitManager : INotifyTimeLimit, ITick, IWorldLoaded
{ {
[TranslationReference] [TranslationReference]
const string TimeLimitExpired = "time-limit-expired"; const string TimeLimitExpired = "notification-time-limit-expired";
readonly TimeLimitManagerInfo info; readonly TimeLimitManagerInfo info;
readonly int ticksPerSecond; readonly int ticksPerSecond;

View File

@@ -35,10 +35,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
} }
[TranslationReference("length")] [TranslationReference("length")]
const string LengthInSeconds = "length-in-seconds"; const string LengthInSeconds = "label-length-in-seconds";
[TranslationReference] [TranslationReference]
const string AllPackages = "all-packages"; const string AllPackages = "label-all-packages";
readonly string[] allowedExtensions; readonly string[] allowedExtensions;
readonly string[] allowedSpriteExtensions; readonly string[] allowedSpriteExtensions;

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ConnectionLogic : ChromeLogic public class ConnectionLogic : ChromeLogic
{ {
[TranslationReference("endpoint")] [TranslationReference("endpoint")]
const string ConnectingToEndpoint = "connecting-to-endpoint"; const string ConnectingToEndpoint = "label-connecting-to-endpoint";
readonly Action onConnect; readonly Action onConnect;
readonly Action onAbort; readonly Action onAbort;
@@ -87,16 +87,16 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ConnectionFailedLogic : ChromeLogic public class ConnectionFailedLogic : ChromeLogic
{ {
[TranslationReference("target")] [TranslationReference("target")]
const string CouldNotConnectToTarget = "could-not-connect-to-target"; const string CouldNotConnectToTarget = "label-could-not-connect-to-target";
[TranslationReference] [TranslationReference]
const string UnknownError = "unknown-error"; const string UnknownError = "label-unknown-error";
[TranslationReference] [TranslationReference]
const string PasswordRequired = "password-required"; const string PasswordRequired = "label-password-required";
[TranslationReference] [TranslationReference]
const string ConnectionFailed = "connection-failed"; const string ConnectionFailed = "label-connection-failed";
readonly PasswordFieldWidget passwordField; readonly PasswordFieldWidget passwordField;
bool passwordOffsetAdjusted; bool passwordOffsetAdjusted;
@@ -171,7 +171,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ConnectionSwitchModLogic : ChromeLogic public class ConnectionSwitchModLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string ModSwitchFailed = "mod-switch-failed"; const string ModSwitchFailed = "notification-mod-switch-failed";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ConnectionSwitchModLogic(Widget widget, OrderManager orderManager, NetworkConnection connection, Action onAbort, Action<string> onRetry) public ConnectionSwitchModLogic(Widget widget, OrderManager orderManager, NetworkConnection connection, Action onAbort, Action<string> onRetry)

View File

@@ -21,13 +21,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ActorEditLogic : ChromeLogic public class ActorEditLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string DuplicateActorId = "duplicate-actor-id"; const string DuplicateActorId = "label-duplicate-actor-id";
[TranslationReference] [TranslationReference]
const string EnterActorId = "enter-actor-id"; const string EnterActorId = "label-actor-id";
[TranslationReference] [TranslationReference]
const string Owner = "owner"; const string Owner = "label-actor-owner";
// Error states define overlapping bits to simplify panel reflow logic // Error states define overlapping bits to simplify panel reflow logic
[Flags] [Flags]

View File

@@ -21,8 +21,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ActorSelectorLogic : CommonSelectorLogic public class ActorSelectorLogic : CommonSelectorLogic
{ {
[TranslationReference] [TranslationReference("actorType")]
const string Type = "type"; const string ActorTypeTooltip = "label-actor-type";
class ActorSelectorActor class ActorSelectorActor
{ {
@@ -115,8 +115,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
if (tooltip != null) if (tooltip != null)
searchTerms.Add(tooltip.Name); searchTerms.Add(tooltip.Name);
var type = modData.Translation.GetString(Type); var actorType = modData.Translation.GetString(ActorTypeTooltip, Translation.Arguments("actorType", a.Name));
var tooltipText = (tooltip == null ? $"{type}: " : tooltip.Name + $"\n{type}: ") + a.Name; var tooltipText = tooltip == null ? actorType : tooltip.Name + $"\n{actorType}";
allActorsTemp.Add(new ActorSelectorActor(a, editorData.Categories, searchTerms.ToArray(), tooltipText)); allActorsTemp.Add(new ActorSelectorActor(a, editorData.Categories, searchTerms.ToArray(), tooltipText));
} }

View File

@@ -20,16 +20,16 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public abstract class CommonSelectorLogic : ChromeLogic public abstract class CommonSelectorLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string None = "none"; const string None = "options-common-selector.none";
[TranslationReference] [TranslationReference]
const string SearchResults = "search-results"; const string SearchResults = "options-common-selector.search-results";
[TranslationReference] [TranslationReference]
const string All = "all"; const string All = "options-common-selector.all";
[TranslationReference] [TranslationReference]
const string Multiple = "multiple"; const string Multiple = "options-common-selector.multiple";
protected readonly Widget Widget; protected readonly Widget Widget;
protected readonly ModData ModData; protected readonly ModData ModData;

View File

@@ -43,34 +43,34 @@ namespace OpenRA.Mods.Common.Widgets.Logic
} }
[TranslationReference] [TranslationReference]
const string SaveMapFailedTitle = "save-map-failed-title"; const string SaveMapFailedTitle = "dialog-save-map-failed.title";
[TranslationReference] [TranslationReference]
const string SaveMapFailedPrompt = "save-map-failed-prompt"; const string SaveMapFailedPrompt = "dialog-save-map-failed.prompt";
[TranslationReference] [TranslationReference]
const string SaveMapFailedAccept = "save-map-failed-accept"; const string SaveMapFailedAccept = "dialog-save-map-failed.confirm";
[TranslationReference] [TranslationReference]
const string Unpacked = "unpacked"; const string Unpacked = "label-unpacked-map";
[TranslationReference] [TranslationReference]
const string OverwriteMapFailedTitle = "overwrite-map-failed-title"; const string OverwriteMapFailedTitle = "dialog-overwrite-map-failed.title";
[TranslationReference] [TranslationReference]
const string OverwriteMapFailedPrompt = "overwrite-map-failed-prompt"; const string OverwriteMapFailedPrompt = "dialog-overwrite-map-failed.prompt";
[TranslationReference] [TranslationReference]
const string SaveMapFailedConfirm = "overwrite-map-failed-confirm"; const string SaveMapFailedConfirm = "dialog-overwrite-map-failed.confirm";
[TranslationReference] [TranslationReference]
const string OverwriteMapOutsideEditTitle = "overwrite-map-outside-edit-title"; const string OverwriteMapOutsideEditTitle = "dialog-overwrite-map-outside-edit.title";
[TranslationReference] [TranslationReference]
const string OverwriteMapOutsideEditPrompt = "overwrite-map-outside-edit-prompt"; const string OverwriteMapOutsideEditPrompt = "dialog-overwrite-map-outside-edit.prompt";
[TranslationReference] [TranslationReference]
const string SaveMapMapOutsideConfirm = "overwrite-map-outside-edit-confirm"; const string SaveMapMapOutsideConfirm = "dialog-overwrite-map-outside-edit.confirm";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public SaveMapLogic(Widget widget, ModData modData, Action<string> onSave, Action onExit, public SaveMapLogic(Widget widget, ModData modData, Action<string> onSave, Action onExit,

View File

@@ -21,43 +21,43 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class GameSaveBrowserLogic : ChromeLogic public class GameSaveBrowserLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string RenameSaveTitle = "rename-save-title"; const string RenameSaveTitle = "dialog-rename-save.title";
[TranslationReference] [TranslationReference]
const string RenameSavePrompt = "rename-save-prompt"; const string RenameSavePrompt = "dialog-rename-save.prompt";
[TranslationReference] [TranslationReference]
const string RenameSaveAccept = "rename-save-accept"; const string RenameSaveAccept = "dialog-rename-save.confirm";
[TranslationReference] [TranslationReference]
const string DeleteSaveTitle = "delete-save-title"; const string DeleteSaveTitle = "dialog-delete-save.title";
[TranslationReference("save")] [TranslationReference("save")]
const string DeleteSavePrompt = "delete-save-prompt"; const string DeleteSavePrompt = "dialog-delete-save.prompt";
[TranslationReference] [TranslationReference]
const string DeleteSaveAccept = "delete-save-accept"; const string DeleteSaveAccept = "dialog-delete-save.confirm";
[TranslationReference] [TranslationReference]
const string DeleteAllSavesTitle = "delete-all-saves-title"; const string DeleteAllSavesTitle = "dialog-delete-all-saves.title";
[TranslationReference("count")] [TranslationReference("count")]
const string DeleteAllSavesPrompt = "delete-all-saves-prompt"; const string DeleteAllSavesPrompt = "dialog-delete-all-saves.prompt";
[TranslationReference] [TranslationReference]
const string DeleteAllSavesAccept = "delete-all-saves-accept"; const string DeleteAllSavesAccept = "dialog-delete-all-saves.confirm";
[TranslationReference("savePath")] [TranslationReference("savePath")]
const string SaveDeletionFailed = "save-deletion-failed"; const string SaveDeletionFailed = "notification-save-deletion-failed";
[TranslationReference] [TranslationReference]
const string OverwriteSaveTitle = "overwrite-save-title"; const string OverwriteSaveTitle = "dialog-overwrite-save.title";
[TranslationReference("file")] [TranslationReference("file")]
const string OverwriteSavePrompt = "overwrite-save-prompt"; const string OverwriteSavePrompt = "dialog-overwrite-save.prompt";
[TranslationReference] [TranslationReference]
const string OverwriteSaveAccpet = "overwrite-save-accept"; const string OverwriteSaveAccpet = "dialog-overwrite-save.confirm";
readonly Widget panel; readonly Widget panel;
readonly ScrollPanelWidget gameList; readonly ScrollPanelWidget gameList;

View File

@@ -23,19 +23,19 @@ namespace OpenRA.Mods.Common.Widgets.Logic
class GameInfoLogic : ChromeLogic class GameInfoLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string Objectives = "objectives"; const string Objectives = "menu-game-info.objectives";
[TranslationReference] [TranslationReference]
const string Briefing = "briefing"; const string Briefing = "menu-game-info.briefing";
[TranslationReference] [TranslationReference]
const string Options = "options"; const string Options = "menu-game-info.options";
[TranslationReference] [TranslationReference]
const string Debug = "debug"; const string Debug = "menu-game-info.debug";
[TranslationReference] [TranslationReference]
const string Chat = "chat"; const string Chat = "menu-game-info.chat";
readonly World world; readonly World world;
readonly ModData modData; readonly ModData modData;

View File

@@ -20,13 +20,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
class GameInfoObjectivesLogic : ChromeLogic class GameInfoObjectivesLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string InProgress = "in-progress"; const string InProgress = "label-mission-in-progress";
[TranslationReference] [TranslationReference]
const string Accomplished = "accomplished"; const string Accomplished = "label-mission-accomplished";
[TranslationReference] [TranslationReference]
const string Failed = "failed"; const string Failed = "label-mission-failed";
readonly ContainerWidget template; readonly ContainerWidget template;

View File

@@ -23,40 +23,40 @@ namespace OpenRA.Mods.Common.Widgets.Logic
class GameInfoStatsLogic : ChromeLogic class GameInfoStatsLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string Unmute = "unmute"; const string Unmute = "label-unmute-player";
[TranslationReference] [TranslationReference]
const string Mute = "mute"; const string Mute = "label-mute-player";
[TranslationReference] [TranslationReference]
const string Accomplished = "accomplished"; const string Accomplished = "label-mission-accomplished";
[TranslationReference] [TranslationReference]
const string Failed = "failed"; const string Failed = "label-mission-failed";
[TranslationReference] [TranslationReference]
const string InProgress = "in-progress"; const string InProgress = "label-mission-in-progress";
[TranslationReference("team")] [TranslationReference("team")]
const string TeamNumber = "team-number"; const string TeamNumber = "label-team-name";
[TranslationReference] [TranslationReference]
const string NoTeam = "no-team"; const string NoTeam = "label-no-team";
[TranslationReference] [TranslationReference]
const string Spectators = "spectators"; const string Spectators = "label-spectators";
[TranslationReference] [TranslationReference]
const string Gone = "gone"; const string Gone = "label-client-state-disconnected";
[TranslationReference("player")] [TranslationReference("player")]
const string KickTitle = "kick-title"; const string KickTitle = "dialog-kick.title";
[TranslationReference] [TranslationReference]
const string KickPrompt = "kick-prompt"; const string KickPrompt = "dialog-kick.prompt";
[TranslationReference] [TranslationReference]
const string KickAccept = "kick-accept"; const string KickAccept = "dialog-kick.confirm";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameInfoStatsLogic(Widget widget, ModData modData, World world, OrderManager orderManager, WorldRenderer worldRenderer, Action<bool> hideMenu) public GameInfoStatsLogic(Widget widget, ModData modData, World world, OrderManager orderManager, WorldRenderer worldRenderer, Action<bool> hideMenu)

View File

@@ -19,16 +19,16 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class GameTimerLogic : ChromeLogic public class GameTimerLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string Paused = "paused"; const string Paused = "label-paused";
[TranslationReference] [TranslationReference]
const string MaxSpeed = "max-speed"; const string MaxSpeed = "label-max-speed";
[TranslationReference("percentage")] [TranslationReference("percentage")]
const string Speed = "speed"; const string Speed = "label-replay-speed";
[TranslationReference("percentage")] [TranslationReference("percentage")]
const string Complete = "complete"; const string Complete = "label-replay-complete";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameTimerLogic(Widget widget, ModData modData, OrderManager orderManager, World world) public GameTimerLogic(Widget widget, ModData modData, OrderManager orderManager, World world)

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class IngameCashCounterLogic : ChromeLogic public class IngameCashCounterLogic : ChromeLogic
{ {
[TranslationReference("usage", "capacity")] [TranslationReference("usage", "capacity")]
const string SiloUsage = "silo-usage"; const string SiloUsage = "label-silo-usage";
const float DisplayFracPerFrame = .07f; const float DisplayFracPerFrame = .07f;
const int DisplayDeltaPerFrame = 37; const int DisplayDeltaPerFrame = 37;

View File

@@ -24,16 +24,16 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class IngameChatLogic : ChromeLogic, INotificationHandler<TextNotification> public class IngameChatLogic : ChromeLogic, INotificationHandler<TextNotification>
{ {
[TranslationReference] [TranslationReference]
const string Team = "team"; const string TeamChat = "button-team-chat";
[TranslationReference] [TranslationReference]
const string All = "all"; const string GeneralChat = "button-general-chat";
[TranslationReference("seconds")] [TranslationReference("seconds")]
const string ChatAvailability = "chat-availability"; const string ChatAvailability = "label-chat-availability";
[TranslationReference] [TranslationReference]
const string ChatDisabled = "chat-disabled"; const string ChatDisabled = "label-chat-disabled";
readonly Ruleset modRules; readonly Ruleset modRules;
readonly World world; readonly World world;
@@ -70,8 +70,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var disableTeamChat = alwaysDisabled || (world.LocalPlayer != null && !players.Any(p => p.IsAlliedWith(world.LocalPlayer))); var disableTeamChat = alwaysDisabled || (world.LocalPlayer != null && !players.Any(p => p.IsAlliedWith(world.LocalPlayer)));
var teamChat = !disableTeamChat; var teamChat = !disableTeamChat;
var teamMessage = modData.Translation.GetString(Team); var teamMessage = modData.Translation.GetString(TeamChat);
var allMessage = modData.Translation.GetString(All); var allMessage = modData.Translation.GetString(GeneralChat);
chatDisabled = modData.Translation.GetString(ChatDisabled); chatDisabled = modData.Translation.GetString(ChatDisabled);

View File

@@ -22,100 +22,100 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class IngameMenuLogic : ChromeLogic public class IngameMenuLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string Leave = "leave"; const string Leave = "menu-ingame.leave";
[TranslationReference] [TranslationReference]
const string AbortMission = "abort-mission"; const string AbortMission = "menu-ingame.abort";
[TranslationReference] [TranslationReference]
const string LeaveMissionTitle = "leave-mission-title"; const string LeaveMissionTitle = "dialog-leave-mission.title";
[TranslationReference] [TranslationReference]
const string LeaveMissionPrompt = "leave-mission-prompt"; const string LeaveMissionPrompt = "dialog-leave-mission.prompt";
[TranslationReference] [TranslationReference]
const string LeaveMissionAccept = "leave-mission-accept"; const string LeaveMissionAccept = "dialog-leave-mission.confirm";
[TranslationReference] [TranslationReference]
const string LeaveMissionCancel = "leave-mission-cancel"; const string LeaveMissionCancel = "dialog-leave-mission.cancel";
[TranslationReference] [TranslationReference]
const string RestartButton = "restart-button"; const string RestartButton = "menu-ingame.restart";
[TranslationReference] [TranslationReference]
const string RestartMissionTitle = "restart-mission-title"; const string RestartMissionTitle = "dialog-restart-mission.title";
[TranslationReference] [TranslationReference]
const string RestartMissionPrompt = "restart-mission-prompt"; const string RestartMissionPrompt = "dialog-restart-mission.prompt";
[TranslationReference] [TranslationReference]
const string RestartMissionAccept = "restart-mission-accept"; const string RestartMissionAccept = "dialog-restart-mission.confirm";
[TranslationReference] [TranslationReference]
const string RestartMissionCancel = "restart-mission-cancel"; const string RestartMissionCancel = "dialog-restart-mission.cancel";
[TranslationReference] [TranslationReference]
const string SurrenderButton = "surrender-button"; const string SurrenderButton = "menu-ingame.surrender";
[TranslationReference] [TranslationReference]
const string SurrenderTitle = "surrender-title"; const string SurrenderTitle = "dialog-surrender.title";
[TranslationReference] [TranslationReference]
const string SurrenderPrompt = "surrender-prompt"; const string SurrenderPrompt = "dialog-surrender.prompt";
[TranslationReference] [TranslationReference]
const string SurrenderAccept = "surrender-accept"; const string SurrenderAccept = "dialog-surrender.confirm";
[TranslationReference] [TranslationReference]
const string SurrenderCancel = "surrender-cancel"; const string SurrenderCancel = "dialog-surrender.cancel";
[TranslationReference] [TranslationReference]
const string LoadGameButton = "load-game-button"; const string LoadGameButton = "menu-ingame.load-game";
[TranslationReference] [TranslationReference]
const string SaveGameButton = "save-game-button"; const string SaveGameButton = "menu-ingame.save-game";
[TranslationReference] [TranslationReference]
const string MusicButton = "music-button"; const string MusicButton = "menu-ingame.music";
[TranslationReference] [TranslationReference]
const string SettingsButton = "settings-button"; const string SettingsButton = "menu-ingame.settings";
[TranslationReference] [TranslationReference]
const string ReturnToMap = "return-to-map"; const string ReturnToMap = "menu-ingame.return-to-map";
[TranslationReference] [TranslationReference]
const string Resume = "resume"; const string Resume = "menu-ingame.resume";
[TranslationReference] [TranslationReference]
const string SaveMapButton = "save-map-button"; const string SaveMapButton = "menu-ingame.save-map";
[TranslationReference] [TranslationReference]
const string ErrorMaxPlayerTitle = "error-max-player-title"; const string ErrorMaxPlayerTitle = "dialog-error-max-player.title";
[TranslationReference("players", "max")] [TranslationReference("players", "max")]
const string ErrorMaxPlayerPrompt = "error-max-player-prompt"; const string ErrorMaxPlayerPrompt = "dialog-error-max-player.prompt";
[TranslationReference] [TranslationReference]
const string ErrorMaxPlayerAccept = "error-max-player-accept"; const string ErrorMaxPlayerAccept = "dialog-error-max-player.confirm";
[TranslationReference] [TranslationReference]
const string ExitMapButton = "exit-map-button"; const string ExitMapButton = "menu-ingame.exit-map";
[TranslationReference] [TranslationReference]
const string ExitMapEditorTitle = "exit-map-editor-title"; const string ExitMapEditorTitle = "dialog-exit-map-editor.title";
[TranslationReference] [TranslationReference]
const string ExitMapEditorPromptUnsaved = "exit-map-editor-prompt-unsaved"; const string ExitMapEditorPromptUnsaved = "dialog-exit-map-editor.prompt-unsaved";
[TranslationReference] [TranslationReference]
const string ExitMapEditorPromptDeleted = "exit-map-editor-prompt-deleted"; const string ExitMapEditorPromptDeleted = "dialog-exit-map-editor.prompt-deleted";
[TranslationReference] [TranslationReference]
const string ExitMapEditorAnywayConfirm = "exit-map-editor-confirm-anyway"; const string ExitMapEditorAnywayConfirm = "dialog-exit-map-editor.confirm-anyway";
[TranslationReference] [TranslationReference]
const string ExitMapEditorConfirm = "exit-map-editor-confirm"; const string ExitMapEditorConfirm = "dialog-exit-map-editor.confirm";
readonly Widget menu; readonly Widget menu;
readonly Widget buttonContainer; readonly Widget buttonContainer;

View File

@@ -18,10 +18,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class IngamePowerBarLogic : ChromeLogic public class IngamePowerBarLogic : ChromeLogic
{ {
[TranslationReference("usage", "capacity")] [TranslationReference("usage", "capacity")]
const string PowerUsage = "power-usage"; const string PowerUsage = "label-power-usage";
[TranslationReference] [TranslationReference]
const string Infinite = "infinite-power"; const string Infinite = "label-infinite-power";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngamePowerBarLogic(Widget widget, ModData modData, World world) public IngamePowerBarLogic(Widget widget, ModData modData, World world)

View File

@@ -18,10 +18,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class IngamePowerCounterLogic : ChromeLogic public class IngamePowerCounterLogic : ChromeLogic
{ {
[TranslationReference("usage", "capacity")] [TranslationReference("usage", "capacity")]
const string PowerUsage = "power-usage"; const string PowerUsage = "label-power-usage";
[TranslationReference] [TranslationReference]
const string Infinite = "infinite-power"; const string Infinite = "label-infinite-power";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngamePowerCounterLogic(Widget widget, ModData modData, World world) public IngamePowerCounterLogic(Widget widget, ModData modData, World world)

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class IngameSiloBarLogic : ChromeLogic public class IngameSiloBarLogic : ChromeLogic
{ {
[TranslationReference("usage", "capacity")] [TranslationReference("usage", "capacity")]
const string SiloUsage = "silo-usage"; const string SiloUsage = "label-silo-usage";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngameSiloBarLogic(Widget widget, ModData modData, World world) public IngameSiloBarLogic(Widget widget, ModData modData, World world)

View File

@@ -24,22 +24,22 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ObserverShroudSelectorLogic : ChromeLogic public class ObserverShroudSelectorLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string CameraOptionAllPlayers = "camera-option-all-players"; const string CameraOptionAllPlayers = "options-shroud-selector.all-players";
[TranslationReference] [TranslationReference]
const string CameraOptionDisableShroud = "camera-option-disable-shroud"; const string CameraOptionDisableShroud = "options-shroud-selector.disable-shroud";
[TranslationReference] [TranslationReference]
const string CameraOptionOther = "camera-option-other"; const string CameraOptionOther = "options-shroud-selector.other";
[TranslationReference] [TranslationReference]
const string Players = "players"; const string Players = "label-players";
[TranslationReference("team")] [TranslationReference("team")]
const string TeamNumber = "team-number"; const string TeamNumber = "label-team-name";
[TranslationReference] [TranslationReference]
const string NoTeam = "no-team"; const string NoTeam = "label-no-team";
readonly CameraOption combined, disableShroud; readonly CameraOption combined, disableShroud;
readonly IOrderedEnumerable<IGrouping<int, CameraOption>> teams; readonly IOrderedEnumerable<IGrouping<int, CameraOption>> teams;

View File

@@ -28,37 +28,37 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ObserverStatsLogic : ChromeLogic public class ObserverStatsLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string InformationNone = "information-none"; const string InformationNone = "options-observer-stats.none";
[TranslationReference] [TranslationReference]
const string Basic = "basic"; const string Basic = "options-observer-stats.basic";
[TranslationReference] [TranslationReference]
const string Economy = "economy"; const string Economy = "options-observer-stats.economy";
[TranslationReference] [TranslationReference]
const string Production = "production"; const string Production = "options-observer-stats.production";
[TranslationReference] [TranslationReference]
const string SupportPowers = "support-powers"; const string SupportPowers = "options-observer-stats.support-powers";
[TranslationReference] [TranslationReference]
const string Combat = "combat"; const string Combat = "options-observer-stats.combat";
[TranslationReference] [TranslationReference]
const string Army = "army"; const string Army = "options-observer-stats.army";
[TranslationReference] [TranslationReference]
const string EarningsGraph = "earnings-graph"; const string EarningsGraph = "options-observer-stats.earnings-graph";
[TranslationReference] [TranslationReference]
const string ArmyGraph = "army-graph"; const string ArmyGraph = "options-observer-stats.army-graph";
[TranslationReference("team")] [TranslationReference("team")]
const string TeamNumber = "team-number"; const string TeamNumber = "label-team-name";
[TranslationReference] [TranslationReference]
const string NoTeam = "no-team"; const string NoTeam = "label-no-team";
readonly ContainerWidget basicStatsHeaders; readonly ContainerWidget basicStatsHeaders;
readonly ContainerWidget economyStatsHeaders; readonly ContainerWidget economyStatsHeaders;

View File

@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class WorldTooltipLogic : ChromeLogic public class WorldTooltipLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string UnrevealedTerrain = "unrevealed-terrain"; const string UnrevealedTerrain = "label-unrevealed-terrain";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public WorldTooltipLogic(Widget widget, ModData modData, World world, TooltipContainerWidget tooltipContainer, ViewportControllerWidget viewport) public WorldTooltipLogic(Widget widget, ModData modData, World world, TooltipContainerWidget tooltipContainer, ViewportControllerWidget viewport)

View File

@@ -24,37 +24,37 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class DownloadPackageLogic : ChromeLogic public class DownloadPackageLogic : ChromeLogic
{ {
[TranslationReference("title")] [TranslationReference("title")]
const string Downloading = "downloading"; const string Downloading = "label-downloading";
[TranslationReference] [TranslationReference]
const string FetchingMirrorList = "fetching-mirror-list"; const string FetchingMirrorList = "label-fetching-mirror-list";
[TranslationReference] [TranslationReference]
const string UnknownHost = "unknown-host"; const string UnknownHost = "label-unknown-host";
[TranslationReference("host", "received", "suffix")] [TranslationReference("host", "received", "suffix")]
const string DownloadingFrom = "downloading-from"; const string DownloadingFrom = "label-downloading-from";
[TranslationReference("host", "received", "total", "suffix", "progress")] [TranslationReference("host", "received", "total", "suffix", "progress")]
const string DownloadingFromProgress = "downloading-from-progress"; const string DownloadingFromProgress = "label-downloading-from-progress";
[TranslationReference] [TranslationReference]
const string VerifyingArchive = "verifying-archive"; const string VerifyingArchive = "label-verifying-archive";
[TranslationReference] [TranslationReference]
const string ArchiveValidationFailed = "archive-validation-failed"; const string ArchiveValidationFailed = "label-archive-validation-failed";
[TranslationReference] [TranslationReference]
const string Extracting = "extracting"; const string Extracting = "label-extracting-archive";
[TranslationReference("entry")] [TranslationReference("entry")]
const string ExtractingEntry = "extracting-entry"; const string ExtractingEntry = "label-extracting-archive-entry";
[TranslationReference] [TranslationReference]
const string ArchiveExtractionFailed = "archive-extraction-failed"; const string ArchiveExtractionFailed = "label-archive-extraction-failed";
[TranslationReference] [TranslationReference]
const string MirrorSelectionFailed = "mirror-selection-failed"; const string MirrorSelectionFailed = "label-mirror-selection-failed";
static readonly string[] SizeSuffixes = { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" }; static readonly string[] SizeSuffixes = { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };

View File

@@ -22,61 +22,61 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class InstallFromSourceLogic : ChromeLogic public class InstallFromSourceLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string DetectingSources = "detecting-sources"; const string DetectingSources = "label-detecting-sources";
[TranslationReference] [TranslationReference]
const string CheckingSources = "checking-sources"; const string CheckingSources = "label-checking-sources";
[TranslationReference("title")] [TranslationReference("title")]
const string SearchingSourceFor = "searching-source-for"; const string SearchingSourceFor = "label-searching-source-for";
[TranslationReference] [TranslationReference]
const string ContentPackageInstallation = "content-package-installation"; const string ContentPackageInstallation = "label-content-package-installation";
[TranslationReference] [TranslationReference]
const string GameSources = "game-sources"; const string GameSources = "label-game-sources";
[TranslationReference] [TranslationReference]
const string DigitalInstalls = "digital-installs"; const string DigitalInstalls = "label-digital-installs";
[TranslationReference] [TranslationReference]
const string GameContentNotFound = "game-content-not-found"; const string GameContentNotFound = "label-game-content-not-found";
[TranslationReference] [TranslationReference]
const string AlternativeContentSources = "alternative-content-sources"; const string AlternativeContentSources = "label-alternative-content-sources";
[TranslationReference] [TranslationReference]
const string InstallingContent = "installing-content"; const string InstallingContent = "label-installing-content";
[TranslationReference("filename")] [TranslationReference("filename")]
public const string CopyingFilename = "copying-filename"; public const string CopyingFilename = "label-copying-filename";
[TranslationReference("filename", "progress")] [TranslationReference("filename", "progress")]
public const string CopyingFilenameProgress = "copying-filename-progress"; public const string CopyingFilenameProgress = "label-copying-filename-progress";
[TranslationReference] [TranslationReference]
const string InstallationFailed = "installation-failed"; const string InstallationFailed = "label-installation-failed";
[TranslationReference] [TranslationReference]
const string CheckInstallLog = "check-install-log"; const string CheckInstallLog = "label-check-install-log";
[TranslationReference("filename")] [TranslationReference("filename")]
public const string Extracing = "extracting-filename"; public const string Extracing = "label-extracting-filename";
[TranslationReference("filename", "progress")] [TranslationReference("filename", "progress")]
public const string ExtracingProgress = "extracting-filename-progress"; public const string ExtracingProgress = "label-extracting-filename-progress";
[TranslationReference] [TranslationReference]
public const string Continue = "continue"; public const string Continue = "button-continue";
[TranslationReference] [TranslationReference]
const string Cancel = "cancel"; const string Cancel = "button-cancel";
[TranslationReference] [TranslationReference]
const string Retry = "retry"; const string Retry = "button-retry";
[TranslationReference] [TranslationReference]
const string Back = "back"; const string Back = "button-back";
// Hide percentage indicators for files smaller than 25 MB // Hide percentage indicators for files smaller than 25 MB
public const int ShowPercentageThreshold = 26214400; public const int ShowPercentageThreshold = 26214400;

View File

@@ -21,7 +21,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ModContentLogic : ChromeLogic public class ModContentLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string ManualInstall = "manual-install"; const string ManualInstall = "button-manual-install";
readonly ModData modData; readonly ModData modData;
readonly ModContent content; readonly ModContent content;

View File

@@ -21,10 +21,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ModContentPromptLogic : ChromeLogic public class ModContentPromptLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string Continue = "continue"; const string Continue = "button-continue";
[TranslationReference] [TranslationReference]
const string Quit = "quit"; const string Quit = "button-quit";
readonly ModContent content; readonly ModContent content;
bool requiredContentInstalled; bool requiredContentInstalled;

View File

@@ -22,10 +22,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
const int IntroductionVersion = 1; const int IntroductionVersion = 1;
[TranslationReference] [TranslationReference]
const string Classic = "classic"; const string Classic = "options-control-scheme.classic";
[TranslationReference] [TranslationReference]
const string Modern = "modern"; const string Modern = "options-control-scheme.modern";
readonly string classic; readonly string classic;
readonly string modern; readonly string modern;

View File

@@ -17,7 +17,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
class KickClientLogic : ChromeLogic class KickClientLogic : ChromeLogic
{ {
[TranslationReference("player")] [TranslationReference("player")]
const string KickClient = "kick-client"; const string KickClient = "dialog-kick-client.prompt";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public KickClientLogic(ModData modData, Widget widget, string clientName, Action<bool> okPressed, Action cancelPressed) public KickClientLogic(ModData modData, Widget widget, string clientName, Action<bool> okPressed, Action cancelPressed)

View File

@@ -17,7 +17,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
class KickSpectatorsLogic : ChromeLogic class KickSpectatorsLogic : ChromeLogic
{ {
[TranslationReference("count")] [TranslationReference("count")]
const string KickSpectators = "kick-spectators"; const string KickSpectators = "dialog-kick-spectators.prompt";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public KickSpectatorsLogic(ModData modData, Widget widget, int clientCount, Action okPressed, Action cancelPressed) public KickSpectatorsLogic(ModData modData, Widget widget, int clientCount, Action okPressed, Action cancelPressed)

View File

@@ -23,40 +23,40 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class LobbyLogic : ChromeLogic, INotificationHandler<TextNotification> public class LobbyLogic : ChromeLogic, INotificationHandler<TextNotification>
{ {
[TranslationReference] [TranslationReference]
const string Add = "add"; const string Add = "options-slot-admin.add-bots";
[TranslationReference] [TranslationReference]
const string Remove = "remove"; const string Remove = "options-slot-admin.remove-bots";
[TranslationReference] [TranslationReference]
const string ConfigureBots = "configure-bots"; const string ConfigureBots = "options-slot-admin.configure-bots";
[TranslationReference("count")] [TranslationReference("count")]
const string NumberTeams = "n-teams"; const string NumberTeams = "options-slot-admin.teams-count";
[TranslationReference] [TranslationReference]
const string HumanVsBots = "humans-vs-bots"; const string HumanVsBots = "options-slot-admin.humans-vs-bots";
[TranslationReference] [TranslationReference]
const string FreeForAll = "free-for-all"; const string FreeForAll = "options-slot-admin.free-for-all";
[TranslationReference] [TranslationReference]
const string ConfigureTeams = "configure-teams"; const string ConfigureTeams = "options-slot-admin.configure-teams";
[TranslationReference] [TranslationReference]
const string Back = "back"; const string Back = "button-back";
[TranslationReference] [TranslationReference]
const string Team = "team"; const string TeamChat = "button-team-chat";
[TranslationReference] [TranslationReference]
const string All = "all"; const string GeneralChat = "button-general-chat";
[TranslationReference("seconds")] [TranslationReference("seconds")]
const string ChatAvailability = "chat-availability"; const string ChatAvailability = "label-chat-availability";
[TranslationReference] [TranslationReference]
const string ChatDisabled = "chat-disabled"; const string ChatDisabled = "label-chat-disabled";
static readonly Action DoNothing = () => { }; static readonly Action DoNothing = () => { };
@@ -454,8 +454,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
} }
var chatMode = lobby.Get<ButtonWidget>("CHAT_MODE"); var chatMode = lobby.Get<ButtonWidget>("CHAT_MODE");
var team = modData.Translation.GetString(Team); var team = modData.Translation.GetString(TeamChat);
var all = modData.Translation.GetString(All); var all = modData.Translation.GetString(GeneralChat);
chatMode.GetText = () => teamChat ? team : all; chatMode.GetText = () => teamChat ? team : all;
chatMode.OnClick = () => teamChat ^= true; chatMode.OnClick = () => teamChat ^= true;
chatMode.IsDisabled = () => disableTeamChat || !chatEnabled; chatMode.IsDisabled = () => disableTeamChat || !chatEnabled;

View File

@@ -21,7 +21,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class LobbyOptionsLogic : ChromeLogic public class LobbyOptionsLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string NotAvailable = "not-available"; const string NotAvailable = "label-not-available";
readonly ModData modData; readonly ModData modData;
readonly ScrollPanelWidget panel; readonly ScrollPanelWidget panel;

View File

@@ -24,19 +24,19 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public static class LobbyUtils public static class LobbyUtils
{ {
[TranslationReference] [TranslationReference]
const string Open = "open"; const string Open = "options-lobby-slot.open";
[TranslationReference] [TranslationReference]
const string Closed = "closed"; const string Closed = "options-lobby-slot.closed";
[TranslationReference] [TranslationReference]
const string Bots = "bots"; const string Bots = "options-lobby-slot.bots";
[TranslationReference] [TranslationReference]
const string BotsDisabled = "bots-disabled"; const string BotsDisabled = "options-lobby-slot.bots-disabled";
[TranslationReference] [TranslationReference]
const string Slot = "slot"; const string Slot = "options-lobby-slot.slot";
class SlotDropDownOption class SlotDropDownOption
{ {

View File

@@ -20,22 +20,22 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class MapPreviewLogic : ChromeLogic public class MapPreviewLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string Connecting = "connecting"; const string Connecting = "label-connecting";
[TranslationReference("size")] [TranslationReference("size")]
const string Downloading = "downloading-map"; const string Downloading = "label-downloading-map";
[TranslationReference("size", "progress")] [TranslationReference("size", "progress")]
const string DownloadingPercentage = "downloading-map-progress"; const string DownloadingPercentage = "label-downloading-map-progress";
[TranslationReference] [TranslationReference]
const string RetryInstall = "retry-install"; const string RetryInstall = "button-retry-install";
[TranslationReference] [TranslationReference]
const string RetrySearch = "retry-search"; const string RetrySearch = "button-retry-search";
[TranslationReference("author")] [TranslationReference("author")]
const string CreatedBy = "created-by"; const string CreatedBy = "label-created-by";
readonly int blinkTickLength = 10; readonly int blinkTickLength = 10;
bool installHighlighted; bool installHighlighted;

View File

@@ -18,13 +18,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class SpawnSelectorTooltipLogic : ChromeLogic public class SpawnSelectorTooltipLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string DisabledSpawn = "disabled-spawn"; const string DisabledSpawn = "label-disabled-spawn";
[TranslationReference] [TranslationReference]
const string AvailableSpawn = "available-spawn"; const string AvailableSpawn = "label-available-spawn";
[TranslationReference("team")] [TranslationReference("team")]
const string TeamNumber = "team-number"; const string TeamNumber = "label-team-name";
readonly CachedTransform<int, string> teamMessage; readonly CachedTransform<int, string> teamMessage;

View File

@@ -23,13 +23,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class MainMenuLogic : ChromeLogic public class MainMenuLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string LoadingNews = "loading-news"; const string LoadingNews = "label-loading-news";
[TranslationReference("message")] [TranslationReference("message")]
const string NewsRetrivalFailed = "news-retrival-failed"; const string NewsRetrivalFailed = "label-news-retrival-failed";
[TranslationReference("message")] [TranslationReference("message")]
const string NewsParsingFailed = "news-parsing-failed"; const string NewsParsingFailed = "label-news-parsing-failed";
protected enum MenuType { Main, Singleplayer, Extras, MapEditor, StartupPrompts, None } protected enum MenuType { Main, Singleplayer, Extras, MapEditor, StartupPrompts, None }

View File

@@ -19,55 +19,55 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class MapChooserLogic : ChromeLogic public class MapChooserLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string AllMaps = "all-maps"; const string AllMaps = "label-all-maps";
[TranslationReference] [TranslationReference]
const string NoMatches = "no-matches"; const string NoMatches = "label-no-matches";
[TranslationReference("players")] [TranslationReference("players")]
const string Players = "player-players"; const string Players = "label-player-count";
[TranslationReference("author")] [TranslationReference("author")]
const string CreatedBy = "created-by"; const string CreatedBy = "label-created-by";
[TranslationReference] [TranslationReference]
const string MapSizeHuge = "map-size-huge"; const string MapSizeHuge = "label-map-size-huge";
[TranslationReference] [TranslationReference]
const string MapSizeLarge = "map-size-large"; const string MapSizeLarge = "label-map-size-large";
[TranslationReference] [TranslationReference]
const string MapSizeMedium = "map-size-medium"; const string MapSizeMedium = "label-map-size-medium";
[TranslationReference] [TranslationReference]
const string MapSizeSmall = "map-size-small"; const string MapSizeSmall = "label-map-size-small";
[TranslationReference("map")] [TranslationReference("map")]
const string MapDeletionFailed = "map-deletion-failed"; const string MapDeletionFailed = "notification-map-deletion-failed";
[TranslationReference] [TranslationReference]
const string DeleteMapTitle = "delete-map-title"; const string DeleteMapTitle = "dialog-delete-map.title";
[TranslationReference("title")] [TranslationReference("title")]
const string DeleteMapPrompt = "delete-map-prompt"; const string DeleteMapPrompt = "dialog-delete-map.prompt";
[TranslationReference] [TranslationReference]
const string DeleteMapAccept = "delete-map-accept"; const string DeleteMapAccept = "dialog-delete-map.confirm";
[TranslationReference] [TranslationReference]
const string DeleteAllMapsTitle = "delete-all-maps-title"; const string DeleteAllMapsTitle = "dialog-delete-all-maps.title";
[TranslationReference] [TranslationReference]
const string DeleteAllMapsPrompt = "delete-all-maps-prompt"; const string DeleteAllMapsPrompt = "dialog-delete-all-maps.prompt";
[TranslationReference] [TranslationReference]
const string DeleteAllMapsAccept = "delete-all-maps-accept"; const string DeleteAllMapsAccept = "dialog-delete-all-maps.confirm";
[TranslationReference] [TranslationReference]
const string OrderMapsByPlayers = "order-maps-players"; const string OrderMapsByPlayers = "options-order-maps.player-count";
[TranslationReference] [TranslationReference]
const string OrderMapsByDate = "order-maps-date"; const string OrderMapsByDate = "options-order-maps.date";
readonly string allMaps; readonly string allMaps;

View File

@@ -26,22 +26,22 @@ namespace OpenRA.Mods.Common.Widgets.Logic
enum PlayingVideo { None, Info, Briefing, GameStart } enum PlayingVideo { None, Info, Briefing, GameStart }
[TranslationReference] [TranslationReference]
const string NoVideoTitle = "no-video-title"; const string NoVideoTitle = "dialog-no-video.title";
[TranslationReference] [TranslationReference]
const string NoVideoPrompt = "no-video-prompt"; const string NoVideoPrompt = "dialog-no-video.prompt";
[TranslationReference] [TranslationReference]
const string NoVideoCancel = "no-video-cancel"; const string NoVideoCancel = "dialog-no-video.cancel";
[TranslationReference] [TranslationReference]
const string CantPlayTitle = "cant-play-title"; const string CantPlayTitle = "dialog-cant-play-video.title";
[TranslationReference] [TranslationReference]
const string CantPlayPrompt = "cant-play-prompt"; const string CantPlayPrompt = "dialog-cant-play-video.prompt";
[TranslationReference] [TranslationReference]
const string CantPlayCancel = "cant-play-cancel"; const string CantPlayCancel = "dialog-cant-play-video.cancel";
readonly ModData modData; readonly ModData modData;
readonly Action onStart; readonly Action onStart;

View File

@@ -19,10 +19,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class MusicPlayerLogic : ChromeLogic public class MusicPlayerLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string SoundMuted = "sound-muted"; const string SoundMuted = "label-sound-muted";
[TranslationReference] [TranslationReference]
const string NoSongPlaying = "no-song-playing"; const string NoSongPlaying = "label-no-song-playing";
readonly ScrollPanelWidget musicList; readonly ScrollPanelWidget musicList;
readonly ScrollItemWidget itemTemplate; readonly ScrollItemWidget itemTemplate;

View File

@@ -19,10 +19,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class MuteHotkeyLogic : SingleHotkeyBaseLogic public class MuteHotkeyLogic : SingleHotkeyBaseLogic
{ {
[TranslationReference] [TranslationReference]
const string AudioMuted = "audio-muted"; const string AudioMuted = "label-audio-muted";
[TranslationReference] [TranslationReference]
const string AudioUnmuted = "audio-unmuted"; const string AudioUnmuted = "label-audio-unmuted";
readonly ModData modData; readonly ModData modData;

View File

@@ -132,10 +132,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class RegisteredProfileTooltipLogic : ChromeLogic public class RegisteredProfileTooltipLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string LoadingPlayerProfile = "loading-player-profile"; const string LoadingPlayerProfile = "label-loading-player-profile";
[TranslationReference] [TranslationReference]
const string LoadingPlayerProfileFailed = "loading-player-profile-failed"; const string LoadingPlayerProfileFailed = "label-loading-player-profile-failed";
readonly PlayerDatabase playerDatabase; readonly PlayerDatabase playerDatabase;
PlayerProfile profile; PlayerProfile profile;

View File

@@ -26,82 +26,82 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ReplayBrowserLogic : ChromeLogic public class ReplayBrowserLogic : ChromeLogic
{ {
[TranslationReference("time")] [TranslationReference("time")]
const string Duration = "duration"; const string Duration = "label-duration";
[TranslationReference] [TranslationReference]
const string Singleplayer = "singleplayer"; const string Singleplayer = "options-replay-type.singleplayer";
[TranslationReference] [TranslationReference]
const string Multiplayer = "multiplayer"; const string Multiplayer = "options-replay-type.multiplayer";
[TranslationReference] [TranslationReference]
const string Today = "today"; const string Today = "options-replay-date.today";
[TranslationReference] [TranslationReference]
const string LastWeek = "last-week"; const string LastWeek = "options-replay-date.last-week";
[TranslationReference] [TranslationReference]
const string LastFortnight = "last-fortnight"; const string LastFortnight = "options-replay-date.last-fortnight";
[TranslationReference] [TranslationReference]
const string LastMonth = "last-month"; const string LastMonth = "options-replay-date.last-month";
[TranslationReference] [TranslationReference]
const string ReplayDurationVeryShort = "replay-duration-very-short"; const string ReplayDurationVeryShort = "options-replay-duration.very-short";
[TranslationReference] [TranslationReference]
const string ReplayDurationShort = "replay-duration-short"; const string ReplayDurationShort = "options-replay-duration.short";
[TranslationReference] [TranslationReference]
const string ReplayDurationMedium = "replay-duration-medium"; const string ReplayDurationMedium = "options-replay-duration.medium";
[TranslationReference] [TranslationReference]
const string ReplayDurationLong = "replay-duration-long"; const string ReplayDurationLong = "options-replay-duration.long";
[TranslationReference] [TranslationReference]
const string RenameReplayTitle = "rename-replay-title"; const string RenameReplayTitle = "dialog-rename-replay.title";
[TranslationReference] [TranslationReference]
const string RenameReplayPrompt = "rename-replay-prompt"; const string RenameReplayPrompt = "dialog-rename-replay.prompt";
[TranslationReference] [TranslationReference]
const string RenameReplayAccept = "rename-replay-accept"; const string RenameReplayAccept = "dialog-rename-replay.confirm";
[TranslationReference] [TranslationReference]
const string DeleteReplayTitle = "delete-replay-title"; const string DeleteReplayTitle = "dialog-delete-replay.title";
[TranslationReference("replay")] [TranslationReference("replay")]
const string DeleteReplayPrompt = "delete-replay-prompt"; const string DeleteReplayPrompt = "dialog-delete-replay.prompt";
[TranslationReference] [TranslationReference]
const string DeleteReplayAccept = "delete-replay-accept"; const string DeleteReplayAccept = "dialog-delete-replay.confirm";
[TranslationReference] [TranslationReference]
const string DeleteAllReplaysTitle = "delete-all-replays-title"; const string DeleteAllReplaysTitle = "dialog-delete-all-replays.title";
[TranslationReference("count")] [TranslationReference("count")]
const string DeleteAllReplaysPrompt = "delete-all-replays-prompt"; const string DeleteAllReplaysPrompt = "dialog-delete-all-replays.prompt";
[TranslationReference] [TranslationReference]
const string DeleteAllReplaysAccept = "delete-all-replays-accept"; const string DeleteAllReplaysAccept = "dialog-delete-all-replays.confirm";
[TranslationReference("file")] [TranslationReference("file")]
const string ReplayDeletionFailed = "replay-deletion-failed"; const string ReplayDeletionFailed = "notification-replay-deletion-failed";
[TranslationReference] [TranslationReference]
const string Players = "players"; const string Players = "label-players";
[TranslationReference("team")] [TranslationReference("team")]
const string TeamNumber = "team-number"; const string TeamNumber = "label-team-name";
[TranslationReference] [TranslationReference]
const string NoTeam = "no-team"; const string NoTeam = "label-no-team";
[TranslationReference] [TranslationReference]
const string Victory = "victory"; const string Victory = "options-winstate.victory";
[TranslationReference] [TranslationReference]
const string Defeat = "defeat"; const string Defeat = "options-winstate.defeat";
static Filter filter = new Filter(); static Filter filter = new Filter();

View File

@@ -18,28 +18,28 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public static class ReplayUtils public static class ReplayUtils
{ {
[TranslationReference] [TranslationReference]
const string IncompatibleReplayTitle = "incompatible-replay-title"; const string IncompatibleReplayTitle = "dialog-incompatible-replay.title";
[TranslationReference] [TranslationReference]
const string IncompatibleReplayPrompt = "incompatible-replay-prompt"; const string IncompatibleReplayPrompt = "dialog-incompatible-replay.prompt";
[TranslationReference] [TranslationReference]
const string IncompatibleReplayAccept = "incompatible-replay-accept"; const string IncompatibleReplayAccept = "dialog-incompatible-replay.confirm";
[TranslationReference] [TranslationReference]
const string UnknownVersion = "incompatible-replay-unknown-version"; const string UnknownVersion = "dialog-incompatible-replay.prompt-unknown-version";
[TranslationReference] [TranslationReference]
const string UnknownMod = "incompatible-replay-unknown-mod"; const string UnknownMod = "dialog-incompatible-replay.prompt-unknown-mod";
[TranslationReference("mod")] [TranslationReference("mod")]
const string UnvailableMod = "incompatible-replay-unavailable-mod"; const string UnvailableMod = "dialog-incompatible-replay.prompt-unavailable-mod";
[TranslationReference("version")] [TranslationReference("version")]
const string IncompatibleVersion = "incompatible-replay-incompatible-version"; const string IncompatibleVersion = "dialog-incompatible-replay.prompt-incompatible-version";
[TranslationReference("map")] [TranslationReference("map")]
const string UnvailableMap = "incompatible-replay-unavailable-map"; const string UnvailableMap = "dialog-incompatible-replay.prompt-unavailable-map";
static readonly Action DoNothing = () => { }; static readonly Action DoNothing = () => { };

View File

@@ -20,37 +20,37 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ServerCreationLogic : ChromeLogic public class ServerCreationLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string InternetServerNatA = "internet-server-nat-A"; const string InternetServerNatA = "label-internet-server-nat-A";
[TranslationReference] [TranslationReference]
const string InternetServerNatBenabled = "internet-server-nat-B-enabled"; const string InternetServerNatBenabled = "label-internet-server-nat-B-enabled";
[TranslationReference] [TranslationReference]
const string InternetServerNatBnotSupported = "internet-server-nat-B-not-supported"; const string InternetServerNatBnotSupported = "label-internet-server-nat-B-not-supported";
[TranslationReference] [TranslationReference]
const string InternetServerNatBdisabled = "internet-server-nat-B-disabled"; const string InternetServerNatBdisabled = "label-internet-server-nat-B-disabled";
[TranslationReference] [TranslationReference]
const string InternetServerNatC = "internet-server-nat-C"; const string InternetServerNatC = "label-internet-server-nat-C";
[TranslationReference] [TranslationReference]
const string LocalServer = "local-server"; const string LocalServer = "label-local-server";
[TranslationReference("port")] [TranslationReference("port")]
const string ServerCreationFailedPrompt = "server-creation-failed-prompt"; const string ServerCreationFailedPrompt = "dialog-server-creation-failed.prompt";
[TranslationReference] [TranslationReference]
const string ServerCreationFailedPortUsed = "server-creation-failed-port-used"; const string ServerCreationFailedPortUsed = "dialog-server-creation-failed.prompt-port-used";
[TranslationReference("message", "code")] [TranslationReference("message", "code")]
const string ServerCreationFailedError = "server-creation-failed-error"; const string ServerCreationFailedError = "dialog-server-creation-failed.prompt-error";
[TranslationReference] [TranslationReference]
const string ServerCreationFailedTitle = "server-creation-failed-title"; const string ServerCreationFailedTitle = "dialog-server-creation-failed.title";
[TranslationReference] [TranslationReference]
const string ServerCreationFailedCancel = "server-creation-failed-cancel"; const string ServerCreationFailedCancel = "dialog-server-creation-failed.cancel";
readonly Widget panel; readonly Widget panel;
readonly ModData modData; readonly ModData modData;

View File

@@ -26,67 +26,67 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ServerListLogic : ChromeLogic public class ServerListLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string SearchStatusFailed = "search-status-failed"; const string SearchStatusFailed = "label-search-status-failed";
[TranslationReference] [TranslationReference]
const string SearchStatusNoGames = "search-status-no-games"; const string SearchStatusNoGames = "label-search-status-no-games";
[TranslationReference("players")] [TranslationReference("players")]
const string PlayersOnline = "players-online"; const string PlayersOnline = "label-players-online-count";
[TranslationReference] [TranslationReference]
const string NoServerSelected = "no-server-selected"; const string NoServerSelected = "label-no-server-selected";
[TranslationReference] [TranslationReference]
const string MapStatusSearching = "map-status-searching"; const string MapStatusSearching = "label-map-status-searching";
[TranslationReference] [TranslationReference]
const string MapClassificationUnknown = "map-classification-unknown"; const string MapClassificationUnknown = "label-map-classification-unknown";
[TranslationReference("players")] [TranslationReference("players")]
const string PlayersLabel = "players-label"; const string PlayersLabel = "label-players-count";
[TranslationReference("bots")] [TranslationReference("bots")]
const string BotsLabel = "bots-label"; const string BotsLabel = "label-bots-count";
[TranslationReference("spectators")] [TranslationReference("spectators")]
const string SpectatorsLabel = "spectators-label"; const string SpectatorsLabel = "label-spectators-count";
[TranslationReference] [TranslationReference]
const string Players = "players"; const string Players = "label-players";
[TranslationReference("team")] [TranslationReference("team")]
const string TeamNumber = "team-number"; const string TeamNumber = "label-team-name";
[TranslationReference] [TranslationReference]
const string NoTeam = "no-team"; const string NoTeam = "label-no-team";
[TranslationReference] [TranslationReference]
const string Spectators = "spectators"; const string Spectators = "label-spectators";
[TranslationReference("players")] [TranslationReference("players")]
const string OtherPlayers = "n-other-players"; const string OtherPlayers = "label-other-players-count";
[TranslationReference] [TranslationReference]
const string Playing = "playing"; const string Playing = "label-playing";
[TranslationReference] [TranslationReference]
const string Waiting = "waiting"; const string Waiting = "label-waiting";
[TranslationReference("minutes")] [TranslationReference("minutes")]
const string InProgress = "in-progress-for"; const string InProgress = "label-in-progress-for";
[TranslationReference] [TranslationReference]
const string PasswordProtected = "password-protected"; const string PasswordProtected = "label-password-protected";
[TranslationReference] [TranslationReference]
const string WaitingForPlayers = "waiting-for-players"; const string WaitingForPlayers = "label-waiting-for-players";
[TranslationReference] [TranslationReference]
const string ServerShuttingDown = "server-shutting-down"; const string ServerShuttingDown = "label-server-shutting-down";
[TranslationReference] [TranslationReference]
const string UnknownServerState = "unknown-server-state"; const string UnknownServerState = "label-unknown-server-state";
readonly string noServerSelected; readonly string noServerSelected;
readonly string mapStatusSearching; readonly string mapStatusSearching;

View File

@@ -23,46 +23,46 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class DisplaySettingsLogic : ChromeLogic public class DisplaySettingsLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string Close = "close"; const string Close = "options-camera.close";
[TranslationReference] [TranslationReference]
const string Medium = "medium"; const string Medium = "options-camera.medium";
[TranslationReference] [TranslationReference]
const string Far = "far"; const string Far = "options-camera.far";
[TranslationReference] [TranslationReference]
const string Furthest = "furthest"; const string Furthest = "options-camera.furthest";
[TranslationReference] [TranslationReference]
const string Windowed = "windowed"; const string Windowed = "options-display-mode.windowed";
[TranslationReference] [TranslationReference]
const string LegacyFullscreen = "legacy-fullscreen"; const string LegacyFullscreen = "options-display-mode.legacy-fullscreen";
[TranslationReference] [TranslationReference]
const string Fullscreen = "fullscreen"; const string Fullscreen = "options-display-mode.fullscreen";
[TranslationReference("number")] [TranslationReference("number")]
const string Display = "display"; const string Display = "label-video-display-index";
[TranslationReference] [TranslationReference]
const string Standard = "standard"; const string Standard = "options-status-bars.standard";
[TranslationReference] [TranslationReference]
const string ShowOnDamage = "show-on-damage"; const string ShowOnDamage = "options-status-bars.show-on-damage";
[TranslationReference] [TranslationReference]
const string AlwaysShow = "always-show"; const string AlwaysShow = "options-status-bars.always-show";
[TranslationReference] [TranslationReference]
const string Automatic = "automatic"; const string Automatic = "options-target-lines.automatic";
[TranslationReference] [TranslationReference]
const string Manual = "manual"; const string Manual = "options-target-lines.manual";
[TranslationReference] [TranslationReference]
const string Disabled = "disabled"; const string Disabled = "options-target-lines.disabled";
static readonly int OriginalVideoDisplay; static readonly int OriginalVideoDisplay;
static readonly WindowMode OriginalGraphicsMode; static readonly WindowMode OriginalGraphicsMode;

View File

@@ -18,37 +18,37 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class InputSettingsLogic : ChromeLogic public class InputSettingsLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string Classic = "classic"; const string Classic = "options-control-scheme.classic";
[TranslationReference] [TranslationReference]
const string Modern = "modern"; const string Modern = "options-control-scheme.modern";
[TranslationReference] [TranslationReference]
const string Disabled = "disabled"; const string Disabled = "options-mouse-scroll-type.disabled";
[TranslationReference] [TranslationReference]
const string Standard = "standard"; const string Standard = "options-mouse-scroll-type.standard";
[TranslationReference] [TranslationReference]
const string Inverted = "inverted"; const string Inverted = "options-mouse-scroll-type.inverted";
[TranslationReference] [TranslationReference]
const string Joystick = "joystick"; const string Joystick = "options-mouse-scroll-type.joystick";
[TranslationReference] [TranslationReference]
const string Alt = "alt"; const string Alt = "options-zoom-modifier.alt";
[TranslationReference] [TranslationReference]
const string Ctrl = "ctrl"; const string Ctrl = "options-zoom-modifier.ctrl";
[TranslationReference] [TranslationReference]
const string Meta = "meta"; const string Meta = "options-zoom-modifier.meta";
[TranslationReference] [TranslationReference]
const string Shift = "shift"; const string Shift = "options-zoom-modifier.shift";
[TranslationReference] [TranslationReference]
const string None = "none"; const string None = "options-zoom-modifier.none";
static InputSettingsLogic() { } static InputSettingsLogic() { }

View File

@@ -20,37 +20,37 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class SettingsLogic : ChromeLogic public class SettingsLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
const string SettingsSaveTitle = "settings-save-title"; const string SettingsSaveTitle = "dialog-settings-save.title";
[TranslationReference] [TranslationReference]
const string SettingsSavePrompt = "settings-save-prompt"; const string SettingsSavePrompt = "dialog-settings-save.prompt";
[TranslationReference] [TranslationReference]
const string SettingsSaveCancel = "settings-save-cancel"; const string SettingsSaveCancel = "dialog-settings-save.cancel";
[TranslationReference] [TranslationReference]
const string RestartTitle = "restart-title"; const string RestartTitle = "dialog-settings-restart.title";
[TranslationReference] [TranslationReference]
const string RestartPrompt = "restart-prompt"; const string RestartPrompt = "dialog-settings-restart.prompt";
[TranslationReference] [TranslationReference]
const string RestartAccept = "restart-accept"; const string RestartAccept = "dialog-settings-restart.confirm";
[TranslationReference] [TranslationReference]
const string RestartCancel = "restart-cancel"; const string RestartCancel = "dialog-settings-restart.cancel";
[TranslationReference("panel")] [TranslationReference("panel")]
const string ResetTitle = "reset-title"; const string ResetTitle = "dialog-settings-reset.title";
[TranslationReference] [TranslationReference]
const string ResetPrompt = "reset-prompt"; const string ResetPrompt = "dialog-settings-reset.prompt";
[TranslationReference] [TranslationReference]
const string ResetAccept = "reset-accept"; const string ResetAccept = "dialog-settings-reset.confirm";
[TranslationReference] [TranslationReference]
const string ResetCancel = "reset-cancel"; const string ResetCancel = "dialog-settings-reset.cancel";
readonly Dictionary<string, Func<bool>> leavePanelActions = new Dictionary<string, Func<bool>>(); readonly Dictionary<string, Func<bool>> leavePanelActions = new Dictionary<string, Func<bool>>();
readonly Dictionary<string, Action> resetPanelActions = new Dictionary<string, Action>(); readonly Dictionary<string, Action> resetPanelActions = new Dictionary<string, Action>();

View File

@@ -1,22 +1,24 @@
## Player ## Player
low = Low options-tech-level =
medium = Medium .low = Low
no-powers = No Powers .medium = Medium
unrestricted = Unrestricted .no-powers = No Powers
.unrestricted = Unrestricted
redeployable-mcvs = checkbox-redeployable-mcvs =
.label = Redeployable MCVs .label = Redeployable MCVs
.description = Allow undeploying Construction Yard .description = Allow undeploying Construction Yard
stealth-deliveries = checkbox-stealth-deliveries =
.label = Stealth Deliveries .label = Stealth Deliveries
.description = Nod's delivery plane is cloaked .description = Nod's delivery plane is cloaked
## World ## World
mcv-only = MCV Only options-starting-units =
light-support = Light Support .mcv-only = MCV Only
heavy-support = Heavy Support .light-support = Light Support
.heavy-support = Heavy Support
map-creeps = dropdown-map-creeps =
.label = Creep Actors .label = Creep Actors
.description = Hostile forces spawn on the battlefield .description = Hostile forces spawn on the battlefield

View File

@@ -256,27 +256,27 @@ GameSpeeds:
DefaultSpeed: default DefaultSpeed: default
Speeds: Speeds:
slowest: slowest:
Name: slowest Name: options-game-speed.slowest
Timestep: 80 Timestep: 80
OrderLatency: 2 OrderLatency: 2
slower: slower:
Name: slower Name: options-game-speed.slower
Timestep: 50 Timestep: 50
OrderLatency: 3 OrderLatency: 3
default: default:
Name: normal Name: options-game-speed.normal
Timestep: 40 Timestep: 40
OrderLatency: 3 OrderLatency: 3
fast: fast:
Name: fast Name: options-game-speed.fast
Timestep: 35 Timestep: 35
OrderLatency: 4 OrderLatency: 4
faster: faster:
Name: faster Name: options-game-speed.faster
Timestep: 30 Timestep: 30
OrderLatency: 4 OrderLatency: 4
fastest: fastest:
Name: fastest Name: options-game-speed.fastest
Timestep: 20 Timestep: 20
OrderLatency: 6 OrderLatency: 6

View File

@@ -42,15 +42,15 @@ Player:
FogCheckboxDisplayOrder: 3 FogCheckboxDisplayOrder: 3
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY: LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
ID: factundeploy ID: factundeploy
Label: redeployable-mcvs.label Label: checkbox-redeployable-mcvs.label
Description: redeployable-mcvs.description Description: checkbox-redeployable-mcvs.description
Enabled: True Enabled: True
DisplayOrder: 7 DisplayOrder: 7
Prerequisites: global-factundeploy Prerequisites: global-factundeploy
LobbyPrerequisiteCheckbox@GLOBALC17STEALTH: LobbyPrerequisiteCheckbox@GLOBALC17STEALTH:
ID: C17-Stealth ID: C17-Stealth
Label: stealth-deliveries.label Label: checkbox-stealth-deliveries.label
Description: stealth-deliveries.description Description: checkbox-stealth-deliveries.description
Enabled: False Enabled: False
DisplayOrder: 8 DisplayOrder: 8
Prerequisites: global-C17-stealth Prerequisites: global-C17-stealth
@@ -58,19 +58,19 @@ Player:
FrozenActorLayer: FrozenActorLayer:
PlaceBeacon: PlaceBeacon:
ProvidesTechPrerequisite@low: ProvidesTechPrerequisite@low:
Name: low Name: options-tech-level.low
Prerequisites: techlevel.low Prerequisites: techlevel.low
Id: low Id: low
ProvidesTechPrerequisite@medium: ProvidesTechPrerequisite@medium:
Name: medium Name: options-tech-level.medium
Prerequisites: techlevel.low, techlevel.medium Prerequisites: techlevel.low, techlevel.medium
Id: medium Id: medium
ProvidesTechPrerequisite@nosuper: ProvidesTechPrerequisite@nosuper:
Name: no-powers Name: options-tech-level.no-powers
Prerequisites: techlevel.low, techlevel.medium, techlevel.high Prerequisites: techlevel.low, techlevel.medium, techlevel.high
Id: nopowers Id: nopowers
ProvidesTechPrerequisite@all: ProvidesTechPrerequisite@all:
Name: unrestricted Name: options-tech-level.unrestricted
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
Id: unrestricted Id: unrestricted
GrantConditionOnPrerequisiteManager: GrantConditionOnPrerequisiteManager:

View File

@@ -208,42 +208,42 @@ World:
CreateMapPlayers: CreateMapPlayers:
StartingUnits@mcvonly: StartingUnits@mcvonly:
Class: none Class: none
ClassName: mcv-only ClassName: options-starting-units.mcv-only
Factions: gdi, nod Factions: gdi, nod
BaseActor: mcv BaseActor: mcv
StartingUnits@defaultgdia: StartingUnits@defaultgdia:
Class: light Class: light
ClassName: light-support ClassName: options-starting-units.light-support
Factions: gdi Factions: gdi
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,e1,e1,e3,e3,jeep SupportActors: e1,e1,e1,e1,e1,e3,e3,jeep
StartingUnits@defaultnoda: StartingUnits@defaultnoda:
Class: light Class: light
ClassName: light-support ClassName: options-starting-units.light-support
Factions: nod Factions: nod
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,e1,e1,e1,e3,e3,bggy SupportActors: e1,e1,e1,e1,e1,e1,e3,e3,bggy
StartingUnits@heavynoda: StartingUnits@heavynoda:
Class: heavy Class: heavy
ClassName: heavy-support ClassName: options-starting-units.heavy-support
Factions: nod Factions: nod
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,e1,e3,e3,ltnk,ltnk,ftnk SupportActors: e1,e1,e1,e1,e3,e3,ltnk,ltnk,ftnk
StartingUnits@heavynodb: StartingUnits@heavynodb:
Class: heavy Class: heavy
ClassName: heavy-support ClassName: options-starting-units.heavy-support
Factions: nod Factions: nod
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,e1,e1,e3,e3,e3,ftnk,ftnk SupportActors: e1,e1,e1,e1,e1,e3,e3,e3,ftnk,ftnk
StartingUnits@heavygdia: StartingUnits@heavygdia:
Class: heavy Class: heavy
ClassName: heavy-support ClassName: options-starting-units.heavy-support
Factions: gdi Factions: gdi
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,e1,e3,e3,jeep,mtnk,mtnk SupportActors: e1,e1,e1,e1,e3,e3,jeep,mtnk,mtnk
StartingUnits@heavygdib: StartingUnits@heavygdib:
Class: heavy Class: heavy
ClassName: heavy-support ClassName: options-starting-units.heavy-support
Factions: gdi Factions: gdi
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,e1,e1,e2,e2,e2,e3,e3,apc,mtnk SupportActors: e1,e1,e1,e1,e1,e2,e2,e2,e3,e3,apc,mtnk

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +1,20 @@
## Player ## Player
low = Low options-tech-level =
medium = Medium .low = Low
no-powers = No Powers .medium = Medium
unrestricted = Unrestricted .no-powers = No Powers
.unrestricted = Unrestricted
automatic-concrete = checkbox-automatic-concrete =
.label = Automatic Concrete .label = Automatic Concrete
.description = Concrete foundations are automatically created beneath buildings .description = Concrete foundations are automatically created beneath buildings
## World ## World
map-worms = dropdown-map-worms =
.label = Worms .label = Worms
.description = Worms roam the map and devour unprepared forces .description = Worms roam the map and devour unprepared forces
mcv-only = MCV Only options-starting-units =
light-support = Light Support .mcv-only = MCV Only
heavy-support = Heavy Support .light-support = Light Support
.heavy-support = Heavy Support

View File

@@ -232,27 +232,27 @@ GameSpeeds:
DefaultSpeed: default DefaultSpeed: default
Speeds: Speeds:
slowest: slowest:
Name: slowest Name: options-game-speed.slowest
Timestep: 80 Timestep: 80
OrderLatency: 2 OrderLatency: 2
slower: slower:
Name: slower Name: options-game-speed.slower
Timestep: 50 Timestep: 50
OrderLatency: 3 OrderLatency: 3
default: default:
Name: normal Name: options-game-speed.normal
Timestep: 40 Timestep: 40
OrderLatency: 3 OrderLatency: 3
fast: fast:
Name: fast Name: options-game-speed.fast
Timestep: 35 Timestep: 35
OrderLatency: 4 OrderLatency: 4
faster: faster:
Name: faster Name: options-game-speed.faster
Timestep: 30 Timestep: 30
OrderLatency: 4 OrderLatency: 4
fastest: fastest:
Name: fastest Name: options-game-speed.fastest
Timestep: 20 Timestep: 20
OrderLatency: 6 OrderLatency: 6

View File

@@ -126,8 +126,8 @@ Player:
FogCheckboxDisplayOrder: 3 FogCheckboxDisplayOrder: 3
LobbyPrerequisiteCheckbox@AUTOCONCRETE: LobbyPrerequisiteCheckbox@AUTOCONCRETE:
ID: autoconcrete ID: autoconcrete
Label: automatic-concrete.label Label: checkbox-automatic-concrete.label
Description: automatic-concrete.description Description: checkbox-automatic-concrete.description
Enabled: False Enabled: False
DisplayOrder: 7 DisplayOrder: 7
Prerequisites: global-auto-concrete Prerequisites: global-auto-concrete
@@ -158,19 +158,19 @@ Player:
Prerequisite: player.smuggler Prerequisite: player.smuggler
Factions: smuggler Factions: smuggler
ProvidesTechPrerequisite@low: ProvidesTechPrerequisite@low:
Name: low Name: options-tech-level.low
Prerequisites: techlevel.low Prerequisites: techlevel.low
Id: low Id: low
ProvidesTechPrerequisite@medium: ProvidesTechPrerequisite@medium:
Name: medium Name: options-tech-level.medium
Prerequisites: techlevel.low, techlevel.medium Prerequisites: techlevel.low, techlevel.medium
Id: medium Id: medium
ProvidesTechPrerequisite@nosuper: ProvidesTechPrerequisite@nosuper:
Name: no-powers Name: options-tech-level.no-powers
Prerequisites: techlevel.low, techlevel.medium, techlevel.high Prerequisites: techlevel.low, techlevel.medium, techlevel.high
Id: nopowers Id: nopowers
ProvidesTechPrerequisite@all: ProvidesTechPrerequisite@all:
Name: unrestricted Name: options-tech-level.unrestricted
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
Id: unrestricted Id: unrestricted
EnemyWatcher: EnemyWatcher:

View File

@@ -157,8 +157,8 @@ World:
Type: SandCrater Type: SandCrater
Sequence: sandcraters Sequence: sandcraters
MapCreeps: MapCreeps:
CheckboxLabel: map-worms.label CheckboxLabel: dropdown-map-worms.label
CheckboxDescription: map-worms.description CheckboxDescription: dropdown-map-worms.description
CheckboxDisplayOrder: 5 CheckboxDisplayOrder: 5
SpawnMapActors: SpawnMapActors:
MapBuildRadius: MapBuildRadius:
@@ -173,12 +173,12 @@ World:
SeparateTeamSpawnsCheckboxDisplayOrder: 6 SeparateTeamSpawnsCheckboxDisplayOrder: 6
StartingUnits@mcv: StartingUnits@mcv:
Class: none Class: none
ClassName: mcv-only ClassName: options-starting-units.mcv-only
BaseActor: mcv BaseActor: mcv
Factions: atreides, ordos, harkonnen Factions: atreides, ordos, harkonnen
StartingUnits@lightatreides: StartingUnits@lightatreides:
Class: light Class: light
ClassName: light-support ClassName: options-starting-units.light-support
Factions: atreides Factions: atreides
BaseActor: mcv BaseActor: mcv
SupportActors: light_inf, light_inf, light_inf, trooper, grenadier, trike, quad SupportActors: light_inf, light_inf, light_inf, trooper, grenadier, trike, quad
@@ -186,7 +186,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@lightharkonnen: StartingUnits@lightharkonnen:
Class: light Class: light
ClassName: light-support ClassName: options-starting-units.light-support
Factions: harkonnen Factions: harkonnen
BaseActor: mcv BaseActor: mcv
SupportActors: light_inf, light_inf, light_inf, trooper, trooper, trike, quad SupportActors: light_inf, light_inf, light_inf, trooper, trooper, trike, quad
@@ -194,7 +194,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@lightordos: StartingUnits@lightordos:
Class: light Class: light
ClassName: light-support ClassName: options-starting-units.light-support
Factions: ordos Factions: ordos
BaseActor: mcv BaseActor: mcv
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, raider, quad SupportActors: light_inf, light_inf, light_inf, trooper, engineer, raider, quad
@@ -202,7 +202,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@heavyatreides: StartingUnits@heavyatreides:
Class: heavy Class: heavy
ClassName: heavy-support ClassName: options-starting-units.heavy-support
Factions: atreides Factions: atreides
BaseActor: mcv BaseActor: mcv
SupportActors: light_inf, light_inf, light_inf, trooper, grenadier, trike, combat_tank_a, missile_tank SupportActors: light_inf, light_inf, light_inf, trooper, grenadier, trike, combat_tank_a, missile_tank
@@ -210,7 +210,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@heavyharkonnen: StartingUnits@heavyharkonnen:
Class: heavy Class: heavy
ClassName: heavy-support ClassName: options-starting-units.heavy-support
Factions: harkonnen Factions: harkonnen
BaseActor: mcv BaseActor: mcv
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, quad, combat_tank_h, siege_tank SupportActors: light_inf, light_inf, light_inf, trooper, engineer, quad, combat_tank_h, siege_tank
@@ -218,7 +218,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@heavyordos: StartingUnits@heavyordos:
Class: heavy Class: heavy
ClassName: heavy-support ClassName: options-starting-units.heavy-support
Factions: ordos Factions: ordos
BaseActor: mcv BaseActor: mcv
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, raider, combat_tank_o, missile_tank SupportActors: light_inf, light_inf, light_inf, trooper, engineer, raider, combat_tank_o, missile_tank

View File

@@ -1,23 +1,25 @@
## Player ## Player
infantry-only = Infantry Only options-tech-level =
low = Low .infantry-only = Infantry Only
medium = Medium .low = Low
no-superweapons = No Superweapons .medium = Medium
unrestricted = Unrestricted .no-superweapons = No Superweapons
.unrestricted = Unrestricted
kill-bounties = checkbox-kill-bounties =
.label = Kill Bounties .label = Kill Bounties
.description = Players receive cash bonuses when killing enemy units .description = Players receive cash bonuses when killing enemy units
redeployable-mcvs = checkbox-redeployable-mcvs =
.label = Redeployable MCVs .label = Redeployable MCVs
.description = Allow undeploying Construction Yard .description = Allow undeploying Construction Yard
reusable-engineers = checkbox-reusable-engineers =
.label = Reusable Engineers .label = Reusable Engineers
.description = Engineers remain on the battlefield after capturing a structure .description = Engineers remain on the battlefield after capturing a structure
## World ## World
mcv-only = MCV Only options-starting-units =
light-support = Light Support .mcv-only = MCV Only
heavy-support = Heavy Support .light-support = Light Support
.heavy-support = Heavy Support

View File

@@ -258,27 +258,27 @@ GameSpeeds:
DefaultSpeed: default DefaultSpeed: default
Speeds: Speeds:
slowest: slowest:
Name: slowest Name: options-game-speed.slowest
Timestep: 80 Timestep: 80
OrderLatency: 2 OrderLatency: 2
slower: slower:
Name: slower Name: options-game-speed.slower
Timestep: 50 Timestep: 50
OrderLatency: 3 OrderLatency: 3
default: default:
Name: normal Name: options-game-speed.normal
Timestep: 40 Timestep: 40
OrderLatency: 3 OrderLatency: 3
fast: fast:
Name: fast Name: options-game-speed.fast
Timestep: 35 Timestep: 35
OrderLatency: 4 OrderLatency: 4
faster: faster:
Name: faster Name: options-game-speed.faster
Timestep: 30 Timestep: 30
OrderLatency: 4 OrderLatency: 4
fastest: fastest:
Name: fastest Name: options-game-speed.fastest
Timestep: 20 Timestep: 20
OrderLatency: 6 OrderLatency: 6

View File

@@ -125,22 +125,22 @@ Player:
FogCheckboxDisplayOrder: 3 FogCheckboxDisplayOrder: 3
LobbyPrerequisiteCheckbox@GLOBALBOUNTY: LobbyPrerequisiteCheckbox@GLOBALBOUNTY:
ID: bounty ID: bounty
Label: kill-bounties.label Label: checkbox-kill-bounties.label
Description: kill-bounties.description Description: checkbox-kill-bounties.description
Enabled: False Enabled: False
DisplayOrder: 8 DisplayOrder: 8
Prerequisites: global-bounty Prerequisites: global-bounty
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY: LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
ID: factundeploy ID: factundeploy
Label: redeployable-mcvs.label Label: checkbox-redeployable-mcvs.label
Description: redeployable-mcvs.description Description: checkbox-redeployable-mcvs.description
Enabled: True Enabled: True
DisplayOrder: 7 DisplayOrder: 7
Prerequisites: global-factundeploy Prerequisites: global-factundeploy
LobbyPrerequisiteCheckbox@REUSABLEENGINEERS: LobbyPrerequisiteCheckbox@REUSABLEENGINEERS:
ID: reusable-engineers ID: reusable-engineers
Label: reusable-engineers.label Label: checkbox-reusable-engineers.label
Description: reusable-engineers.description Description: checkbox-reusable-engineers.description
Enabled: False Enabled: False
DisplayOrder: 9 DisplayOrder: 9
Prerequisites: global-reusable-engineers Prerequisites: global-reusable-engineers
@@ -151,23 +151,23 @@ Player:
PlayerStatistics: PlayerStatistics:
PlaceBeacon: PlaceBeacon:
ProvidesTechPrerequisite@infonly: ProvidesTechPrerequisite@infonly:
Name: infantry-only Name: options-tech-level.infantry-only
Prerequisites: techlevel.infonly Prerequisites: techlevel.infonly
Id: infantryonly Id: infantryonly
ProvidesTechPrerequisite@low: ProvidesTechPrerequisite@low:
Name: low Name: options-tech-level.low
Prerequisites: techlevel.infonly, techlevel.low Prerequisites: techlevel.infonly, techlevel.low
Id: low Id: low
ProvidesTechPrerequisite@medium: ProvidesTechPrerequisite@medium:
Name: medium Name: options-tech-level.medium
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium
Id: medium Id: medium
ProvidesTechPrerequisite@high: ProvidesTechPrerequisite@high:
Name: no-superweapons Name: options-tech-level.no-superweapons
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.high Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.high
Id: nosuperweapons Id: nosuperweapons
ProvidesTechPrerequisite@unrestricted: ProvidesTechPrerequisite@unrestricted:
Name: unrestricted Name: options-tech-level.unrestricted
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.high, techlevel.unrestricted Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.high, techlevel.unrestricted
Id: unrestricted Id: unrestricted
GrantConditionOnPrerequisiteManager: GrantConditionOnPrerequisiteManager:

View File

@@ -228,12 +228,12 @@ World:
CreateMapPlayers: CreateMapPlayers:
StartingUnits@mcvonly: StartingUnits@mcvonly:
Class: none Class: none
ClassName: mcv-only ClassName: options-starting-units.mcv-only
Factions: allies, england, france, germany, soviet, russia, ukraine Factions: allies, england, france, germany, soviet, russia, ukraine
BaseActor: mcv BaseActor: mcv
StartingUnits@lightallies: StartingUnits@lightallies:
Class: light Class: light
ClassName: light-support ClassName: options-starting-units.light-support
Factions: allies, england, france, germany Factions: allies, england, france, germany
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk SupportActors: e1,e1,e1,e3,e3,jeep,1tnk
@@ -241,7 +241,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@lightsoviet: StartingUnits@lightsoviet:
Class: light Class: light
ClassName: light-support ClassName: options-starting-units.light-support
Factions: soviet, russia, ukraine Factions: soviet, russia, ukraine
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,e3,e3,apc,ftrk SupportActors: e1,e1,e1,e3,e3,apc,ftrk
@@ -249,7 +249,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@heavyallies: StartingUnits@heavyallies:
Class: heavy Class: heavy
ClassName: heavy-support ClassName: options-starting-units.heavy-support
Factions: allies, england, france, germany Factions: allies, england, france, germany
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk,2tnk,2tnk,2tnk SupportActors: e1,e1,e1,e3,e3,jeep,1tnk,2tnk,2tnk,2tnk
@@ -257,7 +257,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@heavysoviet: StartingUnits@heavysoviet:
Class: heavy Class: heavy
ClassName: heavy-support ClassName: options-starting-units.heavy-support
Factions: soviet, russia, ukraine Factions: soviet, russia, ukraine
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,e3,e3,apc,ftrk,3tnk,3tnk SupportActors: e1,e1,e1,e3,e3,apc,ftrk,3tnk,3tnk

View File

@@ -1,18 +1,21 @@
## Player ## Player
low = Low options-tech-level =
medium = Medium .low = Low
no-powers = No Powers .medium = Medium
unrestricted = Unrestricted .no-powers = No Powers
.unrestricted = Unrestricted
redeployable-mcvs = checkbox-redeployable-mcvs =
.label = Redeployable MCVs .label = Redeployable MCVs
.description = Allow undeploying Construction Yard .description = Allow undeploying Construction Yard
## World ## World
mcv-only = MCV Only options-starting-units =
light = Light .mcv-only = MCV Only
heavy = Heavy .light = Light
.medium = Medium
.heavy = Heavy
map-creeps = dropdown-map-creeps =
.label = Creep Actors .label = Creep Actors
.description = Hostile forces spawn on the battlefield .description = Hostile forces spawn on the battlefield

View File

@@ -290,27 +290,27 @@ GameSpeeds:
DefaultSpeed: default DefaultSpeed: default
Speeds: Speeds:
slowest: slowest:
Name: slowest Name: options-game-speed.slowest
Timestep: 80 Timestep: 80
OrderLatency: 2 OrderLatency: 2
slower: slower:
Name: slower Name: options-game-speed.slower
Timestep: 50 Timestep: 50
OrderLatency: 3 OrderLatency: 3
default: default:
Name: normal Name: options-game-speed.normal
Timestep: 40 Timestep: 40
OrderLatency: 3 OrderLatency: 3
fast: fast:
Name: fast Name: options-game-speed.fast
Timestep: 35 Timestep: 35
OrderLatency: 4 OrderLatency: 4
faster: faster:
Name: faster Name: options-game-speed.faster
Timestep: 30 Timestep: 30
OrderLatency: 4 OrderLatency: 4
fastest: fastest:
Name: fastest Name: options-game-speed.fastest
Timestep: 20 Timestep: 20
OrderLatency: 6 OrderLatency: 6

View File

@@ -107,8 +107,8 @@ Player:
FogCheckboxDisplayOrder: 3 FogCheckboxDisplayOrder: 3
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY: LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
ID: factundeploy ID: factundeploy
Label: redeployable-mcvs.label Label: checkbox-redeployable-mcvs.label
Description: redeployable-mcvs.description Description: checkbox-redeployable-mcvs.description
Enabled: True Enabled: True
DisplayOrder: 7 DisplayOrder: 7
Prerequisites: global-factundeploy Prerequisites: global-factundeploy
@@ -127,19 +127,19 @@ Player:
ArrowSequence: ArrowSequence:
CircleSequence: CircleSequence:
ProvidesTechPrerequisite@low: ProvidesTechPrerequisite@low:
Name: low Name: options-tech-level.low
Prerequisites: techlevel.low Prerequisites: techlevel.low
Id: low Id: low
ProvidesTechPrerequisite@medium: ProvidesTechPrerequisite@medium:
Name: medium Name: options-tech-level.medium
Prerequisites: techlevel.low, techlevel.medium Prerequisites: techlevel.low, techlevel.medium
Id: medium Id: medium
ProvidesTechPrerequisite@nosuper: ProvidesTechPrerequisite@nosuper:
Name: no-powers Name: options-tech-level.no-powers
Prerequisites: techlevel.low, techlevel.medium, techlevel.high Prerequisites: techlevel.low, techlevel.medium, techlevel.high
Id: nopowers Id: nopowers
ProvidesTechPrerequisite@all: ProvidesTechPrerequisite@all:
Name: unrestricted Name: options-tech-level.unrestricted
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
Id: unrestricted Id: unrestricted
ResourceStorageWarning: ResourceStorageWarning:

View File

@@ -307,12 +307,12 @@ World:
CreateMapPlayers: CreateMapPlayers:
StartingUnits@MCV: StartingUnits@MCV:
Class: none Class: none
ClassName: mcv-only ClassName: options-starting-units.mcv-only
Factions: gdi, nod Factions: gdi, nod
BaseActor: mcv BaseActor: mcv
StartingUnits@light.gdi: StartingUnits@light.gdi:
Class: light Class: light
ClassName: light ClassName: options-starting-units.light
Factions: gdi Factions: gdi
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,smech SupportActors: e1,e1,e1,smech
@@ -320,7 +320,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@light.nod: StartingUnits@light.nod:
Class: light Class: light
ClassName: light ClassName: options-starting-units.light
Factions: nod Factions: nod
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e1,bggy SupportActors: e1,e1,e1,bggy
@@ -328,7 +328,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@med.gdi: StartingUnits@med.gdi:
Class: medium Class: medium
ClassName: medium ClassName: options-starting-units.medium
Factions: gdi Factions: gdi
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e2,e2,jumpjet,smech SupportActors: e1,e1,e2,e2,jumpjet,smech
@@ -336,7 +336,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@med.nod: StartingUnits@med.nod:
Class: medium Class: medium
ClassName: medium ClassName: options-starting-units.medium
Factions: nod Factions: nod
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e3,e3,cyborg,bggy SupportActors: e1,e1,e3,e3,cyborg,bggy
@@ -344,7 +344,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@heavy.gdi: StartingUnits@heavy.gdi:
Class: heavy Class: heavy
ClassName: heavy ClassName: options-starting-units.heavy
Factions: gdi Factions: gdi
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e2,e2,jumpjet,smech,smech,mmch SupportActors: e1,e1,e2,e2,jumpjet,smech,smech,mmch
@@ -352,7 +352,7 @@ World:
OuterSupportRadius: 5 OuterSupportRadius: 5
StartingUnits@heavy.nod: StartingUnits@heavy.nod:
Class: heavy Class: heavy
ClassName: heavy ClassName: options-starting-units.heavy
Factions: nod Factions: nod
BaseActor: mcv BaseActor: mcv
SupportActors: e1,e1,e3,e3,cyborg,bggy,bike,ttnk SupportActors: e1,e1,e3,e3,cyborg,bggy,bike,ttnk