diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs b/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs
index e7f481e0e..1c1444ddb 100644
--- a/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs
+++ b/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs
@@ -97,7 +97,7 @@ namespace Barotrauma
img.Color = order.Color;
img.CanBeFocused = false;
- orderListBox.children[characterIndex].ToolTip = "Order: " + order.Name;
+ orderListBox.children[characterIndex].ToolTip = TextManager.Get("Order") + ": " + order.Name;
}
public bool SelectCharacterOrder(GUIComponent component, object selection)
diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameSession.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameSession.cs
index 525f25859..b119668e9 100644
--- a/Barotrauma/BarotraumaClient/Source/GameSession/GameSession.cs
+++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameSession.cs
@@ -48,22 +48,22 @@ namespace Barotrauma
innerFrame.Padding = new Vector4(10.0f, 10.0f, 10.0f, 10.0f);
- var crewButton = new GUIButton(new Rectangle(0, -30, 100, 20), "Crew", "", innerFrame);
+ var crewButton = new GUIButton(new Rectangle(0, -30, 100, 20), TextManager.Get("Crew"), "", innerFrame);
crewButton.UserData = InfoFrameTab.Crew;
crewButton.OnClicked = SelectInfoFrameTab;
- var missionButton = new GUIButton(new Rectangle(100, -30, 100, 20), "Mission", "", innerFrame);
+ var missionButton = new GUIButton(new Rectangle(100, -30, 100, 20), TextManager.Get("Mission"), "", innerFrame);
missionButton.UserData = InfoFrameTab.Mission;
missionButton.OnClicked = SelectInfoFrameTab;
if (GameMain.Server != null)
{
- var manageButton = new GUIButton(new Rectangle(200, -30, 130, 20), "Manage players", "", innerFrame);
+ var manageButton = new GUIButton(new Rectangle(200, -30, 130, 20), TextManager.Get("ManagePlayers"), "", innerFrame);
manageButton.UserData = InfoFrameTab.ManagePlayers;
manageButton.OnClicked = SelectInfoFrameTab;
}
- var closeButton = new GUIButton(new Rectangle(0, 0, 80, 20), "Close", Alignment.BottomCenter, "", innerFrame);
+ var closeButton = new GUIButton(new Rectangle(0, 0, 80, 20), TextManager.Get("Close"), Alignment.BottomCenter, "", innerFrame);
closeButton.OnClicked = ToggleInfoFrame;
}
@@ -94,16 +94,14 @@ namespace Barotrauma
{
if (Mission == null)
{
- new GUITextBlock(new Rectangle(0, 0, 0, 50), "No mission", "", infoFrame, true);
+ new GUITextBlock(new Rectangle(0, 0, 0, 50), TextManager.Get("NoMission"), "", infoFrame, true);
return;
}
new GUITextBlock(new Rectangle(0, 0, 0, 40), Mission.Name, "", infoFrame, GUI.LargeFont);
- new GUITextBlock(new Rectangle(0, 50, 0, 20), "Reward: " + Mission.Reward, "", infoFrame, true);
+ new GUITextBlock(new Rectangle(0, 50, 0, 20), TextManager.Get("MissionReward").Replace("[reward]", Mission.Reward.ToString()), "", infoFrame, true);
new GUITextBlock(new Rectangle(0, 70, 0, 50), Mission.Description, "", infoFrame, true);
-
-
}
public void AddToGUIUpdateList()
diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/RoundSummary.cs b/Barotrauma/BarotraumaClient/Source/GameSession/RoundSummary.cs
index fe9a1632d..470e36492 100644
--- a/Barotrauma/BarotraumaClient/Source/GameSession/RoundSummary.cs
+++ b/Barotrauma/BarotraumaClient/Source/GameSession/RoundSummary.cs
@@ -38,8 +38,11 @@ namespace Barotrauma
if (singleplayer)
{
- string summaryText = TextManager.Get(gameOver ? "gameover" :
- (progress ? "progress" : "return"));
+ string summaryText = TextManager.Get(gameOver ? "RoundSummaryGameOver" :
+ (progress ? "RoundSummaryProgress" : "RoundSummaryReturn"));
+
+ summaryText.Replace("[sub]", Submarine.MainSub.Name);
+ summaryText.Replace("[location]", GameMain.GameSession.StartLocation.Name);
var infoText = new GUITextBlock(new Rectangle(0, y, 0, 50), summaryText, "", innerFrame, true);
y += infoText.Rect.Height;
@@ -53,7 +56,7 @@ namespace Barotrauma
y += 30 + endText.Text.Split('\n').Length * 20;
}
- new GUITextBlock(new Rectangle(0, y, 0, 20), "Crew status:", "", innerFrame, GUI.LargeFont);
+ new GUITextBlock(new Rectangle(0, y, 0, 20), TextManager.Get("RoundSummaryCrewStatus"), "", innerFrame, GUI.LargeFont);
y += 30;
GUIListBox listBox = new GUIListBox(new Rectangle(0,y,0,90), null, Alignment.TopLeft, "", innerFrame, true);
@@ -75,7 +78,7 @@ namespace Barotrauma
characterInfo.CreateCharacterFrame(characterFrame,
characterInfo.Job != null ? (characterInfo.Name + '\n' + "(" + characterInfo.Job.Name + ")") : characterInfo.Name, null);
- string statusText = "OK";
+ string statusText = TextManager.Get("StatusOK");
Color statusColor = Color.DarkGreen;
Character character = characterInfo.Character;
@@ -88,12 +91,12 @@ namespace Barotrauma
{
if (character.IsUnconscious)
{
- statusText = "Unconscious";
+ statusText = TextManager.Get("Unconscious");
statusColor = Color.DarkOrange;
}
else if (character.Health / character.MaxHealth < 0.8f)
{
- statusText = "Injured";
+ statusText = TextManager.Get("Injured");
statusColor = Color.DarkOrange;
}
}
@@ -110,7 +113,7 @@ namespace Barotrauma
if (GameMain.GameSession.Mission != null)
{
- new GUITextBlock(new Rectangle(0, y, 0, 20), "Mission: " + GameMain.GameSession.Mission.Name, "", innerFrame, GUI.LargeFont);
+ new GUITextBlock(new Rectangle(0, y, 0, 20), TextManager.Get("Mission") + ": " + GameMain.GameSession.Mission.Name, "", innerFrame, GUI.LargeFont);
y += 30;
new GUITextBlock(new Rectangle(0, y, innerFrame.Rect.Width - 170, 0),
@@ -124,7 +127,7 @@ namespace Barotrauma
if (GameMain.GameSession.Mission.Completed && singleplayer)
{
- new GUITextBlock(new Rectangle(0, 0, 0, 30), "Reward: " + GameMain.GameSession.Mission.Reward, "", Alignment.BottomLeft, Alignment.BottomLeft, innerFrame);
+ new GUITextBlock(new Rectangle(0, 0, 0, 30), TextManager.Get("Reward") + ": " + GameMain.GameSession.Mission.Reward, "", Alignment.BottomLeft, Alignment.BottomLeft, innerFrame);
}
}
else
diff --git a/Barotrauma/BarotraumaClient/Source/GameSettings.cs b/Barotrauma/BarotraumaClient/Source/GameSettings.cs
index 9c7b563ca..8a4e47748 100644
--- a/Barotrauma/BarotraumaClient/Source/GameSettings.cs
+++ b/Barotrauma/BarotraumaClient/Source/GameSettings.cs
@@ -52,11 +52,11 @@ namespace Barotrauma
{
settingsFrame = new GUIFrame(new Rectangle(0, 0, 500, 500), null, Alignment.Center, "");
- new GUITextBlock(new Rectangle(0, -30, 0, 30), "Settings", "", Alignment.TopCenter, Alignment.TopCenter, settingsFrame, false, GUI.LargeFont);
+ new GUITextBlock(new Rectangle(0, -30, 0, 30), TextManager.Get("Settings"), "", Alignment.TopCenter, Alignment.TopCenter, settingsFrame, false, GUI.LargeFont);
int x = 0, y = 10;
- new GUITextBlock(new Rectangle(0, y, 20, 20), "Resolution", "", Alignment.TopLeft, Alignment.TopLeft, settingsFrame);
+ new GUITextBlock(new Rectangle(0, y, 20, 20), TextManager.Get("Resolution"), "", Alignment.TopLeft, Alignment.TopLeft, settingsFrame);
var resolutionDD = new GUIDropDown(new Rectangle(0, y + 20, 180, 20), "", "", settingsFrame);
resolutionDD.OnSelected = SelectResolution;
@@ -82,11 +82,11 @@ namespace Barotrauma
//fullScreenTick.OnSelected = ToggleFullScreen;
//fullScreenTick.Selected = FullScreenEnabled;
- new GUITextBlock(new Rectangle(x, y, 20, 20), "Display mode", "", Alignment.TopLeft, Alignment.TopLeft, settingsFrame);
+ new GUITextBlock(new Rectangle(x, y, 20, 20), TextManager.Get("DisplayMode"), "", Alignment.TopLeft, Alignment.TopLeft, settingsFrame);
var displayModeDD = new GUIDropDown(new Rectangle(x, y + 20, 180, 20), "", "", settingsFrame);
- displayModeDD.AddItem("Fullscreen", WindowMode.Fullscreen);
- displayModeDD.AddItem("Windowed", WindowMode.Windowed);
- displayModeDD.AddItem("Borderless windowed", WindowMode.BorderlessWindowed);
+ displayModeDD.AddItem(TextManager.Get("Fullscreen"), WindowMode.Fullscreen);
+ displayModeDD.AddItem(TextManager.Get("Windowed"), WindowMode.Windowed);
+ displayModeDD.AddItem(TextManager.Get("BorderlessWindowed"), WindowMode.BorderlessWindowed);
displayModeDD.SelectItem(GameMain.Config.WindowMode);
@@ -94,7 +94,7 @@ namespace Barotrauma
y += 70;
- GUITickBox vsyncTickBox = new GUITickBox(new Rectangle(0, y, 20, 20), "Enable vertical sync", Alignment.CenterY | Alignment.Left, settingsFrame);
+ GUITickBox vsyncTickBox = new GUITickBox(new Rectangle(0, y, 20, 20), TextManager.Get("EnableVSync"), Alignment.CenterY | Alignment.Left, settingsFrame);
vsyncTickBox.OnSelected = (GUITickBox box) =>
{
VSyncEnabled = !VSyncEnabled;
@@ -108,13 +108,13 @@ namespace Barotrauma
y += 70;
- new GUITextBlock(new Rectangle(0, y, 100, 20), "Sound volume:", "", settingsFrame);
+ new GUITextBlock(new Rectangle(0, y, 100, 20), TextManager.Get("SoundVolume"), "", settingsFrame);
GUIScrollBar soundScrollBar = new GUIScrollBar(new Rectangle(0, y + 20, 150, 20), "", 0.1f, settingsFrame);
soundScrollBar.BarScroll = SoundVolume;
soundScrollBar.OnMoved = ChangeSoundVolume;
soundScrollBar.Step = 0.05f;
- new GUITextBlock(new Rectangle(0, y + 40, 100, 20), "Music volume:", "", settingsFrame);
+ new GUITextBlock(new Rectangle(0, y + 40, 100, 20), TextManager.Get("MusicVolume"), "", settingsFrame);
GUIScrollBar musicScrollBar = new GUIScrollBar(new Rectangle(0, y + 60, 150, 20), "", 0.1f, settingsFrame);
musicScrollBar.BarScroll = MusicVolume;
musicScrollBar.OnMoved = ChangeMusicVolume;
@@ -123,7 +123,7 @@ namespace Barotrauma
x = 200;
y = 10;
- new GUITextBlock(new Rectangle(x, y, 20, 20), "Content package", "", Alignment.TopLeft, Alignment.TopLeft, settingsFrame);
+ new GUITextBlock(new Rectangle(x, y, 20, 20), TextManager.Get("ContentPackage"), "", Alignment.TopLeft, Alignment.TopLeft, settingsFrame);
var contentPackageDD = new GUIDropDown(new Rectangle(x, y + 20, 200, 20), "", "", settingsFrame);
contentPackageDD.OnSelected = SelectContentPackage;
@@ -135,7 +135,7 @@ namespace Barotrauma
}
y += 50;
- new GUITextBlock(new Rectangle(x, y, 100, 20), "Controls:", "", settingsFrame);
+ new GUITextBlock(new Rectangle(x, y, 100, 20), TextManager.Get("Controls"), "", settingsFrame);
y += 30;
var inputNames = Enum.GetNames(typeof(InputType));
for (int i = 0; i < inputNames.Length; i++)
@@ -151,7 +151,7 @@ namespace Barotrauma
y += 20;
}
- applyButton = new GUIButton(new Rectangle(0, 0, 100, 20), "Apply", Alignment.BottomRight, "", settingsFrame);
+ applyButton = new GUIButton(new Rectangle(0, 0, 100, 20), TextManager.Get("ApplySettingsButton"), Alignment.BottomRight, "", settingsFrame);
applyButton.OnClicked = ApplyClicked;
}
@@ -240,7 +240,7 @@ namespace Barotrauma
if (GameMain.GraphicsWidth != GameMain.Config.GraphicsWidth || GameMain.GraphicsHeight != GameMain.Config.GraphicsHeight)
{
- new GUIMessageBox("Restart required", "You need to restart the game for the resolution changes to take effect.");
+ new GUIMessageBox(TextManager.Get("RestartRequiredLabel"), TextManager.Get("RestartRequiredText"));
}
return true;
diff --git a/Barotrauma/BarotraumaClient/Source/Map/LinkedSubmarine.cs b/Barotrauma/BarotraumaClient/Source/Map/LinkedSubmarine.cs
index e350502af..fac523b0f 100644
--- a/Barotrauma/BarotraumaClient/Source/Map/LinkedSubmarine.cs
+++ b/Barotrauma/BarotraumaClient/Source/Map/LinkedSubmarine.cs
@@ -94,24 +94,23 @@ namespace Barotrauma
editingHUD.Padding = new Vector4(10, 10, 0, 0);
editingHUD.UserData = this;
- new GUITextBlock(new Rectangle(0, 0, 100, 20), "Linked submarine", "",
+ new GUITextBlock(new Rectangle(0, 0, 100, 20), TextManager.Get("LinkedSub"), "",
Alignment.TopLeft, Alignment.TopLeft, editingHUD, false, GUI.LargeFont);
var pathBox = new GUITextBox(new Rectangle(10, 30, 300, 20), "", editingHUD);
pathBox.Font = GUI.SmallFont;
pathBox.Text = filePath;
- var reloadButton = new GUIButton(new Rectangle(320, 30, 80, 20), "Refresh", "", editingHUD);
+ var reloadButton = new GUIButton(new Rectangle(320, 30, 80, 20), TextManager.Get("ReloadLinkedSub"), "", editingHUD);
reloadButton.OnClicked = Reload;
reloadButton.UserData = pathBox;
-
- reloadButton.ToolTip = "Reload the linked submarine from the specified file";
+ reloadButton.ToolTip = TextManager.Get("ReloadLinkedSubTooltip");
y += 20;
if (!inGame)
{
- new GUITextBlock(new Rectangle(0, 0, 0, 20), "Hold space to link to a docking port",
+ new GUITextBlock(new Rectangle(0, 0, 0, 20), TextManager.Get("LinkLinkedSub"),
"", Alignment.TopRight, Alignment.TopRight, editingHUD, false, GUI.SmallFont);
y += 25;
@@ -125,7 +124,7 @@ namespace Barotrauma
if (!File.Exists(pathBox.Text))
{
- new GUIMessageBox("Error", "Submarine file \"" + pathBox.Text + "\" not found!");
+ new GUIMessageBox(TextManager.Get("Error"), TextManager.Get("ReloadLinkedSubError").Replace("[file]", pathBox.Text));
pathBox.Flash(Color.Red);
pathBox.Text = filePath;
return false;
diff --git a/Barotrauma/BarotraumaClient/Source/Map/Submarine.cs b/Barotrauma/BarotraumaClient/Source/Map/Submarine.cs
index eb9fff34b..ffa0cacc5 100644
--- a/Barotrauma/BarotraumaClient/Source/Map/Submarine.cs
+++ b/Barotrauma/BarotraumaClient/Source/Map/Submarine.cs
@@ -105,15 +105,13 @@ namespace Barotrauma
public static bool SaveCurrent(string filePath)
{
- if (Submarine.MainSub == null)
+ if (MainSub == null)
{
- Submarine.MainSub = new Submarine(filePath);
- // return;
+ MainSub = new Submarine(filePath);
}
- Submarine.MainSub.filePath = filePath;
-
- return Submarine.MainSub.SaveAs(filePath);
+ MainSub.filePath = filePath;
+ return MainSub.SaveAs(filePath);
}
public void CheckForErrors()
@@ -122,7 +120,7 @@ namespace Barotrauma
if (!Hull.hullList.Any())
{
- errorMsgs.Add("No hulls found in the submarine. Hulls determine the \"borders\" of an individual room and are required for water and air distribution to work correctly.");
+ errorMsgs.Add(TextManager.Get("NoHullsWarning"));
}
foreach (Item item in Item.ItemList)
@@ -131,25 +129,24 @@ namespace Barotrauma
if (!item.linkedTo.Any())
{
- errorMsgs.Add("The submarine contains vents which haven't been linked to an oxygen generator. Select a vent and click an oxygen generator while holding space to link them.");
+ errorMsgs.Add(TextManager.Get("DisconnectedVentsWarning"));
break;
}
}
if (WayPoint.WayPointList.Find(wp => !wp.MoveWithLevel && wp.SpawnType == SpawnType.Path) == null)
{
- errorMsgs.Add("No waypoints found in the submarine. AI controlled crew members won't be able to navigate without waypoints.");
+ errorMsgs.Add(TextManager.Get("NoWaypointsWarning"));
}
if (WayPoint.WayPointList.Find(wp => wp.SpawnType == SpawnType.Cargo) == null)
{
- errorMsgs.Add("The submarine doesn't have spawnpoints for cargo (which are used for determining where to place bought items). "
- + "To fix this, create a new spawnpoint and change its \"spawn type\" parameter to \"cargo\".");
+ errorMsgs.Add(TextManager.Get("NoCargoSpawnpointWarning"));
}
if (errorMsgs.Any())
{
- new GUIMessageBox("Warning", string.Join("\n\n", errorMsgs), 400, 0);
+ new GUIMessageBox(TextManager.Get("Warning"), string.Join("\n\n", errorMsgs), 400, 0);
}
foreach (MapEntity e in MapEntity.mapEntityList)
@@ -157,9 +154,9 @@ namespace Barotrauma
if (Vector2.Distance(e.Position, HiddenSubPosition) > 20000)
{
var msgBox = new GUIMessageBox(
- "Warning",
- "One or more structures have been placed very far from the submarine. Show the structures?",
- new string[] { "Yes", "No" });
+ TextManager.Get("Warning"),
+ TextManager.Get("FarAwayEntitiesWarning"),
+ new string[] { TextManager.Get("Yes"), TextManager.Get("No") });
msgBox.Buttons[0].OnClicked += (btn, obj) =>
{
diff --git a/Barotrauma/BarotraumaClient/Source/Map/WayPoint.cs b/Barotrauma/BarotraumaClient/Source/Map/WayPoint.cs
index cf1f7a269..e86d09c21 100644
--- a/Barotrauma/BarotraumaClient/Source/Map/WayPoint.cs
+++ b/Barotrauma/BarotraumaClient/Source/Map/WayPoint.cs
@@ -132,10 +132,10 @@ namespace Barotrauma
string trimmedName = text.ToLowerInvariant().Trim();
assignedJob = JobPrefab.List.Find(jp => jp.Name.ToLowerInvariant() == trimmedName);
- if (assignedJob != null && trimmedName != "none")
+ if (assignedJob != null && trimmedName != TextManager.Get("None").ToLowerInvariant())
{
textBox.Color = Color.Green;
- textBox.Text = (assignedJob == null) ? "None" : assignedJob.Name;
+ textBox.Text = (assignedJob == null) ? TextManager.Get("None") : assignedJob.Name;
}
textBox.Deselect();
@@ -162,13 +162,13 @@ namespace Barotrauma
if (spawnType == SpawnType.Path)
{
- new GUITextBlock(new Rectangle(0, 0, 100, 20), "Editing waypoint", "", editingHUD);
- new GUITextBlock(new Rectangle(0, 20, 100, 20), "Hold space to link to another waypoint", "", editingHUD);
+ new GUITextBlock(new Rectangle(0, 0, 100, 20), TextManager.Get("Editing")+" " +TextManager.Get("Waypoint"), "", editingHUD);
+ new GUITextBlock(new Rectangle(0, 20, 100, 20), TextManager.Get("LinkWaypoint"), "", editingHUD);
}
else
{
- new GUITextBlock(new Rectangle(0, 0, 100, 20), "Editing spawnpoint", "", editingHUD);
- new GUITextBlock(new Rectangle(0, 25, 100, 20), "Spawn type: ", "", editingHUD);
+ new GUITextBlock(new Rectangle(0, 0, 100, 20), TextManager.Get("Editing") + " " + TextManager.Get("Spawnpoint"), "", editingHUD);
+ new GUITextBlock(new Rectangle(0, 25, 100, 20), TextManager.Get("SpawnType") + ": ", "", editingHUD);
var spawnTypeText = new GUITextBlock(new Rectangle(0, 25, 200, 20), spawnType.ToString(), "", Alignment.Right, Alignment.TopLeft, editingHUD);
@@ -182,33 +182,33 @@ namespace Barotrauma
y = 40 + 20;
- new GUITextBlock(new Rectangle(0, y, 100, 20), "ID Card desc:", Color.Transparent, Color.White, Alignment.TopLeft, null, editingHUD);
+ new GUITextBlock(new Rectangle(0, y, 100, 20), TextManager.Get("IDCardDescription"), Color.Transparent, Color.White, Alignment.TopLeft, null, editingHUD);
GUITextBox propertyBox = new GUITextBox(new Rectangle(100, y, 350, 20), "", editingHUD);
propertyBox.MaxTextLength = 150;
propertyBox.Text = idCardDesc;
propertyBox.OnEnterPressed = EnterIDCardDesc;
propertyBox.OnTextChanged = TextBoxChanged;
- propertyBox.ToolTip = "Characters spawning at this spawnpoint will have the specified description added to their ID card. This can be used to describe additional access levels their card has on the sub.";
+ propertyBox.ToolTip = TextManager.Get("IDCardDescriptionTooltip");
y = y + 30;
- new GUITextBlock(new Rectangle(0, y, 100, 20), "ID Card tags:", Color.Transparent, Color.White, Alignment.TopLeft, null, editingHUD);
+ new GUITextBlock(new Rectangle(0, y, 100, 20), TextManager.Get("IDCardTags"), Color.Transparent, Color.White, Alignment.TopLeft, null, editingHUD);
propertyBox = new GUITextBox(new Rectangle(100, y, 350, 20), "", editingHUD);
propertyBox.MaxTextLength = 60;
propertyBox.Text = string.Join(", ", idCardTags);
propertyBox.OnEnterPressed = EnterIDCardTags;
propertyBox.OnTextChanged = TextBoxChanged;
- propertyBox.ToolTip = "Characters spawning at this spawnpoint will have the specified tags added to their ID card. You can, for example, use these tags to limit access to some parts of the sub.";
+ propertyBox.ToolTip = TextManager.Get("IDCardTagsTooltip");
y = y + 30;
- new GUITextBlock(new Rectangle(0, y, 100, 20), "Assigned job:", Color.Transparent, Color.White, Alignment.TopLeft, null, editingHUD);
+ new GUITextBlock(new Rectangle(0, y, 100, 20), TextManager.Get("SpawnpointJobs"), Color.Transparent, Color.White, Alignment.TopLeft, null, editingHUD);
propertyBox = new GUITextBox(new Rectangle(100, y, 350, 20), "", editingHUD);
propertyBox.MaxTextLength = 60;
propertyBox.Text = (assignedJob == null) ? "None" : assignedJob.Name;
propertyBox.OnEnterPressed = EnterAssignedJob;
propertyBox.OnTextChanged = TextBoxChanged;
- propertyBox.ToolTip = "Only characters with the specified job will spawn at this spawnpoint.";
+ propertyBox.ToolTip = TextManager.Get("SpawnpointJobsTooltip");
}
diff --git a/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs b/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs
index cacf107b9..0d468c42c 100644
--- a/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs
+++ b/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs
@@ -337,7 +337,7 @@ namespace Barotrauma
public string GetMoney()
{
- return TextManager.Get("Credits") + ": " + ((GameMain.GameSession == null) ? "0" : string.Format(CultureInfo.InvariantCulture, "{0:N0}", campaign.Money)) + " credits";
+ return TextManager.Get("Credits") + ": " + ((GameMain.GameSession == null) ? "0" : string.Format(CultureInfo.InvariantCulture, "{0:N0}", campaign.Money));
}
private bool SelectCharacter(GUIComponent component, object selection)
diff --git a/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs
index 0d1ada810..fdbdad92b 100644
--- a/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs
+++ b/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs
@@ -298,24 +298,32 @@ namespace Barotrauma
else if (masterServerResponse.StatusCode != System.Net.HttpStatusCode.OK)
{
serverList.ClearChildren();
-
+
switch (masterServerResponse.StatusCode)
{
case System.Net.HttpStatusCode.NotFound:
new GUIMessageBox(TextManager.Get("MasterServerErrorLabel"),
- TextManager.Get("MasterServerError404").Replace("[masterserverurl]", NetConfig.MasterServerUrl));
+ TextManager.Get("MasterServerError404")
+ .Replace("[masterserverurl]", NetConfig.MasterServerUrl)
+ .Replace("[statuscode]", masterServerResponse.StatusCode.ToString())
+ .Replace("[statusdescription]", masterServerResponse.StatusDescription));
break;
case System.Net.HttpStatusCode.ServiceUnavailable:
new GUIMessageBox(TextManager.Get("MasterServerErrorLabel"),
- TextManager.Get("MasterServerErrorUnavailable"));
+ TextManager.Get("MasterServerErrorUnavailable")
+ .Replace("[masterserverurl]", NetConfig.MasterServerUrl)
+ .Replace("[statuscode]", masterServerResponse.StatusCode.ToString())
+ .Replace("[statusdescription]", masterServerResponse.StatusDescription));
break;
default:
new GUIMessageBox(TextManager.Get("MasterServerErrorLabel"),
TextManager.Get("MasterServerError404")
+ .Replace("[masterserverurl]", NetConfig.MasterServerUrl)
.Replace("[statuscode]", masterServerResponse.StatusCode.ToString())
.Replace("[statusdescription]", masterServerResponse.StatusDescription));
break;
}
+
}
else
{
diff --git a/Barotrauma/BarotraumaShared/Content/Texts.xml b/Barotrauma/BarotraumaShared/Content/Texts.xml
index 395717304..44785f1dc 100644
--- a/Barotrauma/BarotraumaShared/Content/Texts.xml
+++ b/Barotrauma/BarotraumaShared/Content/Texts.xml
@@ -22,19 +22,31 @@
Start
+ Settings
+ Resolution
+ Display mode
+ Fullscreen
+ Windowed
+ Borderless windowed
+ Enable vertical sync
+ Sound volume
+ Music volume
+ Controls
+ Content package
+ Apply
Apply changes?
Do you want to apply the settings or discard the changes?
Apply
Discard
-
Restart required
You need to restart the game for the resolution changes to take effect.
-
-
- [sub] has returned to [location].
- The ocean has claimed [sub] and its crew.
+ [sub] has made its way to [location].
+ [sub] has arrived at [location].
+ [sub] has returned to [location].
+ The ocean has claimed [sub] and its crew.
+ Crew status
Running out of oxygen!
@@ -42,6 +54,11 @@
Grabbing
Stun
+
+ OK
+ Unconscious
+ Injured
+
Yes
No
@@ -49,19 +66,29 @@
Skills
Male
Female
+ Order
Submarine
Shuttle
Respawn shuttle
+ Editing
+ Error
+ Warning
+ None
Close
Cancel
Delete
Load
Back
+ Manage players
Delete file?
Are you sure you want to delete "[file]"?
Could not delete file "[file]"!
+
+ No mission
+ Reward: [reward]
+
Load
Delete
@@ -177,7 +204,35 @@
Name
Description
Settings
+ No hulls found in the submarine. Hulls determine the "borders" of an individual room and are required for water and air distribution to work correctly.
+ The submarine contains vents which haven't been linked to an oxygen generator. Select a vent and click an oxygen generator while holding space to link them.
+ No waypoints found in the submarine. AI controlled crew members won't be able to navigate without waypoints.
+ "The submarine does not have spawnpoints for cargo (which are used for determining where to place bought items). To fix this, create a new spawnpoint and change its "spawn type" parameter to "cargo".
+ One or more structures have been placed very far from the submarine. Show the structures?
+
+ Waypoint
+ Hold space to link to another waypoint
+ Spawnpoint
+ Spawn type
+ ID Card description
+ Characters spawning at this spawnpoint will have the specified description added to their ID card. This can be used to describe additional access levels their card has on the sub.
+ ID Card tags
+ Characters spawning at this spawnpoint will have the specified tags added to their ID card. You can, for example, use these tags to limit access to some parts of the sub.
+ Assigned jobs
+ Only characters with the specified job will spawn at this spawnpoint.
+
+
+ Linked submarine
+ Refresh
+ Reload the linked submarine from the specified file
+ Hold space to link to a docking port
+ Submarine file [file] not found!
+
+
+ You have been kicked by the spam filter.
+ You have been blocked by the spam filter. Try again after 10 seconds.
+
Succumbed to their injuries
Bled out
diff --git a/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs b/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs
index b2f1d18d1..5c6afcd8c 100644
--- a/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs
+++ b/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs
@@ -166,11 +166,11 @@ namespace Barotrauma.Networking
if (c.ChatSpamCount > 3)
{
//kick for spamming too much
- GameMain.Server.KickClient(c, "You have been kicked by the spam filter.");
+ GameMain.Server.KickClient(c, TextManager.Get("SpamFilterKicked"));
}
else
{
- ChatMessage denyMsg = ChatMessage.Create("", "You have been blocked by the spam filter. Try again after 10 seconds.", ChatMessageType.Server, null);
+ ChatMessage denyMsg = Create("", TextManager.Get("SpamFilterBlocked"), ChatMessageType.Server, null);
c.ChatSpamTimer = 10.0f;
GameMain.Server.SendChatMessage(denyMsg, c);
}
@@ -181,7 +181,7 @@ namespace Barotrauma.Networking
if (c.ChatSpamTimer > 0.0f)
{
- ChatMessage denyMsg = ChatMessage.Create("", "You have been blocked by the spam filter. Try again after 10 seconds.", ChatMessageType.Server, null);
+ ChatMessage denyMsg = Create("", TextManager.Get("SpamFilterBlocked"), ChatMessageType.Server, null);
c.ChatSpamTimer = 10.0f;
GameMain.Server.SendChatMessage(denyMsg, c);
return;
diff --git a/Barotrauma/BarotraumaShared/Source/TextManager.cs b/Barotrauma/BarotraumaShared/Source/TextManager.cs
index 3a7b79909..976306343 100644
--- a/Barotrauma/BarotraumaShared/Source/TextManager.cs
+++ b/Barotrauma/BarotraumaShared/Source/TextManager.cs
@@ -54,13 +54,6 @@ namespace Barotrauma
text = text.Replace("[" + inputType.ToString() + "]", GameMain.Config.KeyBind(inputType).ToString());
}
#endif
-
- if (Submarine.MainSub != null) text = text.Replace("[sub]", Submarine.MainSub.Name);
- if (GameMain.GameSession != null && GameMain.GameSession.StartLocation != null)
- {
- text = text.Replace("[location]", GameMain.GameSession.StartLocation.Name);
- }
-
return text;
}
}