diff --git a/Content.Client/Arcade/BlockGameMenu.cs b/Content.Client/Arcade/BlockGameMenu.cs index c55d27e0cb..c7c4b8c4d6 100644 --- a/Content.Client/Arcade/BlockGameMenu.cs +++ b/Content.Client/Arcade/BlockGameMenu.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using System.Text; using Content.Client.GameObjects.Components.Arcade; @@ -525,12 +525,12 @@ namespace Content.Client.Arcade public void UpdatePoints(int points) { - _pointsLabel.Text = Loc.GetString("Points: {0}", points); + _pointsLabel.Text = Loc.GetString("blockgame-points-label", ("points", points)); } public void UpdateLevel(int level) { - _levelLabel.Text = Loc.GetString("Level {0}", level + 1); + _levelLabel.Text = Loc.GetString("blockgame-level-label", ("level", level + 1)); } public void UpdateHighscores(List localHighscores, diff --git a/Content.Client/UserInterface/HumanoidProfileEditor.cs b/Content.Client/UserInterface/HumanoidProfileEditor.cs index c38a5fc839..3895d9748e 100644 --- a/Content.Client/UserInterface/HumanoidProfileEditor.cs +++ b/Content.Client/UserInterface/HumanoidProfileEditor.cs @@ -15,8 +15,8 @@ using Robust.Client.UserInterface.Controls; using Robust.Client.Utility; using Robust.Shared.GameObjects; using Robust.Shared.IoC; +using Robust.Shared.Enums; using Robust.Shared.Localization; -using Robust.Shared.Localization.Macros; using Robust.Shared.Map; using Robust.Shared.Maths; using Robust.Shared.Prototypes; diff --git a/Content.Client/UserInterface/Suspicion/SuspicionGui.xaml.cs b/Content.Client/UserInterface/Suspicion/SuspicionGui.xaml.cs index 157687cc01..290bd95775 100644 --- a/Content.Client/UserInterface/Suspicion/SuspicionGui.xaml.cs +++ b/Content.Client/UserInterface/Suspicion/SuspicionGui.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Linq; @@ -51,13 +51,14 @@ namespace Content.Client.UserInterface.Suspicion } var allies = string.Join(", ", role.Allies.Select(tuple => tuple.name)); - var message = role.Allies.Count switch - { - 0 => Loc.GetString("You have no allies"), - var n => Loc.GetPluralString("Your ally is {0}", "Your allies are {0}", n, allies), - }; - role.Owner.PopupMessage(message); + role.Owner.PopupMessage( + Loc.GetString( + "suspicion-ally-count-display", + ("allyCount", role.Allies.Count), + ("allyNames", allies) + ) + ); } private bool TryGetComponent([NotNullWhen(true)] out SuspicionRoleComponent? suspicion) diff --git a/Content.Server/Database/ServerDbBase.cs b/Content.Server/Database/ServerDbBase.cs index ffc4430605..d6af1d533a 100644 --- a/Content.Server/Database/ServerDbBase.cs +++ b/Content.Server/Database/ServerDbBase.cs @@ -7,7 +7,7 @@ using System.Threading; using System.Threading.Tasks; using Content.Shared.Preferences; using Microsoft.EntityFrameworkCore; -using Robust.Shared.Localization.Macros; +using Robust.Shared.Enums; using Robust.Shared.Maths; using Robust.Shared.Network; diff --git a/Content.Server/GameObjects/Components/Items/RCD/RCDComponent.cs b/Content.Server/GameObjects/Components/Items/RCD/RCDComponent.cs index 031eeea938..2771f6ae74 100644 --- a/Content.Server/GameObjects/Components/Items/RCD/RCDComponent.cs +++ b/Content.Server/GameObjects/Components/Items/RCD/RCDComponent.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Threading; using System.Threading.Tasks; using Content.Server.GameObjects.EntitySystems.DoAfter; @@ -80,12 +80,26 @@ namespace Content.Server.GameObjects.Components.Items.RCD int mode = (int) _mode; //Firstly, cast our RCDmode mode to an int (enums are backed by ints anyway by default) mode = (++mode) % _modes.Length; //Then, do a rollover on the value so it doesnt hit an invalid state _mode = (RcdMode) mode; //Finally, cast the newly acquired int mode to an RCDmode so we can use it. - Owner.PopupMessage(eventArgs.User, Loc.GetString("The RCD is now set to {0} mode.", _mode)); //Prints an overhead message above the RCD + Owner.PopupMessage(eventArgs.User, + Loc.GetString( + "rcd-component-change-mode", + ("mode", _mode.ToString()) + ) + ); //Prints an overhead message above the RCD } public void Examine(FormattedMessage message, bool inDetailsRange) { - message.AddMarkup(Loc.GetString("It's currently on {0} mode, and holds {1} charges.",_mode.ToString(), _ammo)); + if (inDetailsRange) + { + message.AddMarkup( + Loc.GetString( + "rcd-component-examine-detail-count", + ("mode", _mode), + ("ammoCount", _ammo) + ) + ); + } } async Task IAfterInteract.AfterInteract(AfterInteractEventArgs eventArgs) diff --git a/Content.Server/GameObjects/Components/Nutrition/FoodComponent.cs b/Content.Server/GameObjects/Components/Nutrition/FoodComponent.cs index 4daf60762e..f1f5d10620 100644 --- a/Content.Server/GameObjects/Components/Nutrition/FoodComponent.cs +++ b/Content.Server/GameObjects/Components/Nutrition/FoodComponent.cs @@ -1,4 +1,4 @@ -#nullable enable +#nullable enable using System; using System.Collections.Generic; using System.Linq; @@ -90,7 +90,7 @@ namespace Content.Server.GameObjects.Components.Nutrition { if (_utensilsNeeded != UtensilType.None) { - eventArgs.User.PopupMessage(Loc.GetString("You need to use a {0} to eat that!", _utensilsNeeded)); + eventArgs.User.PopupMessage(Loc.GetString("food-you-need-utensil", ("utensil", _utensilsNeeded))); return false; } @@ -160,7 +160,7 @@ namespace Content.Server.GameObjects.Components.Nutrition if (!types.HasFlag(_utensilsNeeded)) { - trueTarget.PopupMessage(user, Loc.GetString("You need to be holding a {0} to eat that!", _utensilsNeeded)); + trueTarget.PopupMessage(user, Loc.GetString("food-you-need-to-hold-utensil", ("utensil", _utensilsNeeded))); return false; } } diff --git a/Content.Server/GameObjects/Components/Stack/StackComponent.cs b/Content.Server/GameObjects/Components/Stack/StackComponent.cs index afb4ac4407..7dfb71f549 100644 --- a/Content.Server/GameObjects/Components/Stack/StackComponent.cs +++ b/Content.Server/GameObjects/Components/Stack/StackComponent.cs @@ -1,4 +1,4 @@ -#nullable enable +#nullable enable using System; using System.Diagnostics.CodeAnalysis; using System.Threading.Tasks; @@ -107,12 +107,21 @@ namespace Content.Server.GameObjects.Components.Stack if (stack.AvailableSpace == 0) { - eventArgs.Using.SpawnTimer(300, () => popupPos.PopupMessage(eventArgs.User, "Stack is now full.")); + eventArgs.Using.SpawnTimer( + 300, + () => popupPos.PopupMessage( + eventArgs.User, + Loc.GetString("stack-component-becomes-full") + ) + ); } } else if (toTransfer == 0 && stack.AvailableSpace == 0) { - popupPos.PopupMessage(eventArgs.User, "Stack is already full."); + popupPos.PopupMessage( + eventArgs.User, + Loc.GetString("stack-component-already-full") + ); } return true; @@ -122,9 +131,13 @@ namespace Content.Server.GameObjects.Components.Stack { if (inDetailsRange) { - message.AddMarkup(Loc.GetPluralString( - "There is [color=lightgray]1[/color] thing in the stack", - "There are [color=lightgray]{0}[/color] things in the stack.", Count, Count)); + message.AddMarkup( + Loc.GetString( + "stack-component-examine-detail-count", + ("count", Count), + ("markupCountColor", "lightgray") + ) + ); } } } diff --git a/Content.Server/GameObjects/Components/Weapon/Melee/FlashComponent.cs b/Content.Server/GameObjects/Components/Weapon/Melee/FlashComponent.cs index 96d57e1ef2..ba8f076a50 100644 --- a/Content.Server/GameObjects/Components/Weapon/Melee/FlashComponent.cs +++ b/Content.Server/GameObjects/Components/Weapon/Melee/FlashComponent.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using Content.Server.GameObjects.Components.Mobs; using Content.Shared.GameObjects.EntitySystems; using Content.Shared.Interfaces; @@ -91,8 +91,7 @@ namespace Content.Server.GameObjects.Components.Weapon.Melee if (--Uses == 0) { sprite.LayerSetState(0, "burnt"); - - Owner.PopupMessage(user, Loc.GetString("The flash burns out!")); + Owner.PopupMessage(user, Loc.GetString("flash-component-becomes-empty")); } else if (!_flashing) { @@ -136,7 +135,12 @@ namespace Content.Server.GameObjects.Components.Weapon.Melee if (entity != user) { - user.PopupMessage(entity, Loc.GetString("{0:TheName} blinds you with {1:theName}", user, Owner)); + user.PopupMessage(entity, + Loc.GetString( + "flash-component-user-blinds-you", + ("user", user) + ) + ); } } @@ -144,7 +148,7 @@ namespace Content.Server.GameObjects.Components.Weapon.Melee { if (!HasUses) { - message.AddText("It's burnt out."); + message.AddText(Loc.GetString("flash-component-examine-empty")); return; } @@ -152,9 +156,9 @@ namespace Content.Server.GameObjects.Components.Weapon.Melee { message.AddMarkup( Loc.GetString( - "The flash has [color=green]{0}[/color] {1} remaining.", - Uses, - Loc.GetPluralString("use", "uses", Uses) + "flash-component-examine-detail-count", + ("count", Uses), + ("markupCountColor", "green") ) ); } diff --git a/Content.Server/GameTicking/GamePresets/PresetTraitor.cs b/Content.Server/GameTicking/GamePresets/PresetTraitor.cs index cca5e0cdc2..e944690a2e 100644 --- a/Content.Server/GameTicking/GamePresets/PresetTraitor.cs +++ b/Content.Server/GameTicking/GamePresets/PresetTraitor.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Content.Server.GameObjects.Components.GUI; @@ -178,12 +178,15 @@ namespace Content.Server.GameTicking.GamePresets public override string GetRoundEndDescription() { - var traitorCount = _traitors.Count; - var result = Loc.GetString("There {0} {1} {2}.", Loc.GetPluralString("was", "were", traitorCount), - traitorCount, Loc.GetPluralString("traitor", "traitors", traitorCount)); + var result = Loc.GetString( + "traitor-round-end-result", + ("traitorCount", _traitors.Count) + ); + foreach (var traitor in _traitors) { - result += Loc.GetString("\n{0} was a traitor",traitor.Mind.Session.Name); + result += "\n"+Loc.GetString("traitor-user-was-a-traitor", ("user", traitor.Mind.Session.Name)); + var objectives = traitor.Mind.AllObjectives.ToArray(); if (objectives.Length == 0) { @@ -191,17 +194,33 @@ namespace Content.Server.GameTicking.GamePresets continue; } - result += Loc.GetString(" and had the following objectives:"); + result += Loc.GetString("traitor-objective-list-start"); foreach (var objectiveGroup in objectives.GroupBy(o => o.Prototype.Issuer)) { - result += $"\n[color=#87cefa]{Loc.GetString(objectiveGroup.Key)}[/color]"; + result += $"\n[color=#87cefa]{objectiveGroup.Key}[/color]"; + foreach (var objective in objectiveGroup) { foreach (var condition in objective.Conditions) { var progress = condition.Progress; - result += - Loc.GetString("\n- {0} | {1}", condition.Title, (progress > 0.99f ? $"[color=green]{Loc.GetString("Success!")}[/color]" : $"[color=red]{Loc.GetString("Failed!")}[/color] ({(int) (progress * 100)}%)")); + if (progress > 0.99f) + { + result += "\n- " + Loc.GetString( + "traitor-objective-condition-success", + ("condition", condition.Title), + ("markupColor", "green") + ); + } + else + { + result += "\n- " + Loc.GetString( + "traitor-objective-condition-fail", + ("condition", condition.Title), + ("progress", (int) (progress * 100)), + ("markupColor", "red") + ); + } } } } diff --git a/Content.Server/Mobs/Roles/Suspicion/SuspicionTraitorRole.cs b/Content.Server/Mobs/Roles/Suspicion/SuspicionTraitorRole.cs index e9c58f1f3d..eee12e1af0 100644 --- a/Content.Server/Mobs/Roles/Suspicion/SuspicionTraitorRole.cs +++ b/Content.Server/Mobs/Roles/Suspicion/SuspicionTraitorRole.cs @@ -23,23 +23,18 @@ namespace Content.Server.Mobs.Roles.Suspicion public void GreetSuspicion(List traitors, IChatManager chatMgr) { - chatMgr.DispatchServerMessage(Mind.Session, Loc.GetString("You're a {0}!", Name)); - chatMgr.DispatchServerMessage(Mind.Session, Loc.GetString("Objective: {0}", Objective)); + chatMgr.DispatchServerMessage(Mind.Session, Loc.GetString("suspicion-role-greeting", ("roleName", Name))); + chatMgr.DispatchServerMessage(Mind.Session, Loc.GetString("suspicion-objective", ("objectiveText", Objective))); - if (traitors.Count == 1) - { - // Only traitor. - chatMgr.DispatchServerMessage(Mind.Session, Loc.GetString("You're on your own. Good luck!")); - return; - } + var allPartners = string.Join(", ", traitors.Where(p => p != this).Select(p => p.Mind.CharacterName)); - var text = string.Join(", ", traitors.Where(p => p != this).Select(p => p.Mind.CharacterName)); + var partnerText = Loc.GetString( + "suspicion-partners-in-crime", + ("partnerCount", traitors.Count-1), + ("partnerNames", allPartners) + ); - var pluralText = Loc.GetPluralString("Your partner in crime is: {0}", - "Your partners in crime are: {0}", - traitors.Count-1, text); - - chatMgr.DispatchServerMessage(Mind.Session, pluralText); + chatMgr.DispatchServerMessage(Mind.Session, partnerText); } } } diff --git a/Content.Shared/Construction/ComponentConstructionGraphStep.cs b/Content.Shared/Construction/ComponentConstructionGraphStep.cs index 88192d341a..910837fb1d 100644 --- a/Content.Shared/Construction/ComponentConstructionGraphStep.cs +++ b/Content.Shared/Construction/ComponentConstructionGraphStep.cs @@ -1,4 +1,4 @@ -using Robust.Shared.GameObjects; +using Robust.Shared.GameObjects; using Robust.Shared.Localization; using Robust.Shared.Serialization; using Robust.Shared.Utility; @@ -31,8 +31,12 @@ namespace Content.Shared.Construction public override void DoExamine(FormattedMessage message, bool inDetailsRange) { message.AddMarkup(string.IsNullOrEmpty(Name) - ? Loc.GetString("Next, insert an entity with a {0} component.", Component) // Terrible. - : Loc.GetString("Next, insert {0}", Name)); + ? Loc.GetString( + "construction-insert-entity-with-component", + ("componentName", Component))// Terrible. + : Loc.GetString( + "construction-insert-exact-entity", + ("entityName", Name))); } } } diff --git a/Content.Shared/Construction/PrototypeConstructionGraphStep.cs b/Content.Shared/Construction/PrototypeConstructionGraphStep.cs index a8a2236ed5..93d004dd5f 100644 --- a/Content.Shared/Construction/PrototypeConstructionGraphStep.cs +++ b/Content.Shared/Construction/PrototypeConstructionGraphStep.cs @@ -1,4 +1,4 @@ -using Robust.Shared.GameObjects; +using Robust.Shared.GameObjects; using Robust.Shared.Localization; using Robust.Shared.Serialization; using Robust.Shared.Utility; @@ -24,8 +24,14 @@ namespace Content.Shared.Construction public override void DoExamine(FormattedMessage message, bool inDetailsRange) { message.AddMarkup(string.IsNullOrEmpty(Name) - ? Loc.GetString("Next, insert {0}", Prototype) // Terrible. - : Loc.GetString("Next, insert {0}", Name)); + ? Loc.GetString( + "construction-insert-prototype-no-name", + ("prototypeName", Prototype) // Terrible. + ) + : Loc.GetString( + "construction-insert-prototype", + ("entityName", Name) + )); } } } diff --git a/Content.Shared/EntryPoint.cs b/Content.Shared/EntryPoint.cs index f578ace5a0..32829309af 100644 --- a/Content.Shared/EntryPoint.cs +++ b/Content.Shared/EntryPoint.cs @@ -6,7 +6,6 @@ using Content.Shared.Maps; using Robust.Shared.ContentPack; using Robust.Shared.IoC; using Robust.Shared.Localization; -using Robust.Shared.Localization.Macros; using Robust.Shared.Log; using Robust.Shared.Map; using Robust.Shared.Prototypes; @@ -20,17 +19,14 @@ namespace Content.Shared [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly ITileDefinitionManager _tileDefinitionManager = default!; - [Dependency] private readonly ITextMacroFactory _textMacroFactory = default!; [Dependency] private readonly IResourceManager _resourceManager = default!; public override void PreInit() { IoCManager.InjectDependencies(this); - _textMacroFactory.DoAutoRegistrations(); - // Default to en-US. - Loc.LoadCulture(_resourceManager, _textMacroFactory, new CultureInfo(Culture)); + Loc.LoadCulture(_resourceManager, new CultureInfo(Culture)); } public override void Init() diff --git a/Content.Shared/GameObjects/Components/Mobs/SharedHumanoidAppearanceComponent.cs b/Content.Shared/GameObjects/Components/Mobs/SharedHumanoidAppearanceComponent.cs index 2316316039..47754a3661 100644 --- a/Content.Shared/GameObjects/Components/Mobs/SharedHumanoidAppearanceComponent.cs +++ b/Content.Shared/GameObjects/Components/Mobs/SharedHumanoidAppearanceComponent.cs @@ -1,14 +1,14 @@ -using System; +using System; using Content.Shared.Preferences; +using Robust.Shared.Enums; using Robust.Shared.GameObjects; -using Robust.Shared.Localization.Macros; using Robust.Shared.Players; using Robust.Shared.Serialization; using Robust.Shared.ViewVariables; namespace Content.Shared.GameObjects.Components.Mobs { - public abstract class SharedHumanoidAppearanceComponent : Component, IGenderable + public abstract class SharedHumanoidAppearanceComponent : Component { private HumanoidCharacterAppearance _appearance; private Sex _sex; diff --git a/Content.Shared/GameObjects/Components/SharedGasAnalyzerComponent.cs b/Content.Shared/GameObjects/Components/SharedGasAnalyzerComponent.cs index 45be6173c2..5d9e5fa01a 100644 --- a/Content.Shared/GameObjects/Components/SharedGasAnalyzerComponent.cs +++ b/Content.Shared/GameObjects/Components/SharedGasAnalyzerComponent.cs @@ -1,4 +1,5 @@ -using System; +using System; +using System.Collections.Generic; using Robust.Shared.GameObjects; using Robust.Shared.Localization; using Robust.Shared.Serialization; @@ -49,7 +50,11 @@ namespace Content.Shared.GameObjects.Components public override string ToString() { - return Loc.GetString("{0}: {1:0.##} mol", Name, Amount); + // e.g. "Plasma: 2000 mol" + return Loc.GetString( + "gas-entry-info", + ("gasName", Name), + ("gasAmount", Amount)); } } diff --git a/Content.Shared/Preferences/HumanoidCharacterProfile.cs b/Content.Shared/Preferences/HumanoidCharacterProfile.cs index 1956c623c3..5dcc2c77b6 100644 --- a/Content.Shared/Preferences/HumanoidCharacterProfile.cs +++ b/Content.Shared/Preferences/HumanoidCharacterProfile.cs @@ -6,9 +6,9 @@ using Content.Shared.GameTicking; using Content.Shared.Prototypes; using Content.Shared.Roles; using Content.Shared.Utility; +using Robust.Shared.Enums; using Robust.Shared.IoC; using Robust.Shared.Localization; -using Robust.Shared.Localization.Macros; using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Serialization; @@ -19,7 +19,7 @@ namespace Content.Shared.Preferences /// Character profile. Looks immutable, but uses non-immutable semantics internally for serialization/code sanity purposes. /// [Serializable, NetSerializable] - public class HumanoidCharacterProfile : ICharacterProfile, IGenderable + public class HumanoidCharacterProfile : ICharacterProfile { private readonly Dictionary _jobPriorities; private readonly List _antagPreferences; @@ -286,7 +286,12 @@ namespace Content.Shared.Preferences } public string Summary => - Loc.GetString(" This is {0}. {2:They} {2:are} {1} years old.", Name, Age, this); + Loc.GetString( + "humanoid-character-profile-summary", + ("name", Name), + ("gender", Gender.ToString().ToLowerInvariant()), + ("age", Age) + ); public bool MemberwiseEquals(ICharacterProfile maybeOther) { diff --git a/Content.Tests/Server/Preferences/ServerDbSqliteTests.cs b/Content.Tests/Server/Preferences/ServerDbSqliteTests.cs index 8823d3aa1a..0857b2e983 100644 --- a/Content.Tests/Server/Preferences/ServerDbSqliteTests.cs +++ b/Content.Tests/Server/Preferences/ServerDbSqliteTests.cs @@ -9,8 +9,9 @@ using Content.Shared.Preferences; using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; using NUnit.Framework; +using Robust.Shared; +using Robust.Shared.Enums; using Robust.Shared.IoC; -using Robust.Shared.Localization.Macros; using Robust.Shared.Maths; using Robust.Shared.Network; using Robust.Shared.Prototypes; diff --git a/Resources/Locale/en-US/atmos.ftl b/Resources/Locale/en-US/atmos.ftl new file mode 100644 index 0000000000..73e1dfe70a --- /dev/null +++ b/Resources/Locale/en-US/atmos.ftl @@ -0,0 +1,5 @@ + +### UI + +# Used for GasEntry.ToString() +gas-entry-info = {$gasName}: {$gasAmount} mol \ No newline at end of file diff --git a/Resources/Locale/en-US/blockgame.ftl b/Resources/Locale/en-US/blockgame.ftl new file mode 100644 index 0000000000..7caf13136c --- /dev/null +++ b/Resources/Locale/en-US/blockgame.ftl @@ -0,0 +1,8 @@ + +### UI + +# Current game score +blockgame-points-label = Points: {$points} + +# Current game level +blockgame-level-label = Level: {$level} \ No newline at end of file diff --git a/Resources/Locale/en-US/components/flash-component.ftl b/Resources/Locale/en-US/components/flash-component.ftl new file mode 100644 index 0000000000..352077fa0f --- /dev/null +++ b/Resources/Locale/en-US/components/flash-component.ftl @@ -0,0 +1,19 @@ + +### UI + +# Shown when an empty flash is examined at any range +flash-component-examine-empty = It's burnt out! + +# Shown when a flash is examined in details range +flash-component-examine-detail-count = The flash has [color={$markupCountColor}]{$count}[/color] {$count -> + [one] use + *[other] uses +} remaining. + +### Interaction Messages + +# Shown when someone flashes you with a flash +flash-component-user-blinds-you = {$user} blinds you with the flash! + +# Shown when a flash runs out of uses +flash-component-becomes-empty = The flash burns out! \ No newline at end of file diff --git a/Resources/Locale/en-US/components/rcd-component.ftl b/Resources/Locale/en-US/components/rcd-component.ftl new file mode 100644 index 0000000000..30aa0d72fc --- /dev/null +++ b/Resources/Locale/en-US/components/rcd-component.ftl @@ -0,0 +1,14 @@ + +### UI + +# Shown when an RCD is examined in details range +rcd-component-examine-detail-count = It's currently on {$mode} mode, and holds {$ammoCount -> + *[zero] no charges. + [one] one charge. + [other] {$ammoCount} charges. +} + +### Interaction Messages + +# Shown when changing RCD Mode +rcd-component-change-mode = The RCD is now set to {$mode} mode. diff --git a/Resources/Locale/en-US/components/stack-component.ftl b/Resources/Locale/en-US/components/stack-component.ftl new file mode 100644 index 0000000000..f28d9f329a --- /dev/null +++ b/Resources/Locale/en-US/components/stack-component.ftl @@ -0,0 +1,16 @@ + +### UI + +# Shown when a stack is examined in details range +stack-component-examine-detail-count = {$count -> + [one] There is [color={$markupCountColor}]{$count}[/color] thing + *[other] There are [color={$markupCountColor}]{$count}[/color] things +} in the stack. + +### Interaction Messages + +# Shown when attempting to add to a stack that is full +stack-component-already-full = Stack is already full. + +# Shown when a stack becomes full +stack-component-becomes-full = Stack is now full. \ No newline at end of file diff --git a/Resources/Locale/en-US/construction.ftl b/Resources/Locale/en-US/construction.ftl new file mode 100644 index 0000000000..13cbcd2ddb --- /dev/null +++ b/Resources/Locale/en-US/construction.ftl @@ -0,0 +1,15 @@ + +### Interaction Messages + +# Shown when examining an in-construction object +construction-insert-prototype-no-name = Next, insert {$prototypeName}. + +# Shown when examining an in-construction object +construction-insert-prototype = Next, insert {$entityName}. + +# Shown when examining an in-construction object +construction-insert-entity-with-component = Next, insert an entity with a {$componentName} component. + +# Shown when examining an in-construction object +construction-insert-exact-entity = Next, insert {$entityName}. + diff --git a/Resources/Locale/en-US/food.ftl b/Resources/Locale/en-US/food.ftl new file mode 100644 index 0000000000..1ec7bd92c5 --- /dev/null +++ b/Resources/Locale/en-US/food.ftl @@ -0,0 +1,9 @@ + +### Interaction Messages + +# When trying to eat food without the required utensil +food-you-need-utensil = You need to use a {$utensil} to eat that! + +# When trying to eat food without the required utensil... but you gotta hold it +food-you-need-to-hold-utensil = You need to be holding a {$utensil} to eat that! + diff --git a/Resources/Locale/en-US/gamemodes/suspicion.ftl b/Resources/Locale/en-US/gamemodes/suspicion.ftl new file mode 100644 index 0000000000..2b2e748d55 --- /dev/null +++ b/Resources/Locale/en-US/gamemodes/suspicion.ftl @@ -0,0 +1,22 @@ + +### UI + +# Shown when clicking your Role Button in Suspicion +suspicion-ally-count-display = {$allyCount -> + *[zero] You have no allies + [one] Your ally is {$allyNames} + [other] Your allies are {$allyNames} +} + +# Shown when greeted with the Suspicion role +suspicion-role-greeting = You're a {$roleName}! + +# Shown when greeted with the Suspicion role +suspicion-objective = Objective: {$objectiveText} + +# Shown when greeted with the Suspicion role +suspicion-partners-in-crime = {$partnersCount -> + *[zero] You're on your own. Good luck! + [one] Your partner in crime is {$partnerNames}. + [other] Your partners in crime are {$partnerNames}. +} \ No newline at end of file diff --git a/Resources/Locale/en-US/gamemodes/traitor.ftl b/Resources/Locale/en-US/gamemodes/traitor.ftl new file mode 100644 index 0000000000..5dfb0843d0 --- /dev/null +++ b/Resources/Locale/en-US/gamemodes/traitor.ftl @@ -0,0 +1,20 @@ + +### UI + +# Shown at the end of a round of Traitor +traitor-round-end-result = {$traitorCount -> + [one] There was one traitor. + *[other] There were {$traitorCount} traitors. +} + +# Shown at the end of a round of Traitor +traitor-user-was-a-traitor = {$user} was a traitor. + +# Shown at the end of a round of Traitor +traitor-objective-list-start = and had the following objectives: + +# Shown at the end of a round of Traitor +traitor-objective-condition-success = {$condition} | [color={$markupColor}]Success![/color] + +# Shown at the end of a round of Traitor +traitor-objective-condition-fail = {$condition} | [color={$markupColor}]Failure![/color] ({$progress}%) \ No newline at end of file diff --git a/Resources/Locale/en-US/prefs.ftl b/Resources/Locale/en-US/prefs.ftl new file mode 100644 index 0000000000..2e518bc9a5 --- /dev/null +++ b/Resources/Locale/en-US/prefs.ftl @@ -0,0 +1,10 @@ + +### UI + +# Displayed in the Character prefs window +humanoid-character-profile-summary = + This is {$name}. {$gender -> + [male] He is + [female] She is + *[other] They are +} {$age} years old. \ No newline at end of file diff --git a/Resources/Locale/it-IT/blockgame.yml b/Resources/Locale/it-IT/blockgame.yml deleted file mode 100644 index 77fafd3047..0000000000 --- a/Resources/Locale/it-IT/blockgame.yml +++ /dev/null @@ -1,43 +0,0 @@ - -- msgid: New Game - msgstr: Nuova Partita - -- msgid: Scoreboard - msgstr: Classifica - -- msgid: Pause - msgstr: Pausa - -- msgid: Unpause - msgstr: Riprendi - -- msgid: Gameover! - msgstr: Partita Finita! - -- msgid: Highscores - msgstr: Record - -- msgid: Back - msgstr: Indietro - -- msgid: Next - msgstr: Prossimo - -- msgid: Hold - msgstr: Conservato - -- msgid: Global - msgstr: Globale - -- msgid: Local - msgstr: Locale - -- msgid: Points - msgstr: Punti - -- msgid: Level - msgstr: Livello - -- msgid: Station - msgstr: Stazione - diff --git a/Resources/Locale/nl-NL/tools.yml b/Resources/Locale/nl-NL/tools.yml deleted file mode 100644 index a0dd9a8380..0000000000 --- a/Resources/Locale/nl-NL/tools.yml +++ /dev/null @@ -1,19 +0,0 @@ -# Example Dutch translations - -- msgid: wrench - msgstr: moersleutel - -- msgid: welding tool - msgstr: lasapparaat - -- msgid: crowbar - msgstr: koevoet - -- msgid: screwdriver - msgstr: schroevendraaier - -- msgid: wirecutters - msgstr: draadtang - -- msgid: multitool - msgstr: multi tool # This is what google translate gives me idk. diff --git a/Resources/Prototypes/Entities/Mobs/Player/observer.yml b/Resources/Prototypes/Entities/Mobs/Player/observer.yml index 4d737baa6f..ddb6d7dec9 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/observer.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/observer.yml @@ -41,5 +41,3 @@ baseSprintSpeed: 14 baseWalkSpeed: 7 - type: MovementIgnoreGravity - - type: Grammar - proper: true diff --git a/Resources/Prototypes/Entities/Mobs/Species/human.yml b/Resources/Prototypes/Entities/Mobs/Species/human.yml index 9bd0cac627..4ae114b119 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/human.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/human.yml @@ -327,5 +327,3 @@ - type: Appearance visuals: - type: RotationVisualizer - - type: Grammar - proper: true