diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 6f8580c..db7d405 100644 Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.dll and b/1.6/1.6/Assemblies/ArachnaeSwarm.dll differ diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.pdb b/1.6/1.6/Assemblies/ArachnaeSwarm.pdb index 415ae44..5ba7042 100644 Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.pdb and b/1.6/1.6/Assemblies/ArachnaeSwarm.pdb differ diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ARA_QueuedIncubator.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ARA_QueuedIncubator.xml index cfaca0a..ad7e7fe 100644 --- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ARA_QueuedIncubator.xml +++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ARA_QueuedIncubator.xml @@ -5,7 +5,10 @@ 品质 平衡 速度 - + 手动调节活性值 + 低活性,追求高品质产出 + 自动调节,在速度和品质间取得平衡 + 高活性,以最高速度进行生产 队列已满! 已有幼虫正在工作中,请等待完成 @@ -15,6 +18,10 @@ 幼虫无法接受任务 没有可用的孵化选项(检查 CompIncubatorData 配置) 没有可生产的物品(检查建筑是否正确配置) + 制造舱因品质归零而损坏! + 孵化已取消。 + 孵化完成: {0} + 孵化开始: {0} 传奇 @@ -27,6 +34,21 @@ 等待中 等待幼虫 + 就绪 - 点击选择目标 + 正在孵化: {0} + 幼虫激活中... + 幼虫赶路中... + 目标: {0} + 进度: {0} + 当前活性: {0} + 孵化速度: {0}x + 效率 + 速度 + 模式: {0} + ⚠ 休眠中,品质下降! + 剩余时间: {0} 天 + 速度: {0} | 质量: {1} + 速度: {0} 订单: {0} / {1} @@ -43,6 +65,15 @@ 一只幼虫正在操作孵化器(还有{0}个订单等待) 幼虫激活中 幼虫赶路中 + 速度因子 + 质量因子 + 总速度倍率: {0} + 总质量倍率: {0} + 活性强度 + 【孵化活性控制】 + ▸ 活性越高 → 孵化越快\n▸ 活性越低 → 品质越高 + 点击拖动调节 | 右上角切换模式 + 呼叫幼虫激活制造舱\n\n目标: {0} 选择孵化目标 @@ -64,7 +95,11 @@ 【就绪】 目标: 孵化时间: {0} 天 + 品质: {0} ({1}) + 进度: {0} + 剩余: {0} - + 可制作: {0} 份 + 虫蜜 diff --git a/Source/ArachnaeSwarm/Building_Comps/CompRefuelableNutrition.cs b/Source/ArachnaeSwarm/Building_Comps/CompRefuelableNutrition.cs index c1ceff6..7c5da07 100644 --- a/Source/ArachnaeSwarm/Building_Comps/CompRefuelableNutrition.cs +++ b/Source/ArachnaeSwarm/Building_Comps/CompRefuelableNutrition.cs @@ -97,7 +97,7 @@ namespace ArachnaeSwarm public override string CompInspectStringExtra() { - string fuelLabel = string.IsNullOrEmpty(Props.FuelLabel) ? "Nutrition" : Props.FuelLabel; + string fuelLabel = string.IsNullOrEmpty(Props.FuelLabel) ? "ARA_FuelLabel_Nutrition".Translate().ToString() : Props.FuelLabel; string text = fuelLabel + ": " + Fuel.ToStringDecimalIfSmall() + " / " + Props.fuelCapacity.ToStringDecimalIfSmall(); if (currentConsumptionRate > 0f && HasFuel) diff --git a/Source/ArachnaeSwarm/Buildings/Building_EquipmentOotheca/Building_EquipmentOotheca.cs b/Source/ArachnaeSwarm/Buildings/Building_EquipmentOotheca/Building_EquipmentOotheca.cs index c02f4ca..b8c43c4 100644 --- a/Source/ArachnaeSwarm/Buildings/Building_EquipmentOotheca/Building_EquipmentOotheca.cs +++ b/Source/ArachnaeSwarm/Buildings/Building_EquipmentOotheca/Building_EquipmentOotheca.cs @@ -140,7 +140,7 @@ namespace ArachnaeSwarm if (qualityProgress <= 0 && qualityTotal > 0) { - Messages.Message("制造舱因品质归零而损坏!", this, MessageTypeDefOf.NegativeEvent); + Messages.Message("ARA_Msg_IncubatorBrokenQualityZero".Translate(), this, MessageTypeDefOf.NegativeEvent); Destroy(DestroyMode.KillFinalize); return; } @@ -216,28 +216,24 @@ namespace ArachnaeSwarm public string GetSpeedFactorsDescription() { StringBuilder sb = new StringBuilder(); - sb.AppendLine("速度因子"); + sb.AppendLine("ARA_Gizmo_SpeedFactors".Translate()); sb.AppendLine(); - sb.Append("总速度倍率: " + SpeedMultiplier.ToStringPercent()); + sb.Append("ARA_Gizmo_TotalSpeedMultiplier".Translate(SpeedMultiplier.ToStringPercent())); return sb.ToString().TrimEndNewlines(); } public string GetQualityFactorsDescription() { StringBuilder sb = new StringBuilder(); - sb.AppendLine("质量因子"); + sb.AppendLine("ARA_Gizmo_QualityFactors".Translate()); sb.AppendLine(); - sb.Append("总质量倍率: " + QualityMultiplier.ToStringPercent()); + sb.Append("ARA_Gizmo_TotalQualityMultiplier".Translate(QualityMultiplier.ToStringPercent())); return sb.ToString().TrimEndNewlines(); } private string BuildCallLarvaDescription(EquipmentIncubationConfig config) { - StringBuilder sb = new StringBuilder(); - sb.AppendLine("呼叫幼虫激活制造舱"); - sb.AppendLine(); - sb.AppendLine("目标: " + config.thingDef.LabelCap); - return sb.ToString().TrimEndNewlines(); + return "ARA_Gizmo_CallLarvaActivationDesc".Translate(config.thingDef.LabelCap); } // === 幼虫交互 === @@ -248,14 +244,14 @@ namespace ArachnaeSwarm var larva = FindLarva(); if (larva == null) { - Messages.Message("未找到可用的幼虫!", MessageTypeDefOf.RejectInput); + Messages.Message("ARA_Msg_NoLarvaFound".Translate(), MessageTypeDefOf.RejectInput); return; } var job = JobMaker.MakeJob(ARA_JobDefOf.ARA_OperateIncubator, this); larva.jobs.TryTakeOrderedJob(job, JobTag.MiscWork); assignedLarva = larva; - Messages.Message("已呼叫幼虫。", MessageTypeDefOf.PositiveEvent); + Messages.Message("ARA_Msg_LarvaCalled".Translate(), MessageTypeDefOf.PositiveEvent); } private Pawn FindLarva() @@ -295,7 +291,7 @@ namespace ArachnaeSwarm assignedLarva = null; larvaOperateTicksRemaining = 0; - Messages.Message("孵化开始: " + incubatingThingDef.LabelCap, MessageTypeDefOf.PositiveEvent); + Messages.Message("ARA_Msg_IncubationStarted".Translate(incubatingThingDef.LabelCap), MessageTypeDefOf.PositiveEvent); } public void CancelIncubation() @@ -303,7 +299,7 @@ namespace ArachnaeSwarm isIncubating = false; incubatingThingDef = null; incubationProgress = 0f; - Messages.Message("孵化已取消。", MessageTypeDefOf.NeutralEvent); + Messages.Message("ARA_Msg_IncubationCancelled".Translate(), MessageTypeDefOf.NeutralEvent); } private void CompleteIncubation() @@ -332,7 +328,7 @@ namespace ArachnaeSwarm GenSpawn.Spawn(thing, Position, Map); isIncubating = false; incubatingThingDef = null; - Messages.Message("孵化完成: " + thing.LabelCap, MessageTypeDefOf.PositiveEvent); + Messages.Message("ARA_Msg_IncubationComplete".Translate(thing.LabelCap), MessageTypeDefOf.PositiveEvent); Destroy(); } @@ -369,22 +365,22 @@ namespace ArachnaeSwarm StringBuilder sb = new StringBuilder(); if (isIncubating && incubatingThingDef != null) { - sb.AppendLine("正在孵化: " + incubatingThingDef.LabelCap); - sb.AppendLine("进度: " + AdjustedProgressPercent.ToStringPercent()); - sb.AppendLine("剩余时间: " + GetRemainingDays().ToString("F1") + " 天"); - sb.Append("速度: " + SpeedMultiplier.ToStringPercent() + " | 质量: " + QualityMultiplier.ToStringPercent()); + sb.AppendLine("ARA_Status_Incubating".Translate(incubatingThingDef.LabelCap)); + sb.AppendLine("ARA_Status_Progress".Translate(AdjustedProgressPercent.ToStringPercent())); + sb.AppendLine("ARA_Status_RemainingTime".Translate(GetRemainingDays().ToString("F1"))); + sb.Append("ARA_Status_SpeedAndQuality".Translate(SpeedMultiplier.ToStringPercent(), QualityMultiplier.ToStringPercent())); } else if (assignedLarva != null) { - sb.Append(larvaOperateTicksRemaining > 0 ? "幼虫激活中..." : "幼虫赶路中..."); + sb.Append(larvaOperateTicksRemaining > 0 ? "ARA_Status_LarvaActivating".Translate() : "ARA_Status_LarvaOnTheWay".Translate()); } else { var config = EquipmentIncubatorData?.SelectedConfig; if (config != null) { - sb.AppendLine("目标: " + config.thingDef.LabelCap); - sb.Append("速度: " + SpeedMultiplier.ToStringPercent()); + sb.AppendLine("ARA_Status_Target".Translate(config.thingDef.LabelCap)); + sb.Append("ARA_Status_Speed".Translate(SpeedMultiplier.ToStringPercent())); } } diff --git a/Source/ArachnaeSwarm/Buildings/Building_EquipmentOotheca/CompProperties_EquipmentIncubatorData.cs b/Source/ArachnaeSwarm/Buildings/Building_EquipmentOotheca/CompProperties_EquipmentIncubatorData.cs index ec87fa8..76bf755 100644 --- a/Source/ArachnaeSwarm/Buildings/Building_EquipmentOotheca/CompProperties_EquipmentIncubatorData.cs +++ b/Source/ArachnaeSwarm/Buildings/Building_EquipmentOotheca/CompProperties_EquipmentIncubatorData.cs @@ -372,11 +372,11 @@ namespace ArachnaeSwarm var current = SelectedConfig; if (current != null && current.thingDef != null) { - string status = "ARA_EquipmentIncubator.IncubationTarget".Translate(current.thingDef.LabelCap); + string status = "ARA_Status_Target".Translate(current.thingDef.LabelCap); if (current.requiredResearch != null && !current.requiredResearch.IsFinished) { - status += " (" + "ARA_EquipmentIncubator.Requires".Translate() + ": " + current.requiredResearch.LabelCap + ")"; + status += " (" + "ARA_Menu_RequiresResearch".Translate(current.requiredResearch.LabelCap) + ")"; } return status; diff --git a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Building_Ootheca.cs b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Building_Ootheca.cs index 9c2d3fa..f9700ac 100644 --- a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Building_Ootheca.cs +++ b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Building_Ootheca.cs @@ -169,7 +169,7 @@ namespace ArachnaeSwarm assignedLarva = null; larvaOperateTicksRemaining = 0; - Messages.Message("ARA_OothecaIncubator.IncubationStarted".Translate() + " " + incubatingPawnKind.LabelCap, MessageTypeDefOf.PositiveEvent); + Messages.Message("ARA_Msg_IncubationStarted".Translate(incubatingPawnKind.LabelCap), MessageTypeDefOf.PositiveEvent); } public void CancelIncubation() @@ -178,7 +178,7 @@ namespace ArachnaeSwarm incubationProgress = 0f; incubationDuration = 0f; incubatingPawnKind = null; - Messages.Message("ARA_OothecaIncubator.IncubationCancelled".Translate(), MessageTypeDefOf.NeutralEvent); + Messages.Message("ARA_Msg_IncubationCancelled".Translate(), MessageTypeDefOf.NeutralEvent); } private void CompleteIncubation() @@ -193,7 +193,7 @@ namespace ArachnaeSwarm isIncubating = false; incubatingPawnKind = null; - Messages.Message("ARA_OothecaIncubator.IncubationComplete".Translate() + " " + pawn.LabelCap, MessageTypeDefOf.PositiveEvent); + Messages.Message("ARA_Msg_IncubationComplete".Translate(pawn.LabelCap), MessageTypeDefOf.PositiveEvent); Destroy(); } @@ -245,7 +245,7 @@ namespace ArachnaeSwarm if (qualityProgress <= 0 && qualityTotal > 0) { - Messages.Message("卵囊因品质归零而损坏!", this, MessageTypeDefOf.NegativeEvent); + Messages.Message("ARA_Msg_IncubatorBrokenQualityZero".Translate(), this, MessageTypeDefOf.NegativeEvent); Destroy(DestroyMode.KillFinalize); return; } @@ -374,22 +374,22 @@ namespace ArachnaeSwarm StringBuilder sb = new StringBuilder(); if (isIncubating && incubatingPawnKind != null) { - sb.AppendLine("正在孵化: " + incubatingPawnKind.LabelCap); - sb.AppendLine("进度: " + AdjustedProgressPercent.ToStringPercent()); - sb.AppendLine("剩余时间: " + GetRemainingDays().ToString("F1") + " 天"); - sb.Append("速度: " + SpeedMultiplier.ToStringPercent() + " | 质量: " + QualityMultiplier.ToStringPercent()); + sb.AppendLine("ARA_Status_Incubating".Translate(incubatingPawnKind.LabelCap)); + sb.AppendLine("ARA_Status_Progress".Translate(AdjustedProgressPercent.ToStringPercent())); + sb.AppendLine("ARA_Status_RemainingTime".Translate(GetRemainingDays().ToString("F1"))); + sb.Append("ARA_Status_SpeedAndQuality".Translate(SpeedMultiplier.ToStringPercent(), QualityMultiplier.ToStringPercent())); } else if (assignedLarva != null) { - sb.Append(larvaOperateTicksRemaining > 0 ? "幼虫激活中..." : "幼虫赶路中..."); + sb.Append(larvaOperateTicksRemaining > 0 ? "ARA_Status_LarvaActivating".Translate() : "ARA_Status_LarvaOnTheWay".Translate()); } else { var config = IncubatorData?.SelectedConfig; if (config != null) { - sb.AppendLine("目标: " + config.pawnKind.LabelCap); - sb.Append("速度: " + SpeedMultiplier.ToStringPercent()); + sb.AppendLine("ARA_Status_Target".Translate(config.pawnKind.LabelCap)); + sb.Append("ARA_Status_Speed".Translate(SpeedMultiplier.ToStringPercent())); } } diff --git a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/CompProperties_IncubatorData.cs b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/CompProperties_IncubatorData.cs index 19d3700..45d032c 100644 --- a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/CompProperties_IncubatorData.cs +++ b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/CompProperties_IncubatorData.cs @@ -435,11 +435,11 @@ namespace ArachnaeSwarm var current = SelectedConfig; if (current != null) { - string status = "IncubationTarget".Translate() + current.pawnKind.LabelCap; + string status = "ARA_Status_Target".Translate(current.pawnKind.LabelCap); if (current.requiredResearch != null && !current.requiredResearch.IsFinished) { - status += " (" + "Requires".Translate() + ": " + current.requiredResearch.LabelCap + ")"; + status += " (" + "ARA_Menu_RequiresResearch".Translate(current.requiredResearch.LabelCap) + ")"; } return status; diff --git a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_DualProgressBar.cs b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_DualProgressBar.cs index 8b91156..2da7b30 100644 --- a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_DualProgressBar.cs +++ b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_DualProgressBar.cs @@ -64,7 +64,7 @@ namespace ArachnaeSwarm } else { - title = "选择生产目标..."; + title = "ARA_Menu_SelectProductionTarget".Translate(); } if (canAdd) @@ -86,7 +86,7 @@ namespace ArachnaeSwarm else { GUI.color = new Color(0.5f, 0.5f, 0.5f); - Widgets.Label(titleRect, title.Truncate(titleRect.width) + " (满)"); + Widgets.Label(titleRect, title.Truncate(titleRect.width) + " " + "ARA_Gizmo_QueueFull".Translate()); GUI.color = Color.white; } curY += Text.LineHeight + Spacing; @@ -137,7 +137,7 @@ namespace ArachnaeSwarm { Text.Font = GameFont.Tiny; GUI.color = new Color(0.7f, 0.7f, 0.7f); - Widgets.Label(new Rect(innerRect.x, curY, innerRect.width, 20f), "就绪 - 点击上方选择目标"); + Widgets.Label(new Rect(innerRect.x, curY, innerRect.width, 20f), "ARA_Status_Ready".Translate()); GUI.color = Color.white; } @@ -155,7 +155,7 @@ namespace ArachnaeSwarm if (order.status == OrderStatus.WaitingForLarva) { GUI.color = new Color(1f, 0.8f, 0.4f); - Widgets.Label(labelRect, $"{order.label} [等待幼虫]"); + Widgets.Label(labelRect, $"{order.label} [" + "ARA_Status_WaitingForLarva".Translate() + "]"); } else { @@ -189,7 +189,10 @@ namespace ArachnaeSwarm Widgets.DrawLineVertical(midX, barRect.y, barRect.height); - string tooltip = $"{order.label}\n品质: {order.qualityProgress.ToStringPercent()} → {order.estimatedQuality}\n进度: {order.productionProgress.ToStringPercent()}"; + // Tooltip + string tooltip = $"{order.label}\n" + + "ARA_Tooltip_Quality".Translate(order.qualityProgress.ToStringPercent(), order.estimatedQuality) + "\n" + + "ARA_Tooltip_Progress".Translate(order.productionProgress.ToStringPercent()); TooltipHandler.TipRegion(barRect, tooltip); } else @@ -198,7 +201,7 @@ namespace ArachnaeSwarm Text.Font = GameFont.Tiny; Text.Anchor = TextAnchor.MiddleCenter; GUI.color = new Color(0.8f, 0.6f, 0.2f); - Widgets.Label(barRect, "等待幼虫激活"); + Widgets.Label(barRect, "ARA_Status_WaitingForLarva".Translate()); GUI.color = Color.white; Text.Anchor = TextAnchor.UpperLeft; } diff --git a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_NeutronFlux.cs b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_NeutronFlux.cs index c086b1e..5edc347 100644 --- a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_NeutronFlux.cs +++ b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_NeutronFlux.cs @@ -50,7 +50,7 @@ namespace ArachnaeSwarm Text.Font = GameFont.Small; Text.Anchor = TextAnchor.MiddleLeft; Rect titleRect = new Rect(innerRect.x, innerRect.y, innerRect.width - 24f, 18f); - Widgets.Label(titleRect, "活性"); + Widgets.Label(titleRect, "ARA_Gizmo_NeutronFlux_Title".Translate()); // === 右上角模式切换按钮 === float buttonSize = 20f; @@ -163,7 +163,7 @@ namespace ArachnaeSwarm // 效率 GUI.color = new Color(0.7f, 0.7f, 0.7f); Rect effRect = new Rect(infoX, barRect.y + 22f, infoWidth, 14f); - Widgets.Label(effRect, "效率"); + Widgets.Label(effRect, "ARA_Status_Efficiency".Translate()); Rect effValRect = new Rect(infoX, barRect.y + 36f, infoWidth, 14f); GUI.color = Color.white; Widgets.Label(effValRect, (controller.FluxEfficiency * 100f).ToString("0") + "%"); @@ -172,7 +172,7 @@ namespace ArachnaeSwarm GUI.color = new Color(0.7f, 0.7f, 0.7f); float speedMultiplier = controller.FluxEfficiency * 5f; Rect speedRect = new Rect(infoX, barRect.y + 54f, infoWidth, 14f); - Widgets.Label(speedRect, "速度"); + Widgets.Label(speedRect, "ARA_Status_Speed".Translate()); Rect speedValRect = new Rect(infoX, barRect.y + 68f, infoWidth, 14f); GUI.color = speedMultiplier >= 1f ? new Color(0.5f, 1f, 0.5f) : new Color(1f, 0.7f, 0.5f); Widgets.Label(speedValRect, speedMultiplier.ToString("0.0") + "x"); @@ -201,48 +201,45 @@ namespace ArachnaeSwarm { var sb = new System.Text.StringBuilder(); - sb.AppendLine("【孵化活性】"); + sb.AppendLine("ARA_Gizmo_NeutronFlux_TooltipTitle".Translate()); sb.AppendLine(); - // 核心机制(简洁明了) - sb.AppendLine("▸ 活性越高 → 孵化越快"); - sb.AppendLine("▸ 活性越低 → 品质越高"); + // 核心机制 + sb.AppendLine("ARA_Gizmo_NeutronFlux_CoreMechanic".Translate()); sb.AppendLine(); // 当前状态 - sb.AppendLine($"当前活性: {(controller.RawFlux * 100f):0}%"); - sb.AppendLine($"孵化速度: {(controller.FluxEfficiency * 5f):0.0}x"); + sb.AppendLine("ARA_Status_CurrentFlux".Translate(controller.RawFlux.ToStringPercent("0"))); + sb.AppendLine("ARA_Status_IncubationSpeed".Translate((controller.FluxEfficiency * 5f).ToString("0.0"))); sb.AppendLine(); // 模式说明 - sb.AppendLine($"模式: {controller.GetModeName()}"); - switch (controller.CurrentFluxMode) + sb.AppendLine("ARA_Status_Mode".Translate(controller.GetModeName())); + + string modeDescKey = controller.CurrentFluxMode switch { - case FluxMode.Manual: - sb.AppendLine(" 手动调节活性"); - break; - case FluxMode.Quality: - sb.AppendLine(" 低活性,追求品质"); - break; - case FluxMode.Balance: - sb.AppendLine(" 自动平衡速度和品质"); - break; - case FluxMode.Speed: - sb.AppendLine(" 高活性,快速孵化"); - break; + FluxMode.Manual => "ARA_FluxMode_Manual_Desc", + FluxMode.Quality => "ARA_FluxMode_Quality_Desc", + FluxMode.Balance => "ARA_FluxMode_Balance_Desc", + FluxMode.Speed => "ARA_FluxMode_Speed_Desc", + _ => "" + }; + if (!string.IsNullOrEmpty(modeDescKey)) + { + sb.AppendLine(" " + modeDescKey.Translate()); } sb.AppendLine(); // 操作 - sb.AppendLine("点击拖动调节 | 右上角切换模式"); + sb.AppendLine("ARA_Gizmo_NeutronFlux_Operations".Translate()); if (controller.IsDormant) { sb.AppendLine(); - sb.AppendLine("⚠ 休眠中,品质下降!"); + sb.AppendLine("" + "ARA_Status_DormantWarning".Translate() + ""); } - return sb.ToString().TrimEndNewlines(); + return sb.ToString().TrimEnd(); } } } diff --git a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_PawnProgressBar.cs b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_PawnProgressBar.cs index 4695eaa..0628bba 100644 --- a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_PawnProgressBar.cs +++ b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Gizmo_PawnProgressBar.cs @@ -143,7 +143,7 @@ namespace ArachnaeSwarm // 无订单时的提示 Text.Font = GameFont.Tiny; GUI.color = new Color(0.7f, 0.7f, 0.7f); - Widgets.Label(new Rect(innerRect.x, curY, innerRect.width, 20f), "就绪 - 点击上方选择目标"); + Widgets.Label(new Rect(innerRect.x, curY, innerRect.width, 20f), "ARA_Status_Ready".Translate()); GUI.color = Color.white; } @@ -162,7 +162,7 @@ namespace ArachnaeSwarm if (order.status == OrderStatus.WaitingForLarva) { GUI.color = new Color(1f, 0.8f, 0.4f); - Widgets.Label(labelRect, $"{order.label} [等待幼虫]"); + Widgets.Label(labelRect, $"{order.label} [" + "ARA_Status_WaitingForLarva".Translate() + "]"); } else { @@ -204,7 +204,10 @@ namespace ArachnaeSwarm Widgets.DrawLineVertical(midX, barRect.y, barRect.height); // Tooltip - string tooltip = $"{order.label}\n品质: {order.qualityProgress.ToStringPercent()} → {order.estimatedQuality}\n进度: {order.progress.ToStringPercent()}\n剩余: {order.remainingTime}"; + string tooltip = $"{order.label}\n" + + "ARA_Tooltip_Quality".Translate(order.qualityProgress.ToStringPercent(), order.estimatedQuality) + "\n" + + "ARA_Tooltip_Progress".Translate(order.progress.ToStringPercent()) + "\n" + + "ARA_Tooltip_Remaining".Translate(order.remainingTime); TooltipHandler.TipRegion(barRect, tooltip); } else @@ -214,7 +217,7 @@ namespace ArachnaeSwarm Text.Font = GameFont.Tiny; Text.Anchor = TextAnchor.MiddleCenter; GUI.color = new Color(0.8f, 0.6f, 0.2f); - Widgets.Label(barRect, "等待幼虫激活"); + Widgets.Label(barRect, "ARA_Status_WaitingForLarva".Translate()); GUI.color = Color.white; Text.Anchor = TextAnchor.UpperLeft; }