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;
}