Extract translation strings.

This commit is contained in:
Matthias Mailänder
2022-08-10 22:43:22 +02:00
committed by teinarss
parent 8201a57b10
commit cc58fe1a0f
17 changed files with 314 additions and 73 deletions

View File

@@ -54,6 +54,36 @@ namespace OpenRA.Mods.Common.Widgets.Logic
readonly string clickSound = ChromeMetrics.Get<string>("ClickSound");
ObserverStatsPanel activePanel;
[TranslationReference]
static readonly string InformationNone = "information-none";
[TranslationReference]
static readonly string Basic = "basic";
[TranslationReference]
static readonly string Economy = "economy";
[TranslationReference]
static readonly string Production = "production";
[TranslationReference]
static readonly string SupportPowers = "support-powers";
[TranslationReference]
static readonly string Combat = "combat";
[TranslationReference]
static readonly string Army = "army";
[TranslationReference]
static readonly string EarningsGraph = "earnings-graph";
[TranslationReference]
static readonly string ArmyGraph = "army-graph";
[TranslationReference("team")]
static readonly string Team = "team-no-team";
[ObjectCreator.UseCtor]
public ObserverStatsLogic(World world, ModData modData, WorldRenderer worldRenderer, Widget widget, Dictionary<string, MiniYaml> logicArgs)
{
@@ -111,6 +141,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var statsDropDown = widget.Get<DropDownButtonWidget>("STATS_DROPDOWN");
Func<string, ObserverStatsPanel, ScrollItemWidget, Action, StatsDropDownOption> createStatsOption = (title, panel, template, a) =>
{
title = modData.Translation.GetString(title);
return new StatsDropDownOption
{
Title = title,
@@ -134,24 +165,25 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{
new StatsDropDownOption
{
Title = "Information: None",
Title = modData.Translation.GetString(InformationNone),
IsSelected = () => activePanel == ObserverStatsPanel.None,
OnClick = () =>
{
statsDropDown.GetText = () => "Information: None";
var informationNone = modData.Translation.GetString(InformationNone);
statsDropDown.GetText = () => informationNone;
playerStatsPanel.Visible = false;
ClearStats();
activePanel = ObserverStatsPanel.None;
}
},
createStatsOption("Basic", ObserverStatsPanel.Basic, basicPlayerTemplate, () => DisplayStats(BasicStats)),
createStatsOption("Economy", ObserverStatsPanel.Economy, economyPlayerTemplate, () => DisplayStats(EconomyStats)),
createStatsOption("Production", ObserverStatsPanel.Production, productionPlayerTemplate, () => DisplayStats(ProductionStats)),
createStatsOption("Support Powers", ObserverStatsPanel.SupportPowers, supportPowersPlayerTemplate, () => DisplayStats(SupportPowerStats)),
createStatsOption("Combat", ObserverStatsPanel.Combat, combatPlayerTemplate, () => DisplayStats(CombatStats)),
createStatsOption("Army", ObserverStatsPanel.Army, armyPlayerTemplate, () => DisplayStats(ArmyStats)),
createStatsOption("Earnings (graph)", ObserverStatsPanel.Graph, null, () => IncomeGraph()),
createStatsOption("Army (graph)", ObserverStatsPanel.ArmyGraph, null, () => ArmyValueGraph()),
createStatsOption(Basic, ObserverStatsPanel.Basic, basicPlayerTemplate, () => DisplayStats(BasicStats, modData)),
createStatsOption(Economy, ObserverStatsPanel.Economy, economyPlayerTemplate, () => DisplayStats(EconomyStats, modData)),
createStatsOption(Production, ObserverStatsPanel.Production, productionPlayerTemplate, () => DisplayStats(ProductionStats, modData)),
createStatsOption(SupportPowers, ObserverStatsPanel.SupportPowers, supportPowersPlayerTemplate, () => DisplayStats(SupportPowerStats, modData)),
createStatsOption(Combat, ObserverStatsPanel.Combat, combatPlayerTemplate, () => DisplayStats(CombatStats, modData)),
createStatsOption(Army, ObserverStatsPanel.Army, armyPlayerTemplate, () => DisplayStats(ArmyStats, modData)),
createStatsOption(EarningsGraph, ObserverStatsPanel.Graph, null, () => IncomeGraph()),
createStatsOption(ArmyGraph, ObserverStatsPanel.ArmyGraph, null, () => ArmyValueGraph()),
};
Func<StatsDropDownOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) =>
@@ -230,7 +262,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
(p.PlayerActor.TraitOrDefault<PlayerStatistics>() ?? new PlayerStatistics(p.PlayerActor)).ArmySamples.Select(s => (float)s)));
}
void DisplayStats(Func<Player, ScrollItemWidget> createItem)
void DisplayStats(Func<Player, ScrollItemWidget> createItem, ModData modData)
{
foreach (var team in teams)
{
@@ -240,7 +272,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
tt.IgnoreMouseOver = true;
var teamLabel = tt.Get<LabelWidget>("TEAM");
var teamText = team.Key == 0 ? "No Team" : "Team " + team.Key;
var teamText = modData.Translation.GetString(Team, Translation.Arguments("team-no-team", team.Key));
teamLabel.GetText = () => teamText;
tt.Bounds.Width = teamLabel.Bounds.Width = Game.Renderer.Fonts[tt.Font].Measure(tt.Get<LabelWidget>("TEAM").GetText()).X;