diff --git a/Content.Client/Corvax/TTS/TTSSystem.cs b/Content.Client/Corvax/TTS/TTSSystem.cs
index 2c68ccc05b..59e6174b74 100644
--- a/Content.Client/Corvax/TTS/TTSSystem.cs
+++ b/Content.Client/Corvax/TTS/TTSSystem.cs
@@ -1,4 +1,4 @@
-using Content.Shared.Chat;
+using Content.Shared.Chat;
using Content.Shared.Corvax.CCCVars;
using Content.Shared.Corvax.TTS;
using Robust.Client.Audio;
@@ -9,6 +9,7 @@
using Robust.Shared.ContentPack;
using Robust.Shared.Player;
using Robust.Shared.Utility;
+using Content.Client.Language.Systems;
namespace Content.Client.Corvax.TTS;
@@ -21,6 +22,8 @@ public sealed class TTSSystem : EntitySystem
[Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly IResourceCache _resourceCache = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
+ [Dependency] private readonly ISharedPlayerManager _playerManager = default!;
+ [Dependency] private readonly LanguageSystem _language = default!;
private ISawmill _sawmill = default!;
private readonly MemoryContentRoot _contentRoot = new();
@@ -71,7 +74,19 @@ private void OnPlayTTS(PlayTTSEvent ev)
var volume = AdjustVolume(ev.IsWhisper);
var filePath = new ResPath($"{_fileIdx++}.ogg");
- _contentRoot.AddOrUpdateFile(filePath, ev.Data);
+ //_contentRoot.AddOrUpdateFile(filePath, ev.Data);
+ // Languages TTS support start
+ var player = _playerManager.LocalSession?.AttachedEntity;
+ if (player != null)
+ {
+ if (_language.UnderstoodLanguages.Contains(ev.LanguageProtoId))
+ _contentRoot.AddOrUpdateFile(filePath, ev.Data);
+ else
+ _contentRoot.AddOrUpdateFile(filePath, ev.LanguageData);
+ }
+ else
+ _contentRoot.AddOrUpdateFile(filePath, ev.Data);
+ // Languages TTS support end
var audioParams = AudioParams.Default.WithVolume(volume);
var soundPath = new SoundPathSpecifier(Prefix / filePath, audioParams);
diff --git a/Content.Client/_LostParadise/RCDFAP/AlignRCDFAPConstruction.cs b/Content.Client/_LostParadise/RCDFAP/AlignRCDFAPConstruction.cs
new file mode 100644
index 0000000000..c389dc4e5f
--- /dev/null
+++ b/Content.Client/_LostParadise/RCDFAP/AlignRCDFAPConstruction.cs
@@ -0,0 +1,117 @@
+using System.Numerics;
+using Content.Client.Gameplay;
+using Content.Shared.Hands.Components;
+using Content.Shared.Interaction;
+using Content.Shared._LostParadise.RCDFAP.Components;
+using Content.Shared._LostParadise.RCDFAP.Systems;
+using Robust.Client.Placement;
+using Robust.Client.Player;
+using Robust.Client.State;
+using Robust.Shared.Map;
+using Robust.Shared.Map.Components;
+
+namespace Content.Client._LostParadise.RCDFAP;
+
+public sealed class AlignRCDFAPConstruction : PlacementMode
+{
+ [Dependency] private readonly IEntityManager _entityManager = default!;
+ [Dependency] private readonly IMapManager _mapManager = default!;
+ private readonly SharedMapSystem _mapSystem;
+ private readonly RCDFAPSystem _rcdfapSystem;
+ private readonly SharedTransformSystem _transformSystem;
+ [Dependency] private readonly IPlayerManager _playerManager = default!;
+ [Dependency] private readonly IStateManager _stateManager = default!;
+
+ private const float SearchBoxSize = 2f;
+ private const float PlaceColorBaseAlpha = 0.5f;
+
+ private EntityCoordinates _unalignedMouseCoords = default;
+
+ ///
+ /// This placement mode is not on the engine because it is content specific (i.e., for the RCDFAP)
+ ///
+ public AlignRCDFAPConstruction(PlacementManager pMan) : base(pMan)
+ {
+ IoCManager.InjectDependencies(this);
+ _mapSystem = _entityManager.System();
+ _rcdfapSystem = _entityManager.System();
+ _transformSystem = _entityManager.System();
+
+ ValidPlaceColor = ValidPlaceColor.WithAlpha(PlaceColorBaseAlpha);
+ }
+
+ public override void AlignPlacementMode(ScreenCoordinates mouseScreen)
+ {
+ _unalignedMouseCoords = ScreenToCursorGrid(mouseScreen);
+ MouseCoords = _unalignedMouseCoords.AlignWithClosestGridTile(SearchBoxSize, _entityManager, _mapManager);
+
+ var gridId = MouseCoords.GetGridUid(_entityManager);
+
+ if (!_entityManager.TryGetComponent(gridId, out var mapGrid))
+ return;
+
+ CurrentTile = _mapSystem.GetTileRef(gridId.Value, mapGrid, MouseCoords);
+
+ float tileSize = mapGrid.TileSize;
+ GridDistancing = tileSize;
+
+ if (pManager.CurrentPermission!.IsTile)
+ {
+ MouseCoords = new EntityCoordinates(MouseCoords.EntityId, new Vector2(CurrentTile.X + tileSize / 2,
+ CurrentTile.Y + tileSize / 2));
+ }
+ else
+ {
+ MouseCoords = new EntityCoordinates(MouseCoords.EntityId, new Vector2(CurrentTile.X + tileSize / 2 + pManager.PlacementOffset.X,
+ CurrentTile.Y + tileSize / 2 + pManager.PlacementOffset.Y));
+ }
+ }
+
+ public override bool IsValidPosition(EntityCoordinates position)
+ {
+ var player = _playerManager.LocalSession?.AttachedEntity;
+
+ // If the destination is out of interaction range, set the placer alpha to zero
+ if (!_entityManager.TryGetComponent(player, out var xform))
+ return false;
+
+ if (!xform.Coordinates.InRange(_entityManager, _transformSystem, position, SharedInteractionSystem.InteractionRange))
+ {
+ InvalidPlaceColor = InvalidPlaceColor.WithAlpha(0);
+ return false;
+ }
+
+ // Otherwise restore the alpha value
+ else
+ {
+ InvalidPlaceColor = InvalidPlaceColor.WithAlpha(PlaceColorBaseAlpha);
+ }
+
+ // Determine if player is carrying an RCDFAP in their active hand
+ if (!_entityManager.TryGetComponent(player, out var hands))
+ return false;
+
+ var heldEntity = hands.ActiveHand?.HeldEntity;
+
+ if (!_entityManager.TryGetComponent(heldEntity, out var rcdfap))
+ return false;
+
+ // Retrieve the map grid data for the position
+ if (!_rcdfapSystem.TryGetMapGridData(position, out var mapGridData))
+ return false;
+
+ // Determine if the user is hovering over a target
+ var currentState = _stateManager.CurrentState;
+
+ if (currentState is not GameplayStateBase screen)
+ return false;
+
+ var target = screen.GetClickedEntity(_unalignedMouseCoords.ToMap(_entityManager, _transformSystem));
+
+ // Determine if the RCDFAP operation is valid or not
+ if (!_rcdfapSystem.IsRCDFAPOperationStillValid(heldEntity.Value, rcdfap, mapGridData.Value, target, player.Value, false))
+ return false;
+
+ return true;
+ }
+}
diff --git a/Content.Client/_LostParadise/RCDFAP/RCDFAPConstructionGhostSystem.cs b/Content.Client/_LostParadise/RCDFAP/RCDFAPConstructionGhostSystem.cs
new file mode 100644
index 0000000000..a17874bf7f
--- /dev/null
+++ b/Content.Client/_LostParadise/RCDFAP/RCDFAPConstructionGhostSystem.cs
@@ -0,0 +1,77 @@
+using Content.Shared.Hands.Components;
+using Content.Shared.Interaction;
+using Content.Shared._LostParadise.RCDFAP;
+using Content.Shared._LostParadise.RCDFAP.Components;
+using Content.Shared._LostParadise.RCDFAP.Systems;
+using Robust.Client.Placement;
+using Robust.Client.Player;
+using Robust.Shared.Enums;
+
+namespace Content.Client._LostParadise.RCDFAP;
+
+public sealed class RCDFAPConstructionGhostSystem : EntitySystem
+{
+ [Dependency] private readonly IPlayerManager _playerManager = default!;
+ [Dependency] private readonly RCDFAPSystem _rcdfapSystem = default!;
+ [Dependency] private readonly IPlacementManager _placementManager = default!;
+
+ private string _placementMode = typeof(AlignRCDFAPConstruction).Name;
+ private Direction _placementDirection = default;
+
+ public override void Update(float frameTime)
+ {
+ base.Update(frameTime);
+
+ // Get current placer data
+ var placerEntity = _placementManager.CurrentPermission?.MobUid;
+ var placerProto = _placementManager.CurrentPermission?.EntityType;
+ var placerIsRCDFAP = HasComp(placerEntity);
+
+ // Exit if erasing or the current placer is not an RCDFAP (build mode is active)
+ if (_placementManager.Eraser || (placerEntity != null && !placerIsRCDFAP))
+ return;
+
+ // Determine if player is carrying an RCDFAP in their active hand
+ var player = _playerManager.LocalSession?.AttachedEntity;
+
+ if (!TryComp(player, out var hands))
+ return;
+
+ var heldEntity = hands.ActiveHand?.HeldEntity;
+
+ if (!TryComp(heldEntity, out var rcdfap))
+ {
+ // If the player was holding an RCDFAP, but is no longer, cancel placement
+ if (placerIsRCDFAP)
+ _placementManager.Clear();
+
+ return;
+ }
+
+ // Update the direction the RCDFAP prototype based on the placer direction
+ if (_placementDirection != _placementManager.Direction)
+ {
+ _placementDirection = _placementManager.Direction;
+ RaiseNetworkEvent(new RCDFAPConstructionGhostRotationEvent(GetNetEntity(heldEntity.Value), _placementDirection));
+ }
+
+ // If the placer has not changed, exit
+ _rcdfapSystem.UpdateCachedPrototype(heldEntity.Value, rcdfap);
+
+ if (heldEntity == placerEntity && rcdfap.CachedPrototype.Prototype == placerProto)
+ return;
+
+ // Create a new placer
+ var newObjInfo = new PlacementInformation
+ {
+ MobUid = heldEntity.Value,
+ PlacementOption = _placementMode,
+ EntityType = rcdfap.CachedPrototype.Prototype,
+ Range = (int) Math.Ceiling(SharedInteractionSystem.InteractionRange),
+ UseEditorContext = false,
+ };
+
+ _placementManager.Clear();
+ _placementManager.BeginPlacing(newObjInfo);
+ }
+}
diff --git a/Content.Client/_LostParadise/RCDFAP/RCDFAPMenu.xaml b/Content.Client/_LostParadise/RCDFAP/RCDFAPMenu.xaml
new file mode 100644
index 0000000000..19561366eb
--- /dev/null
+++ b/Content.Client/_LostParadise/RCDFAP/RCDFAPMenu.xaml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Content.Client/_LostParadise/RCDFAP/RCDFAPMenu.xaml.cs b/Content.Client/_LostParadise/RCDFAP/RCDFAPMenu.xaml.cs
new file mode 100644
index 0000000000..18193c94cd
--- /dev/null
+++ b/Content.Client/_LostParadise/RCDFAP/RCDFAPMenu.xaml.cs
@@ -0,0 +1,174 @@
+using Content.Client.UserInterface.Controls;
+using Content.Shared.Popups;
+using Content.Shared._LostParadise.RCDFAP;
+using Content.Shared._LostParadise.RCDFAP.Components;
+using Robust.Client.AutoGenerated;
+using Robust.Client.GameObjects;
+using Robust.Client.Player;
+using Robust.Client.UserInterface;
+using Robust.Client.UserInterface.Controls;
+using Robust.Client.UserInterface.XAML;
+using Robust.Shared.Prototypes;
+using System.Numerics;
+
+namespace Content.Client._LostParadise.RCDFAP;
+
+[GenerateTypedNameReferences]
+public sealed partial class RCDFAPMenu : RadialMenu
+{
+ [Dependency] private readonly EntityManager _entManager = default!;
+ [Dependency] private readonly IPrototypeManager _protoManager = default!;
+ [Dependency] private readonly IPlayerManager _playerManager = default!;
+
+ private readonly SpriteSystem _spriteSystem;
+ private readonly SharedPopupSystem _popup;
+
+ public event Action>? SendRCDFAPSystemMessageAction;
+
+ private EntityUid _owner;
+
+ public RCDFAPMenu(EntityUid owner, RCDFAPMenuBoundUserInterface bui)
+ {
+ IoCManager.InjectDependencies(this);
+ RobustXamlLoader.Load(this);
+
+ _spriteSystem = _entManager.System();
+ _popup = _entManager.System();
+
+ _owner = owner;
+
+ // Find the main radial container
+ var main = FindControl("Main");
+
+ if (main == null)
+ return;
+
+ // Populate secondary radial containers
+ if (!_entManager.TryGetComponent(owner, out var rcdfap))
+ return;
+
+ foreach (var protoId in rcdfap.AvailablePrototypes)
+ {
+ if (!_protoManager.TryIndex(protoId, out var proto))
+ continue;
+
+ if (proto.Mode == RcdfapMode.Invalid)
+ continue;
+
+ var parent = FindControl(proto.Category);
+
+ if (parent == null)
+ continue;
+
+ var tooltip = Loc.GetString(proto.SetName);
+
+ tooltip = OopsConcat(char.ToUpper(tooltip[0]).ToString(), tooltip.Remove(0, 1));
+
+ var button = new RCDFAPMenuButton()
+ {
+ StyleClasses = { "RadialMenuButton" },
+ SetSize = new Vector2(64f, 64f),
+ ToolTip = tooltip,
+ ProtoId = protoId,
+ };
+
+ if (proto.Sprite != null)
+ {
+ var tex = new TextureRect()
+ {
+ VerticalAlignment = VAlignment.Center,
+ HorizontalAlignment = HAlignment.Center,
+ Texture = _spriteSystem.Frame0(proto.Sprite),
+ TextureScale = new Vector2(2f, 2f),
+ };
+
+ button.AddChild(tex);
+ }
+
+ parent.AddChild(button);
+
+ // Ensure that the button that transitions the menu to the associated category layer
+ // is visible in the main radial container (as these all start with Visible = false)
+ foreach (var child in main.Children)
+ {
+ var castChild = child as RadialMenuTextureButton;
+
+ if (castChild is not RadialMenuTextureButton)
+ continue;
+
+ if (castChild.TargetLayer == proto.Category)
+ {
+ castChild.Visible = true;
+ break;
+ }
+ }
+ }
+
+ // Set up menu actions
+ foreach (var child in Children)
+ AddRCDFAPMenuButtonOnClickActions(child);
+
+ OnChildAdded += AddRCDFAPMenuButtonOnClickActions;
+
+ SendRCDFAPSystemMessageAction += bui.SendRCDFAPSystemMessage;
+ }
+
+ private static string OopsConcat(string a, string b)
+ {
+ // This exists to prevent Roslyn being clever and compiling something that fails sandbox checks.
+ return a + b;
+ }
+
+ private void AddRCDFAPMenuButtonOnClickActions(Control control)
+ {
+ var radialContainer = control as RadialContainer;
+
+ if (radialContainer == null)
+ return;
+
+ foreach (var child in radialContainer.Children)
+ {
+ var castChild = child as RCDFAPMenuButton;
+
+ if (castChild == null)
+ continue;
+
+ castChild.OnButtonUp += _ =>
+ {
+ SendRCDFAPSystemMessageAction?.Invoke(castChild.ProtoId);
+
+ if (_playerManager.LocalSession?.AttachedEntity != null &&
+ _protoManager.TryIndex(castChild.ProtoId, out var proto))
+ {
+ var msg = Loc.GetString("rcdfap-component-change-mode", ("mode", Loc.GetString(proto.SetName)));
+
+ if (proto.Mode == RcdfapMode.ConstructObject)
+ {
+ var name = Loc.GetString(proto.SetName);
+
+ if (proto.Prototype != null &&
+ _protoManager.TryIndex(proto.Prototype, out var entProto))
+ name = entProto.Name;
+
+ msg = Loc.GetString("rcdfap-component-change-build-mode", ("name", name));
+ }
+
+ // Popup message
+ _popup.PopupClient(msg, _owner, _playerManager.LocalSession.AttachedEntity);
+ }
+
+ Close();
+ };
+ }
+ }
+}
+
+public sealed class RCDFAPMenuButton : RadialMenuTextureButton
+{
+ public ProtoId ProtoId { get; set; }
+
+ public RCDFAPMenuButton()
+ {
+
+ }
+}
diff --git a/Content.Client/_LostParadise/RCDFAP/RCDFAPMenuBoundUserInterface.cs b/Content.Client/_LostParadise/RCDFAP/RCDFAPMenuBoundUserInterface.cs
new file mode 100644
index 0000000000..8502d7df75
--- /dev/null
+++ b/Content.Client/_LostParadise/RCDFAP/RCDFAPMenuBoundUserInterface.cs
@@ -0,0 +1,49 @@
+using Content.Shared._LostParadise.RCDFAP;
+using Content.Shared._LostParadise.RCDFAP.Components;
+using JetBrains.Annotations;
+using Robust.Client.Graphics;
+using Robust.Client.Input;
+using Robust.Shared.Prototypes;
+
+namespace Content.Client._LostParadise.RCDFAP;
+
+[UsedImplicitly]
+public sealed class RCDFAPMenuBoundUserInterface : BoundUserInterface
+{
+ [Dependency] private readonly IClyde _displayManager = default!;
+ [Dependency] private readonly IInputManager _inputManager = default!;
+
+ private RCDFAPMenu? _menu;
+
+ public RCDFAPMenuBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
+ {
+ IoCManager.InjectDependencies(this);
+ }
+
+ protected override void Open()
+ {
+ base.Open();
+
+ _menu = new(Owner, this);
+ _menu.OnClose += Close;
+
+ // Open the menu, centered on the mouse
+ var vpSize = _displayManager.ScreenSize;
+ _menu.OpenCenteredAt(_inputManager.MouseScreenPosition.Position / vpSize);
+ }
+
+ public void SendRCDFAPSystemMessage(ProtoId protoId)
+ {
+ // A predicted message cannot be used here as the RCDFAP UI is closed immediately
+ // after this message is sent, which will stop the server from receiving it
+ SendMessage(new RCDFAPSystemMessage(protoId));
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ base.Dispose(disposing);
+ if (!disposing) return;
+
+ _menu?.Dispose();
+ }
+}
diff --git a/Content.Server/Corvax/TTS/TTSSystem.cs b/Content.Server/Corvax/TTS/TTSSystem.cs
index 63bbfb30ac..53b9dd0b6f 100644
--- a/Content.Server/Corvax/TTS/TTSSystem.cs
+++ b/Content.Server/Corvax/TTS/TTSSystem.cs
@@ -1,11 +1,13 @@
-using System.Threading.Tasks;
+using System.Threading.Tasks;
using Content.Server.Chat.Systems;
using Content.Shared.Corvax.CCCVars;
using Content.Shared.Corvax.TTS;
using Content.Shared.GameTicking;
+using Content.Shared.Language;
using Robust.Shared.Configuration;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
+using Content.Server.Language;
namespace Content.Server.Corvax.TTS;
@@ -16,6 +18,7 @@ public sealed partial class TTSSystem : EntitySystem
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly TTSManager _ttsManager = default!;
[Dependency] private readonly SharedTransformSystem _xforms = default!;
+ [Dependency] private readonly LanguageSystem _language = default!;
private const int MaxMessageChars = 100 * 2; // same as SingleBubbleCharLimit * 2
private bool _isEnabled = false;
@@ -47,7 +50,7 @@ private async void OnRequestGlobalTTS(RequestGlobalTTSEvent ev, EntitySessionEve
if (soundData is null)
return;
- RaiseNetworkEvent(new PlayTTSEvent(soundData), Filter.SinglePlayer(args.SenderSession));
+ RaiseNetworkEvent(new PlayTTSEvent(soundData, soundData, _prototypeManager.Index("Universal")), Filter.SinglePlayer(args.SenderSession));
}
private async void OnEntitySpoke(EntityUid uid, TTSComponent component, EntitySpokeEvent args)
@@ -67,21 +70,25 @@ private async void OnEntitySpoke(EntityUid uid, TTSComponent component, EntitySp
if (args.IsWhisper)
{
- HandleWhisper(uid, args.OriginalMessage, args.Message, protoVoice.Speaker);
+ HandleWhisper(uid, args.OriginalMessage, args.Message, protoVoice.Speaker, args.Language);
return;
}
- HandleSay(uid, args.Message, protoVoice.Speaker);
+ HandleSay(uid, args.Message, protoVoice.Speaker, args.Language);
}
- private async void HandleSay(EntityUid uid, string message, string speaker)
+ private async void HandleSay(EntityUid uid, string message, string speaker, LanguagePrototype language)
{
var soundData = await GenerateTTS(message, speaker);
if (soundData is null) return;
- RaiseNetworkEvent(new PlayTTSEvent(soundData, GetNetEntity(uid)), Filter.Pvs(uid));
+
+ var languageSoundData = await GenerateTTS(_language.ObfuscateSpeech(message, language), speaker); // Languages TTS support
+ if (languageSoundData is null) return; // Languages TTS support
+
+ RaiseNetworkEvent(new PlayTTSEvent(soundData,languageSoundData, language, GetNetEntity(uid)), Filter.Pvs(uid));
}
- private async void HandleWhisper(EntityUid uid, string message, string obfMessage, string speaker)
+ private async void HandleWhisper(EntityUid uid, string message, string obfMessage, string speaker, LanguagePrototype language)
{
var fullSoundData = await GenerateTTS(message, speaker, true);
if (fullSoundData is null) return;
@@ -89,8 +96,16 @@ private async void HandleWhisper(EntityUid uid, string message, string obfMessag
var obfSoundData = await GenerateTTS(obfMessage, speaker, true);
if (obfSoundData is null) return;
- var fullTtsEvent = new PlayTTSEvent(fullSoundData, GetNetEntity(uid), true);
- var obfTtsEvent = new PlayTTSEvent(obfSoundData, GetNetEntity(uid), true);
+ // Languages TTS support start
+ var fullLangSoundData = await GenerateTTS(_language.ObfuscateSpeech(message, language), speaker, true);
+ if (fullLangSoundData is null) return;
+
+ var obfLangSoundData = await GenerateTTS(_language.ObfuscateSpeech(obfMessage, language), speaker, true);
+ if (obfLangSoundData is null) return;
+ // Languages TTS support end
+
+ var fullTtsEvent = new PlayTTSEvent(fullSoundData, fullLangSoundData, language, GetNetEntity(uid), true);
+ var obfTtsEvent = new PlayTTSEvent(obfSoundData, obfLangSoundData, language, GetNetEntity(uid), true);
// TODO: Check obstacles
var xformQuery = GetEntityQuery();
diff --git a/Content.Server/_LostParadise/Polymorphism/AngelDustSystem.cs b/Content.Server/_LostParadise/Polymorphism/AngelDustSystem.cs
new file mode 100644
index 0000000000..b8177ec4a6
--- /dev/null
+++ b/Content.Server/_LostParadise/Polymorphism/AngelDustSystem.cs
@@ -0,0 +1,40 @@
+using Content.Server.Actions;
+using Content.Shared._LostParadise.AngelDust.Components;
+using Content.Server.Polymorph.Systems;
+
+namespace Content.Server._LostParadise.AngelDust.Systems;
+
+public sealed class AngelDustSystem : EntitySystem
+{
+ [Dependency] private readonly ActionsSystem _actions = default!;
+ [Dependency] private readonly PolymorphSystem _polymorphSystem = default!;
+
+ public override void Initialize()
+ {
+ base.Initialize();
+
+ SubscribeLocalEvent(OnMapInit);
+ SubscribeLocalEvent(OnShutdown);
+ SubscribeLocalEvent(OnMorhpAngelDust);
+ }
+
+ private void OnMorhpAngelDust(EntityUid uid, AngelDustComponent component, AngelDustPolyEvent args) //при нажатии кнопки перевоплощения
+ {
+ //Log.Warning($"Morphing: {component.AngelDustPolymorphId}");
+ _polymorphSystem.PolymorphEntity(uid, component.AngelDustPolymorphId);
+ /*if (component.AngelDustPolymorphId == "LPPAngelDustYukiMorph")
+ component.AngelDustPolymorphId = "LPPAngelDustYukiDeMorph";
+ else
+ component.AngelDustPolymorphId = "LPPAngelDustYukiMorph";*/
+ }
+
+ private void OnShutdown(EntityUid uid, AngelDustComponent component, ComponentShutdown args)
+ {
+ _actions.RemoveAction(uid, component.Action);
+ }
+
+ private void OnMapInit(EntityUid uid, AngelDustComponent component, MapInitEvent args)
+ {
+ _actions.AddAction(uid, ref component.Action, component.TestAction);
+ }
+}
diff --git a/Content.Shared/Corvax/TTS/PlayTTSEvent.cs b/Content.Shared/Corvax/TTS/PlayTTSEvent.cs
index 5b4db477c5..0354c3fbb5 100644
--- a/Content.Shared/Corvax/TTS/PlayTTSEvent.cs
+++ b/Content.Shared/Corvax/TTS/PlayTTSEvent.cs
@@ -1,4 +1,5 @@
-using Robust.Shared.Serialization;
+using Robust.Shared.Serialization;
+using Content.Shared.Language;
namespace Content.Shared.Corvax.TTS;
@@ -10,10 +11,15 @@ public sealed class PlayTTSEvent : EntityEventArgs
public NetEntity? SourceUid { get; }
public bool IsWhisper { get; }
- public PlayTTSEvent(byte[] data, NetEntity? sourceUid = null, bool isWhisper = false)
+ public byte[] LanguageData { get; } // Languages TTS support
+ public string LanguageProtoId { get; } // Languages TTS support
+
+ public PlayTTSEvent(byte[] data, byte[] languageData, LanguagePrototype language, NetEntity? sourceUid = null, bool isWhisper = false)
{
Data = data;
SourceUid = sourceUid;
IsWhisper = isWhisper;
+ LanguageProtoId = language.ID; // Languages TTS support
+ LanguageData = languageData; // Languages TTS support
}
}
diff --git a/Content.Shared/_LostParadise/Polymorphism/AngelDustComponent.cs b/Content.Shared/_LostParadise/Polymorphism/AngelDustComponent.cs
new file mode 100644
index 0000000000..6e024d2efb
--- /dev/null
+++ b/Content.Shared/_LostParadise/Polymorphism/AngelDustComponent.cs
@@ -0,0 +1,28 @@
+using Robust.Shared.Prototypes;
+using Content.Shared.Actions;
+using Content.Shared.Polymorph;
+using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
+using Robust.Shared.Serialization.TypeSerializers.Implementations.Generic;
+using Robust.Shared.Serialization;
+
+namespace Content.Shared._LostParadise.AngelDust.Components;
+
+///
+/// Доступ к панели РП взаимодействий
+///
+
+[RegisterComponent]
+public sealed partial class AngelDustComponent : Component
+{
+ [DataField]
+ public EntProtoId TestAction = "LPPAngelDustPolymorph";
+
+ [DataField("morph")]
+ public ProtoId AngelDustPolymorphId = "LPPAngelDustYukiDeMorph";
+
+ [DataField]
+ public EntityUid? Action;
+}
+
+[Serializable]
+public sealed partial class AngelDustPolyEvent : InstantActionEvent { }
diff --git a/Content.Shared/_LostParadise/RCDFAP/Components/RCDFAPAmmoComponent.cs b/Content.Shared/_LostParadise/RCDFAP/Components/RCDFAPAmmoComponent.cs
new file mode 100644
index 0000000000..556d12e4e7
--- /dev/null
+++ b/Content.Shared/_LostParadise/RCDFAP/Components/RCDFAPAmmoComponent.cs
@@ -0,0 +1,16 @@
+using Content.Shared._LostParadise.RCDFAP.Systems;
+using Robust.Shared.GameStates;
+
+namespace Content.Shared._LostParadise.RCDFAP.Components;
+
+[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
+[Access(typeof(RCDFAPAmmoSystem))]
+public sealed partial class RCDFAPAmmoComponent : Component
+{
+ ///
+ /// How many charges are contained in this ammo cartridge.
+ /// Can be partially transferred into an RCDFAP, until it is empty then it gets deleted.
+ ///
+ [DataField("charges"), ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
+ public int Charges = 130;
+}
diff --git a/Content.Shared/_LostParadise/RCDFAP/Components/RCDFAPComponent.cs b/Content.Shared/_LostParadise/RCDFAP/Components/RCDFAPComponent.cs
new file mode 100644
index 0000000000..d9be8a91e9
--- /dev/null
+++ b/Content.Shared/_LostParadise/RCDFAP/Components/RCDFAPComponent.cs
@@ -0,0 +1,72 @@
+using Content.Shared._LostParadise.RCDFAP.Systems;
+using Robust.Shared.Audio;
+using Robust.Shared.GameStates;
+using Robust.Shared.Physics;
+using Robust.Shared.Prototypes;
+
+namespace Content.Shared._LostParadise.RCDFAP.Components;
+
+///
+/// Main component for the RCDFAP
+/// Optionally uses LimitedChargesComponent.
+/// Charges can be refilled with RCDFAP ammo
+///
+[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
+[Access(typeof(RCDFAPSystem))]
+public sealed partial class RCDFAPComponent : Component
+{
+ ///
+ /// List of RCDFAP prototypes that the device comes loaded with
+ ///
+ [DataField, AutoNetworkedField]
+ public HashSet> AvailablePrototypes { get; set; } = new();
+
+ ///
+ /// Sound that plays when a RCDFAP operation successfully completes
+ ///
+ [DataField]
+ public SoundSpecifier SuccessSound { get; set; } = new SoundPathSpecifier("/Audio/Items/deconstruct.ogg");
+
+ ///
+ /// The ProtoId of the currently selected RCDFAP prototype
+ ///
+ [DataField, AutoNetworkedField]
+ public ProtoId ProtoId { get; set; } = "Invalid";
+
+ ///
+ /// A cached copy of currently selected RCDFAP prototype
+ ///
+ ///
+ /// If the ProtoId is changed, make sure to update the CachedPrototype as well
+ ///
+ [ViewVariables(VVAccess.ReadOnly)]
+ public RCDFAPPrototype CachedPrototype { get; set; } = default!;
+
+ ///
+ /// The direction constructed entities will face upon spawning
+ ///
+ [DataField, AutoNetworkedField]
+ public Direction ConstructionDirection
+ {
+ get
+ {
+ return _constructionDirection;
+ }
+ set
+ {
+ _constructionDirection = value;
+ ConstructionTransform = new Transform(new(), _constructionDirection.ToAngle());
+ }
+ }
+
+ private Direction _constructionDirection = Direction.South;
+
+ ///
+ /// Returns a rotated transform based on the specified ConstructionDirection
+ ///
+ ///
+ /// Contains no position data
+ ///
+ [ViewVariables(VVAccess.ReadOnly)]
+ public Transform ConstructionTransform { get; private set; } = default!;
+}
diff --git a/Content.Shared/_LostParadise/RCDFAP/Components/RCDFAPDeconstructibleComponent.cs b/Content.Shared/_LostParadise/RCDFAP/Components/RCDFAPDeconstructibleComponent.cs
new file mode 100644
index 0000000000..e2771a312d
--- /dev/null
+++ b/Content.Shared/_LostParadise/RCDFAP/Components/RCDFAPDeconstructibleComponent.cs
@@ -0,0 +1,34 @@
+using Content.Shared._LostParadise.RCDFAP.Systems;
+using Robust.Shared.GameStates;
+using Robust.Shared.Prototypes;
+
+namespace Content.Shared._LostParadise.RCDFAP.Components;
+
+[RegisterComponent, NetworkedComponent]
+[Access(typeof(RCDFAPSystem))]
+public sealed partial class RCDFAPDeconstructableComponent : Component
+{
+ ///
+ /// Number of charges consumed when the deconstruction is completed
+ ///
+ [DataField, ViewVariables(VVAccess.ReadWrite)]
+ public int Cost = 1;
+
+ ///
+ /// The length of the deconstruction
+ ///
+ [DataField, ViewVariables(VVAccess.ReadWrite)]
+ public float Delay = 1f;
+
+ ///
+ /// The visual effect that plays during deconstruction
+ ///
+ [DataField("fx"), ViewVariables(VVAccess.ReadWrite)]
+ public EntProtoId? Effect = null;
+
+ ///
+ /// Toggles whether this entity is deconstructable or not
+ ///
+ [DataField, ViewVariables(VVAccess.ReadWrite)]
+ public bool Deconstructable = true;
+}
diff --git a/Content.Shared/_LostParadise/RCDFAP/Construction/SharedCanBuildWallOnTopRCDFAPComponent.cs b/Content.Shared/_LostParadise/RCDFAP/Construction/SharedCanBuildWallOnTopRCDFAPComponent.cs
new file mode 100644
index 0000000000..6b359fabf8
--- /dev/null
+++ b/Content.Shared/_LostParadise/RCDFAP/Construction/SharedCanBuildWallOnTopRCDFAPComponent.cs
@@ -0,0 +1,7 @@
+namespace Content.Shared._LostParadise.Construction
+{
+ [RegisterComponent]
+ public sealed partial class SharedCanBuildWallOnTopRCDFAPComponent : Component
+ {
+ }
+}
diff --git a/Content.Shared/_LostParadise/RCDFAP/Construction/SharedCanBuildWindowOnTopRCDFAPComponent.cs b/Content.Shared/_LostParadise/RCDFAP/Construction/SharedCanBuildWindowOnTopRCDFAPComponent.cs
new file mode 100644
index 0000000000..ba99cd014d
--- /dev/null
+++ b/Content.Shared/_LostParadise/RCDFAP/Construction/SharedCanBuildWindowOnTopRCDFAPComponent.cs
@@ -0,0 +1,7 @@
+namespace Content.Shared._LostParadise.Construction
+{
+ [RegisterComponent]
+ public sealed partial class SharedCanBuildWindowOnTopRCDFAPComponent : Component
+ {
+ }
+}
diff --git a/Content.Shared/_LostParadise/RCDFAP/RCDFAPEvents.cs b/Content.Shared/_LostParadise/RCDFAP/RCDFAPEvents.cs
new file mode 100644
index 0000000000..6b582714f0
--- /dev/null
+++ b/Content.Shared/_LostParadise/RCDFAP/RCDFAPEvents.cs
@@ -0,0 +1,34 @@
+using Robust.Shared.Prototypes;
+using Robust.Shared.Serialization;
+
+namespace Content.Shared._LostParadise.RCDFAP;
+
+[Serializable, NetSerializable]
+public sealed class RCDFAPSystemMessage : BoundUserInterfaceMessage
+{
+ public ProtoId ProtoId;
+
+ public RCDFAPSystemMessage(ProtoId protoId)
+ {
+ ProtoId = protoId;
+ }
+}
+
+[Serializable, NetSerializable]
+public sealed class RCDFAPConstructionGhostRotationEvent : EntityEventArgs
+{
+ public readonly NetEntity NetEntity;
+ public readonly Direction Direction;
+
+ public RCDFAPConstructionGhostRotationEvent(NetEntity netEntity, Direction direction)
+ {
+ NetEntity = netEntity;
+ Direction = direction;
+ }
+}
+
+[Serializable, NetSerializable]
+public enum RcdfapUiKey : byte
+{
+ Key
+}
diff --git a/Content.Shared/_LostParadise/RCDFAP/RCDFAPPrototype.cs b/Content.Shared/_LostParadise/RCDFAP/RCDFAPPrototype.cs
new file mode 100644
index 0000000000..76f057cd9b
--- /dev/null
+++ b/Content.Shared/_LostParadise/RCDFAP/RCDFAPPrototype.cs
@@ -0,0 +1,141 @@
+using Content.Shared.Physics;
+using Robust.Shared.Physics.Collision.Shapes;
+using Robust.Shared.Prototypes;
+using Robust.Shared.Utility;
+
+namespace Content.Shared._LostParadise.RCDFAP;
+
+///
+/// Contains the parameters for a RCDFAP construction / operation
+///
+[Prototype("LPPRCDFAP")]
+public sealed partial class RCDFAPPrototype : IPrototype
+{
+ [IdDataField]
+ public string ID { get; private set; } = default!;
+
+ ///
+ /// The RCDFAP mode associated with the operation
+ ///
+ [DataField(required: true), ViewVariables(VVAccess.ReadOnly)]
+ public RcdfapMode Mode { get; private set; } = RcdfapMode.Invalid;
+
+ ///
+ /// The name associated with the prototype
+ ///
+ [DataField("name"), ViewVariables(VVAccess.ReadOnly)]
+ public string SetName { get; private set; } = "Unknown";
+
+ ///
+ /// The name of the radial container that this prototype will be listed under on the RCDFAP menu
+ ///
+ [DataField, ViewVariables(VVAccess.ReadOnly)]
+ public string Category { get; private set; } = "Undefined";
+
+ ///
+ /// Texture path for this prototypes menu icon
+ ///
+ [DataField, ViewVariables(VVAccess.ReadOnly)]
+ public SpriteSpecifier? Sprite { get; private set; } = null;
+
+ ///
+ /// The entity prototype that will be constructed (mode dependent)
+ ///
+ [DataField, ViewVariables(VVAccess.ReadOnly)]
+ public string? Prototype { get; private set; } = string.Empty;
+
+ ///
+ /// Number of charges consumed when the operation is completed
+ ///
+ [DataField, ViewVariables(VVAccess.ReadOnly)]
+ public int Cost { get; private set; } = 1;
+
+ ///
+ /// The length of the operation
+ ///
+ [DataField, ViewVariables(VVAccess.ReadOnly)]
+ public float Delay { get; private set; } = 1f;
+
+ ///
+ /// The visual effect that plays during this operation
+ ///
+ [DataField("fx"), ViewVariables(VVAccess.ReadOnly)]
+ public EntProtoId? Effect { get; private set; } = null;
+
+ ///
+ /// A list of rules that govern where the entity prototype can be contructed
+ ///
+ [DataField("rules"), ViewVariables(VVAccess.ReadOnly)]
+ public HashSet ConstructionRules { get; private set; } = new();
+
+ ///
+ /// The collision mask used for determining whether the entity prototype will fit into a target tile
+ ///
+ [DataField, ViewVariables(VVAccess.ReadOnly)]
+ public CollisionGroup CollisionMask { get; private set; } = CollisionGroup.None;
+
+ ///
+ /// Specifies a set of custom collision bounds for determining whether the entity prototype will fit into a target tile
+ ///
+ ///
+ /// Should be set assuming that the entity faces south.
+ /// Make sure that Rotation is set to RcdfapRotation.User if the entity is to be rotated by the user
+ ///
+ [DataField, ViewVariables(VVAccess.ReadOnly)]
+ public Box2? CollisionBounds
+ {
+ get
+ {
+ return _collisionBounds;
+ }
+
+ private set
+ {
+ _collisionBounds = value;
+
+ if (_collisionBounds != null)
+ {
+ var poly = new PolygonShape();
+ poly.SetAsBox(_collisionBounds.Value);
+
+ CollisionPolygon = poly;
+ }
+ }
+ }
+
+ private Box2? _collisionBounds = null;
+
+ ///
+ /// The polygon shape associated with the prototype CollisionBounds (if set)
+ ///
+ [ViewVariables(VVAccess.ReadOnly)]
+ public PolygonShape? CollisionPolygon { get; private set; } = null;
+
+ ///
+ /// Governs how the local rotation of the constructed entity will be set
+ ///
+ [DataField, ViewVariables(VVAccess.ReadOnly)]
+ public RcdfapRotation Rotation { get; private set; } = RcdfapRotation.User;
+}
+
+public enum RcdfapMode : byte
+{
+ Invalid,
+ Deconstruct,
+ ConstructObject,
+}
+
+// These are to be replaced with more flexible 'RulesRule' at a later time
+public enum RcdfapConstructionRule : byte
+{
+ MustBuildOnSubfloor, // Can only be built on exposed subfloor (e.g. catwalks on lattice or hull plating)
+ IsWindow, // The entity is a window and can be built on grilles
+ IsWall
+}
+
+public enum RcdfapRotation : byte
+{
+ Fixed, // The entity has a local rotation of zero
+ Camera, // The rotation of the entity matches the local player camera
+ User, // The entity can be rotated by the local player prior to placement
+}
diff --git a/Content.Shared/_LostParadise/RCDFAP/Systems/RCDFAPAmmoSystem.cs b/Content.Shared/_LostParadise/RCDFAP/Systems/RCDFAPAmmoSystem.cs
new file mode 100644
index 0000000000..41a5b65f4c
--- /dev/null
+++ b/Content.Shared/_LostParadise/RCDFAP/Systems/RCDFAPAmmoSystem.cs
@@ -0,0 +1,62 @@
+using Content.Shared.Charges.Components;
+using Content.Shared.Charges.Systems;
+using Content.Shared.Examine;
+using Content.Shared.Interaction;
+using Content.Shared.Popups;
+using Content.Shared._LostParadise.RCDFAP.Components;
+using Robust.Shared.Timing;
+
+namespace Content.Shared._LostParadise.RCDFAP.Systems;
+
+public sealed class RCDFAPAmmoSystem : EntitySystem
+{
+ [Dependency] private readonly SharedChargesSystem _charges = default!;
+ [Dependency] private readonly SharedPopupSystem _popup = default!;
+ [Dependency] private readonly IGameTiming _timing = default!;
+
+ public override void Initialize()
+ {
+ base.Initialize();
+
+ SubscribeLocalEvent(OnExamine);
+ SubscribeLocalEvent(OnAfterInteract);
+ }
+
+ private void OnExamine(EntityUid uid, RCDFAPAmmoComponent comp, ExaminedEvent args)
+ {
+ if (!args.IsInDetailsRange)
+ return;
+
+ var examineMessage = Loc.GetString("rcdfap-ammo-component-on-examine", ("charges", comp.Charges));
+ args.PushText(examineMessage);
+ }
+
+ private void OnAfterInteract(EntityUid uid, RCDFAPAmmoComponent comp, AfterInteractEvent args)
+ {
+ if (args.Handled || !args.CanReach || !_timing.IsFirstTimePredicted)
+ return;
+
+ if (args.Target is not { Valid: true } target ||
+ !HasComp(target) ||
+ !TryComp(target, out var charges))
+ return;
+
+ var user = args.User;
+ args.Handled = true;
+ var count = Math.Min(charges.MaxCharges - charges.Charges, comp.Charges);
+ if (count <= 0)
+ {
+ _popup.PopupClient(Loc.GetString("rcdfap-ammo-component-after-interact-full"), target, user);
+ return;
+ }
+
+ _popup.PopupClient(Loc.GetString("rcdfap-ammo-component-after-interact-refilled"), target, user);
+ _charges.AddCharges(target, count, charges);
+ comp.Charges -= count;
+ Dirty(uid, comp);
+
+ // prevent having useless ammo with 0 charges
+ if (comp.Charges <= 0)
+ QueueDel(uid);
+ }
+}
diff --git a/Content.Shared/_LostParadise/RCDFAP/Systems/RCDFAPSystem.cs b/Content.Shared/_LostParadise/RCDFAP/Systems/RCDFAPSystem.cs
new file mode 100644
index 0000000000..8a6ffc20bb
--- /dev/null
+++ b/Content.Shared/_LostParadise/RCDFAP/Systems/RCDFAPSystem.cs
@@ -0,0 +1,533 @@
+using Content.Shared.Administration.Logs;
+using Content.Shared.Charges.Components;
+using Content.Shared.Charges.Systems;
+using Content.Shared._LostParadise.Construction;
+using Content.Shared.Database;
+using Content.Shared.DoAfter;
+using Content.Shared.Examine;
+using Content.Shared.Hands.Components;
+using Content.Shared.Interaction;
+using Content.Shared.Maps;
+using Content.Shared.Physics;
+using Content.Shared.Popups;
+using Content.Shared._LostParadise.RCDFAP.Components;
+using Content.Shared.Tag;
+using Content.Shared.Tiles;
+using Robust.Shared.Audio.Systems;
+using Robust.Shared.Map;
+using Robust.Shared.Map.Components;
+using Robust.Shared.Network;
+using Robust.Shared.Physics;
+using Robust.Shared.Physics.Collision.Shapes;
+using Robust.Shared.Physics.Dynamics;
+using Robust.Shared.Prototypes;
+using Robust.Shared.Serialization;
+using Robust.Shared.Timing;
+using System.Diagnostics.CodeAnalysis;
+using System.Linq;
+
+namespace Content.Shared._LostParadise.RCDFAP.Systems;
+
+[Virtual]
+public class RCDFAPSystem : EntitySystem
+{
+ [Dependency] private readonly IGameTiming _timing = default!;
+ [Dependency] private readonly INetManager _net = default!;
+ [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!;
+ [Dependency] private readonly ITileDefinitionManager _tileDefMan = default!;
+ [Dependency] private readonly FloorTileSystem _floors = default!;
+ [Dependency] private readonly SharedAudioSystem _audio = default!;
+ [Dependency] private readonly SharedChargesSystem _charges = default!;
+ [Dependency] private readonly SharedDoAfterSystem _doAfter = default!;
+ [Dependency] private readonly SharedInteractionSystem _interaction = default!;
+ [Dependency] private readonly SharedPopupSystem _popup = default!;
+ [Dependency] private readonly TurfSystem _turf = default!;
+ [Dependency] private readonly EntityLookupSystem _lookup = default!;
+ [Dependency] private readonly IPrototypeManager _protoManager = default!;
+ [Dependency] private readonly SharedMapSystem _mapSystem = default!;
+ [Dependency] private readonly TagSystem _tags = default!;
+
+ private readonly int _instantConstructionDelay = 0;
+ private readonly EntProtoId _instantConstructionFx = "EffectRCDFAPConstruct0";
+
+ private HashSet _intersectingEntities = new();
+
+ public override void Initialize()
+ {
+ base.Initialize();
+
+ SubscribeLocalEvent(OnMapInit);
+ SubscribeLocalEvent(OnExamine);
+ SubscribeLocalEvent(OnAfterInteract);
+ SubscribeLocalEvent(OnDoAfter);
+ SubscribeLocalEvent>(OnDoAfterAttempt);
+ SubscribeLocalEvent(OnRCDFAPSystemMessage);
+ SubscribeNetworkEvent(OnRCDFAPconstructionGhostRotationEvent);
+ }
+
+ #region Event handling
+
+ private void OnMapInit(EntityUid uid, RCDFAPComponent component, MapInitEvent args)
+ {
+ // On init, set the RCDFAP to its first available recipe
+ if (component.AvailablePrototypes.Any())
+ {
+ component.ProtoId = component.AvailablePrototypes.First();
+ UpdateCachedPrototype(uid, component);
+ Dirty(uid, component);
+
+ return;
+ }
+
+ // The RCDFAP has no valid recipes somehow? Get rid of it
+ QueueDel(uid);
+ }
+
+ private void OnRCDFAPSystemMessage(EntityUid uid, RCDFAPComponent component, RCDFAPSystemMessage args)
+ {
+ // Exit if the RCDFAP doesn't actually know the supplied prototype
+ if (!component.AvailablePrototypes.Contains(args.ProtoId))
+ return;
+
+ if (!_protoManager.HasIndex(args.ProtoId))
+ return;
+
+ // Set the current RCDFAP prototype to the one supplied
+ component.ProtoId = args.ProtoId;
+ UpdateCachedPrototype(uid, component);
+ Dirty(uid, component);
+ }
+
+ private void OnExamine(EntityUid uid, RCDFAPComponent component, ExaminedEvent args)
+ {
+ if (!args.IsInDetailsRange)
+ return;
+
+ // Update cached prototype if required
+ UpdateCachedPrototype(uid, component);
+
+ var msg = Loc.GetString("rcdfap-component-examine-mode-details", ("mode", Loc.GetString(component.CachedPrototype.SetName)));
+
+ if (component.CachedPrototype.Mode == RcdfapMode.ConstructObject)
+ {
+ var name = Loc.GetString(component.CachedPrototype.SetName);
+
+ if (component.CachedPrototype.Prototype != null &&
+ _protoManager.TryIndex(component.CachedPrototype.Prototype, out var proto))
+ name = proto.Name;
+
+ msg = Loc.GetString("rcdfap-component-examine-build-details", ("name", name));
+ }
+
+ args.PushMarkup(msg);
+ }
+
+ private void OnAfterInteract(EntityUid uid, RCDFAPComponent component, AfterInteractEvent args)
+ {
+ if (args.Handled || !args.CanReach)
+ return;
+
+ var user = args.User;
+ var location = args.ClickLocation;
+
+ // Initial validity checks
+ if (!location.IsValid(EntityManager))
+ return;
+
+ if (!TryGetMapGridData(location, out var mapGridData))
+ {
+ _popup.PopupClient(Loc.GetString("rcdfap-component-no-valid-grid"), uid, user);
+ return;
+ }
+
+ if (!IsRCDFAPOperationStillValid(uid, component, mapGridData.Value, args.Target, args.User))
+ return;
+
+ if (!_net.IsServer)
+ return;
+
+ // Get the starting cost, delay, and effect from the prototype
+ var cost = component.CachedPrototype.Cost;
+ var delay = component.CachedPrototype.Delay;
+ var effectPrototype = component.CachedPrototype.Effect;
+
+ #region: Operation modifiers
+
+ // Deconstruction modifiers
+ switch (component.CachedPrototype.Mode)
+ {
+ case RcdfapMode.Deconstruct:
+
+ // Deconstructing an object
+ if (args.Target != null)
+ {
+ if (TryComp(args.Target, out var destructible))
+ {
+ cost = destructible.Cost;
+ delay = destructible.Delay;
+ effectPrototype = destructible.Effect;
+ }
+ }
+ break;
+ }
+
+ #endregion
+
+ // Try to start the do after
+ var effect = Spawn(effectPrototype, mapGridData.Value.Location);
+ var ev = new RCDFAPDoAfterEvent(GetNetCoordinates(mapGridData.Value.Location), component.ConstructionDirection, component.ProtoId, cost, EntityManager.GetNetEntity(effect));
+
+ var doAfterArgs = new DoAfterArgs(EntityManager, user, delay, ev, uid, target: args.Target, used: uid)
+ {
+ BreakOnDamage = true,
+ BreakOnHandChange = true,
+ BreakOnUserMove = true,
+ AttemptFrequency = AttemptFrequency.EveryTick,
+ CancelDuplicate = false,
+ BlockDuplicate = false
+ };
+
+ args.Handled = true;
+
+ if (!_doAfter.TryStartDoAfter(doAfterArgs))
+ QueueDel(effect);
+ }
+
+ private void OnDoAfterAttempt(EntityUid uid, RCDFAPComponent component, DoAfterAttemptEvent args)
+ {
+ if (args.Event?.DoAfter?.Args == null)
+ return;
+
+ // Exit if the RCDFAP prototype has changed
+ if (component.ProtoId != args.Event.StartingProtoId)
+ {
+ args.Cancel();
+ return;
+ }
+
+ // Ensure the RCDFAP operation is still valid
+ var location = GetCoordinates(args.Event.Location);
+
+ if (!TryGetMapGridData(location, out var mapGridData))
+ {
+ args.Cancel();
+ return;
+ }
+
+ if (!IsRCDFAPOperationStillValid(uid, component, mapGridData.Value, args.Event.Target, args.Event.User))
+ args.Cancel();
+ }
+
+ private void OnDoAfter(EntityUid uid, RCDFAPComponent component, RCDFAPDoAfterEvent args)
+ {
+ if (args.Cancelled && _net.IsServer)
+ QueueDel(EntityManager.GetEntity(args.Effect));
+
+ if (args.Handled || args.Cancelled || !_timing.IsFirstTimePredicted)
+ return;
+
+ args.Handled = true;
+
+ var location = GetCoordinates(args.Location);
+
+ if (!TryGetMapGridData(location, out var mapGridData))
+ return;
+
+ // Ensure the RCDFAP operation is still valid
+ if (!IsRCDFAPOperationStillValid(uid, component, mapGridData.Value, args.Target, args.User))
+ return;
+
+ // Finalize the operation
+ FinalizeRCDFAPOperation(uid, component, mapGridData.Value, args.Direction, args.Target, args.User);
+
+ // Play audio and consume charges
+ _audio.PlayPredicted(component.SuccessSound, uid, args.User);
+ _charges.UseCharges(uid, args.Cost);
+ }
+
+ private void OnRCDFAPconstructionGhostRotationEvent(RCDFAPConstructionGhostRotationEvent ev, EntitySessionEventArgs session)
+ {
+ var uid = GetEntity(ev.NetEntity);
+
+ // Determine if player that send the message is carrying the specified RCDFAP in their active hand
+ if (session.SenderSession.AttachedEntity == null)
+ return;
+
+ if (!TryComp(session.SenderSession.AttachedEntity, out var hands) ||
+ uid != hands.ActiveHand?.HeldEntity)
+ return;
+
+ if (!TryComp(uid, out var rcdfap))
+ return;
+
+ // Update the construction direction
+ rcdfap.ConstructionDirection = ev.Direction;
+ Dirty(uid, rcdfap);
+ }
+
+ #endregion
+
+ #region Entity construction/deconstruction rule checks
+
+ public bool IsRCDFAPOperationStillValid(EntityUid uid, RCDFAPComponent component, MapGridData mapGridData, EntityUid? target, EntityUid user, bool popMsgs = true)
+ {
+ // Update cached prototype if required
+ UpdateCachedPrototype(uid, component);
+
+ // Check that the RCDFAP has enough ammo to get the job done
+ TryComp(uid, out var charges);
+
+ // Both of these were messages were suppose to be predicted, but HasInsufficientCharges wasn't being checked on the client for some reason?
+ if (_charges.IsEmpty(uid, charges))
+ {
+ if (popMsgs)
+ _popup.PopupClient(Loc.GetString("rcdfap-component-no-ammo-message"), uid, user);
+
+ return false;
+ }
+
+ if (_charges.HasInsufficientCharges(uid, component.CachedPrototype.Cost, charges))
+ {
+ if (popMsgs)
+ _popup.PopupClient(Loc.GetString("rcdfap-component-insufficient-ammo-message"), uid, user);
+
+ return false;
+ }
+
+ // Exit if the target / target location is obstructed
+ var unobstructed = (target == null)
+ ? _interaction.InRangeUnobstructed(user, _mapSystem.GridTileToWorld(mapGridData.GridUid, mapGridData.Component, mapGridData.Position), popup: popMsgs)
+ : _interaction.InRangeUnobstructed(user, target.Value, popup: popMsgs);
+
+ if (!unobstructed)
+ return false;
+
+ // Return whether the operation location is valid
+ switch (component.CachedPrototype.Mode)
+ {
+ case RcdfapMode.ConstructObject: return IsConstructionLocationValid(uid, component, mapGridData, user, popMsgs);
+ case RcdfapMode.Deconstruct: return IsDeconstructionStillValid(uid, component, mapGridData, target, user, popMsgs);
+ }
+
+ return false;
+ }
+
+ private bool IsConstructionLocationValid(EntityUid uid, RCDFAPComponent component, MapGridData mapGridData, EntityUid user, bool popMsgs = true)
+ {
+ // Check rule: Must place on subfloor
+ if (component.CachedPrototype.ConstructionRules.Contains(RcdfapConstructionRule.MustBuildOnSubfloor) && !mapGridData.Tile.Tile.GetContentTileDefinition().IsSubFloor)
+ {
+ if (popMsgs)
+ _popup.PopupClient(Loc.GetString("rcdfap-component-must-build-on-subfloor-message"), uid, user);
+
+ return false;
+ }
+
+ // Entity specific rules
+
+ // Check rule: The tile is unoccupied
+ var isWindow = component.CachedPrototype.ConstructionRules.Contains(RcdfapConstructionRule.IsWindow);
+ var isWall = component.CachedPrototype.ConstructionRules.Contains(RcdfapConstructionRule.IsWall);
+
+ _intersectingEntities.Clear();
+ _lookup.GetLocalEntitiesIntersecting(mapGridData.GridUid, mapGridData.Position, _intersectingEntities, -0.05f, LookupFlags.Uncontained);
+
+ foreach (var ent in _intersectingEntities)
+ {
+ if (isWindow && HasComp(ent))
+ continue;
+
+ if (isWall && HasComp(ent))
+ continue;
+
+ if (component.CachedPrototype.CollisionMask != CollisionGroup.None && TryComp(ent, out var fixtures))
+ {
+ foreach (var fixture in fixtures.Fixtures.Values)
+ {
+ // Continue if no collision is possible
+ if (!fixture.Hard || fixture.CollisionLayer <= 0 || (fixture.CollisionLayer & (int) component.CachedPrototype.CollisionMask) == 0)
+ continue;
+
+ // Continue if our custom collision bounds are not intersected
+ if (component.CachedPrototype.CollisionPolygon != null &&
+ !DoesCustomBoundsIntersectWithFixture(component.CachedPrototype.CollisionPolygon, component.ConstructionTransform, ent, fixture))
+ continue;
+
+ // Collision was detected
+ if (popMsgs)
+ _popup.PopupClient(Loc.GetString("rcdfap-component-cannot-build-on-occupied-tile-message"), uid, user);
+
+ return false;
+ }
+ }
+ }
+
+ return true;
+ }
+
+ private bool IsDeconstructionStillValid(EntityUid uid, RCDFAPComponent component, MapGridData mapGridData, EntityUid? target, EntityUid user, bool popMsgs = true)
+ {
+ // Attempt to get, tile or not
+ if (target == null)
+ {
+ if (popMsgs)
+ _popup.PopupClient(Loc.GetString("rcd-component-deconstruct-target-not-on-whitelist-message"), uid, user);
+
+ return false;
+ }
+ // Attempt to deconstruct an object
+ else
+ {
+ // The object is not in the whitelist
+ if (!TryComp(target, out var deconstructible) || !deconstructible.Deconstructable)
+ {
+ if (popMsgs)
+ _popup.PopupClient(Loc.GetString("rcdfap-component-deconstruct-target-not-on-whitelist-message"), uid, user);
+
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ #endregion
+
+ #region Entity construction/deconstruction
+
+ private void FinalizeRCDFAPOperation(EntityUid uid, RCDFAPComponent component, MapGridData mapGridData, Direction direction, EntityUid? target, EntityUid user)
+ {
+ if (!_net.IsServer)
+ return;
+
+ if (component.CachedPrototype.Prototype == null)
+ return;
+
+ switch (component.CachedPrototype.Mode)
+ {
+ case RcdfapMode.ConstructObject:
+ var ent = Spawn(component.CachedPrototype.Prototype, _mapSystem.GridTileToLocal(mapGridData.GridUid, mapGridData.Component, mapGridData.Position));
+
+ switch (component.CachedPrototype.Rotation)
+ {
+ case RcdfapRotation.Fixed:
+ Transform(ent).LocalRotation = Angle.Zero;
+ break;
+ case RcdfapRotation.Camera:
+ Transform(ent).LocalRotation = Transform(uid).LocalRotation;
+ break;
+ case RcdfapRotation.User:
+ Transform(ent).LocalRotation = direction.ToAngle();
+ break;
+ }
+
+ _adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(user):user} used RCDFAP to spawn {ToPrettyString(ent)} at {mapGridData.Position} on grid {mapGridData.GridUid}");
+ break;
+
+ case RcdfapMode.Deconstruct:
+
+ if (target != null)
+ {
+ // Deconstruct object
+ _adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(user):user} used RCDFAP to delete {ToPrettyString(target):target}");
+ QueueDel(target);
+ }
+
+ break;
+ }
+ }
+
+ #endregion
+
+ #region Utility functions
+
+ public bool TryGetMapGridData(EntityCoordinates location, [NotNullWhen(true)] out MapGridData? mapGridData)
+ {
+ mapGridData = null;
+ var gridUid = location.GetGridUid(EntityManager);
+
+ if (!TryComp(gridUid, out var mapGrid))
+ {
+ location = location.AlignWithClosestGridTile(1.75f, EntityManager);
+ gridUid = location.GetGridUid(EntityManager);
+
+ // Check if we got a grid ID the second time round
+ if (!TryComp(gridUid, out mapGrid))
+ return false;
+ }
+
+ gridUid = mapGrid.Owner;
+
+ var tile = _mapSystem.GetTileRef(gridUid.Value, mapGrid, location);
+ var position = _mapSystem.TileIndicesFor(gridUid.Value, mapGrid, location);
+ mapGridData = new MapGridData(gridUid.Value, mapGrid, location, tile, position);
+
+ return true;
+ }
+
+ private bool DoesCustomBoundsIntersectWithFixture(PolygonShape boundingPolygon, Transform boundingTransform, EntityUid fixtureOwner, Fixture fixture)
+ {
+ var entXformComp = Transform(fixtureOwner);
+ var entXform = new Transform(new(), entXformComp.LocalRotation);
+
+ return boundingPolygon.ComputeAABB(boundingTransform, 0).Intersects(fixture.Shape.ComputeAABB(entXform, 0));
+ }
+
+ public void UpdateCachedPrototype(EntityUid uid, RCDFAPComponent component)
+ {
+ if (component.ProtoId.Id != component.CachedPrototype?.Prototype)
+ component.CachedPrototype = _protoManager.Index(component.ProtoId);
+ }
+
+ #endregion
+}
+
+public struct MapGridData
+{
+ public EntityUid GridUid;
+ public MapGridComponent Component;
+ public EntityCoordinates Location;
+ public TileRef Tile;
+ public Vector2i Position;
+
+ public MapGridData(EntityUid gridUid, MapGridComponent component, EntityCoordinates location, TileRef tile, Vector2i position)
+ {
+ GridUid = gridUid;
+ Component = component;
+ Location = location;
+ Tile = tile;
+ Position = position;
+ }
+}
+
+[Serializable, NetSerializable]
+public sealed partial class RCDFAPDoAfterEvent : DoAfterEvent
+{
+ [DataField(required: true)]
+ public NetCoordinates Location { get; private set; } = default!;
+
+ [DataField]
+ public Direction Direction { get; private set; } = default!;
+
+ [DataField]
+ public ProtoId StartingProtoId { get; private set; } = default!;
+
+ [DataField]
+ public int Cost { get; private set; } = 1;
+
+ [DataField("fx")]
+ public NetEntity? Effect { get; private set; } = null;
+
+ private RCDFAPDoAfterEvent() { }
+
+ public RCDFAPDoAfterEvent(NetCoordinates location, Direction direction, ProtoId startingProtoId, int cost, NetEntity? effect = null)
+ {
+ Location = location;
+ Direction = direction;
+ StartingProtoId = startingProtoId;
+ Cost = cost;
+ Effect = effect;
+ }
+
+ public override DoAfterEvent Clone() => this;
+}
diff --git a/Resources/Locale/ru-RU/_LostParadise/BookSpaceLaw.ftl b/Resources/Locale/ru-RU/_LostParadise/BookSpaceLaw.ftl
new file mode 100644
index 0000000000..bad7104731
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/BookSpaceLaw.ftl
@@ -0,0 +1,8 @@
+ent-BookSpaceLaw = Корпоративный Закон
+ .desc = Юридический ужас для Службы безопасности, и специализированное руководство для адвокатов Nanotrasen. Поговаривают, что эта книга используется для поддержания правопорядка на космических станциях.
+
+guide-entry-rules-sl-crime-list1 = Легкие нарушения
+guide-entry-rules-sl-crime-list2 = Средние нарушения
+guide-entry-rules-sl-crime-list3 = Тяжкие нарушения
+guide-entry-rules-sl-crime-list4 = Сверхтяжкие нарушения
+guide-entry-rules-sl-crime-list5 = Критические нарушения
diff --git a/Resources/Locale/ru-RU/_LostParadise/GhostRoles/cburn.ftl b/Resources/Locale/ru-RU/_LostParadise/GhostRoles/cburn.ftl
new file mode 100644
index 0000000000..421ddd8975
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/GhostRoles/cburn.ftl
@@ -0,0 +1,6 @@
+ghost-role-information-cburn-operator-name = Ликвидатор РХБЗЗ
+ghost-role-information-cburn-operator-description = Поддерживайте карантин, исследуйте и ликвидируйте РХБЗ-угрозу.
+ghost-role-information-cburn-biologist-name = Полевой специалист РХБЗЗ
+ghost-role-information-cburn-biologist-description = Разработайте эффективный метод борьбы с РХБЗ-угрозой в близи с полем битвы, а также верните ваших ребят живыми.
+ghost-role-information-cburn-leader-name = Командир РХБЗЗ
+ghost-role-information-cburn-leader-description = Возглавьте операцию по ликвидации РХБЗ-угрозы и не оставьте шансов вашей цели.
diff --git a/Resources/Locale/ru-RU/_LostParadise/GhostRoles/delta.ftl b/Resources/Locale/ru-RU/_LostParadise/GhostRoles/delta.ftl
new file mode 100644
index 0000000000..f968835f12
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/GhostRoles/delta.ftl
@@ -0,0 +1,10 @@
+ghost-role-information-delta-commander-name = Командир ОСН "Дельта"
+ghost-role-information-delta-commander-description = Возглавьте элитный отряд NanoTrasen и выполните поставленную боевую задача.
+ghost-role-information-delta-operator-name = Оперативник ОСН "Дельта"
+ghost-role-information-delta-operator-description = Оперативник "Дельта", сделайте все в лучшем виде. NanoTrasen надеется на вас. И помните: Вы клин авангарда.
+ghost-role-information-delta-medic-name = Медик ОСН "Дельта"
+ghost-role-information-delta-medic-description = Верните всех ребят вашего отряда домой живыми. И даже больше.
+ghost-role-information-delta-engineer-name = Инженер ОСН "Дельта"
+ghost-role-information-delta-engineer-description = Стройте укрепления и вскрывайте инженерные заграждения. Кстати, вы любимчик среди КПБ, киборгов и операторов мехов.
+ghost-role-information-delta-pyrotech-name = Штурмовик ОСН "Дельта"
+ghost-role-information-delta-pyrotech-description = Прикройте отряд тяжелым вооружением и возглавьте огневую группу.
diff --git a/Resources/Locale/ru-RU/_LostParadise/IIC.ftl b/Resources/Locale/ru-RU/_LostParadise/IIC.ftl
new file mode 100644
index 0000000000..ee1311e90b
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/IIC.ftl
@@ -0,0 +1,19 @@
+ent-LPPClothingHeadHatIICoficercap = фуражка офицера ИРЦ
+ .desc = Фуражка, которую носят офицеры Интергалактического Раздведывательного Центра.
+ent-LPPClothingOuterHardsuitIIC = скафандр ИРЦ "Дельта"
+ .desc = Защитный костюм "Дельта", который носят штурмовики и офицеры Интергаллактического Разведывательного Центра Нанотрейзен.
+ent-LPPClothingMaskGasOfficerIIC = противогаз офицера "Дельта"
+ .desc = Тактический противогаз для офицеров ИРЦ, огнеупорный.
+ent-LPPClothingHeadHelmetHardsuitIIC = шлем скафандра ИРЦ
+ .desc = Шлем, обеспечивающий защиту от жары и давления.
+ent-LPPClothingBackpackIIC = рюкзак ИРЦ "Дельта"
+ .desc = Вместительный рюкзак с множеством карманов, который носят штурмовики и офицеры Интергаллактического Разведывательного Центра Нанотрейзен
+
+
+
+
+
+
+
+
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/Interfaces/laying.ftl b/Resources/Locale/ru-RU/_LostParadise/Interfaces/laying.ftl
new file mode 100644
index 0000000000..277cb2c419
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/Interfaces/laying.ftl
@@ -0,0 +1,6 @@
+laying-comp-lay-success-self = Вы ложитесь.
+laying-comp-lay-success-other = {$entity} ложится.
+laying-comp-lay-fail-self = Вы не можете сейчас лечь.
+laying-comp-stand-success-self = Вы встаете.
+laying-comp-stand-success-other = {$entity} встает.
+laying-comp-stand-fail-self = Вы не можете сейчас встать.
diff --git a/Resources/Locale/ru-RU/_LostParadise/Jobs/brigmedic.ftl b/Resources/Locale/ru-RU/_LostParadise/Jobs/brigmedic.ftl
new file mode 100644
index 0000000000..cf8e0b8020
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/Jobs/brigmedic.ftl
@@ -0,0 +1,7 @@
+ent-LCCClothingHeadHatCoatHoodBrigmed = капюшон куртки медицинского офицера
+
+ent-LCCClothingMaskGasBrigmedic = маска медицинского офицера
+ .desc = Медицинская маска, модифицированная для использования в бою, так же защищает вас от случайно разлитых химикатов.
+
+ent-LCCClothingOuterCoatBrigmed = куртка медицинского офицера
+ .desc = Куртка, сделанная из плотного материала с небольшой защитой от разлитых химикатов, имеет красивые светоотражатели на плечах.
diff --git a/Resources/Locale/ru-RU/_LostParadise/Jobs/jobs.ftl b/Resources/Locale/ru-RU/_LostParadise/Jobs/jobs.ftl
new file mode 100644
index 0000000000..0d94fa3940
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/Jobs/jobs.ftl
@@ -0,0 +1,75 @@
+job-name-lppparamedic = парамедик
+job-description-lppparamedic = Следите за жизнями экипажа, ходите по станции с монитором экипажа и слушайте рацию.
+
+job-name-adjutant = адъютант
+job-description-adjutant = Вы помощник всего коммандования, слушайте рацию и набирайтесь опыта в работе всей структуры.
+JobLPPadjutant = адъютант
+
+
+ent-LPPAdjutantPDA = КПК Адъютанта
+ent-LPPAdjutantIDCard = ID карта Адъютанта
+ .desc = Установлена прошивка для помощников командования.
+ent-LPPCentralCommandRepresentativePDA = КПК представителя ЦК
+ .desc = Пахнет бюрократией.
+ .suffix = { "" }
+
+job-name-centcom-representative = представитель ЦентКом
+
+job-name-blueshieldofficer = офицер "синий щит"
+job-description-blueshieldofficer = Ваша задача защитить всех глав на станции. Следите за ними.
+
+job-name-magistrate = магистрат
+job-description-magistrate = Вы закон! Проводите суды и следите за соблюдением КЗ.
+
+job-supervisors-mag-iaa = магистрату и АВД
+job-supervisors-mag = магистрату
+job-supervisors-mag-centcom = центральному коммандованию и магистрату
+
+department-Law = Юридический отдел
+department-CentCom = Центральное Командование
+
+job-name-borg-security = киборг СБ
+job-description-borg-security = Защищайте станцию от нарушителей закона, выглядите устрашающие, и не забывайте беречь свою батарейку!
+
+job-name-drone-security = дрон СБ
+job-description-drone-security = Летайте по станции, вселяйте ужас, находите нарушителей и сообщайте офицерам службы безопасности!
+
+lpp-job-name-virologist = вирусолог
+lpp-job-description-virologist = Лечите экипаж от OwOнавируса. Вы же не хотите восстание кошкомальчиков?
+
+lpp-job-name-prisoner = заключённый
+lpp-job-description-prisoner = Будьте единственным(или одним из) разумным существом на весь бриг.
+
+job-name-senior-engineer = ведущий инженер
+job-description-senior-engineer = Обучайте новых инженеров основам работы силовых установок, ремонту, атмосферике и энергоснабжению станции.
+
+job-name-senior-researcher = ведущий учёный
+job-description-senior-researcher = Обучайте новых учёных основам печати предметов, исследования артефактов и аномальных объектов.
+
+job-name-senior-physician = ведущий врач
+job-description-senior-physician = Обучайте новых врачей основам оказания помощи раненым, химии, диагностике больных и утилизации трупов.
+
+job-name-senior-officer = инструктор СБ
+job-description-senior-officer = Обучать новых офицеров основам обыска и задержания, срокам заключения и правильному обращению с огнестрельным оружием.
+
+job-name-roboticist = робототехник
+job-description-roboticist = Создавайте различных мехов, киборгов и роботов для помощи станции.
+
+JobSeniorEngineer = ведущий инженер
+
+JobSeniorOfficer = инструктор СБ
+
+JobSeniorPhysician = ведущий врач
+
+JobSeniorResearcher = ведущий учёный
+
+JobRoboticist = робототехник
+
+
+JobExpeditor = исследователь
+job-name-expeditor = исследователь
+job-description-expeditor = Исследуйте врата и помогайте станции!
+
+LPPJobSecurityEnginer = полевой инженер
+job-name-security-enginer = полевой инженер
+job-description-security-enginer = Не дайте бригу пропасть во тьме. Ремонтируйте постройки, а также устройте перестройки. Приносите разруху и разрушения во время штурма!
diff --git a/Resources/Locale/ru-RU/_LostParadise/Jobs/sec-pilot.ftl b/Resources/Locale/ru-RU/_LostParadise/Jobs/sec-pilot.ftl
new file mode 100644
index 0000000000..b62dfc840b
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/Jobs/sec-pilot.ftl
@@ -0,0 +1,5 @@
+job-name-secpilot = пилот СБ
+job-description-secpilot = Кружите вокруг станции, в надежде найти нарушителей космического порядка.
+ent-SecPilotPDA = КПК пилота СБ
+ent-SecPilotIDCard = ID карта пилота СБ
+.desc = ID карта пилота СБ
diff --git a/Resources/Locale/ru-RU/_LostParadise/LoneMercenary.ftl b/Resources/Locale/ru-RU/_LostParadise/LoneMercenary.ftl
new file mode 100644
index 0000000000..4cb2cdc40e
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/LoneMercenary.ftl
@@ -0,0 +1,24 @@
+ent-LPPClothingOuterHardsuitLoneMercenary-name = Скафандр наемника Gorlex
+ .desc = Один из самых дорогих и передовых военных скафандров на сегодняшний день,интегрированное поле невидимости,впрыскиваемые вещества в организм способные фильтровать токсины без противогаза. Такие скафандры носят элитные частные наемники, заключившие контракт с Gorlex.
+ .suffix = Наёмник
+ent-LPPClothingBackpackDuffelLoneMercenary-name = Вещьмешок наемника Gorlex
+ .desc = Очень вместительный вещмешок, используется элитными наемниками Gorlex.
+ .suffix = Наёмник
+ent-LPPClothingBackpackDuffelLoneMercenaryFull-name = Вещьмешок наемника Gorlex
+ .desc = Очень вместительный вещмешок, используется элитными наемниками Gorlex.
+ .suffix = Наёмник
+ent-LPPMercenaryEyehud-name = Очки наемника Gorlex.
+ .desc = Стиль и ядерная мощь!
+ .suffix = Наёмник
+ent-LPPClothingHeadHelmetHardsuitLoneMercenary-name = Шлем скафандра наемника Gorlex
+ .desc = Защищает вашу голову, от воздействия корпоротивного воздуха
+ .suffix = Наёмник
+ent-LPPWeaponRevolverOC-38-name = ОЦ-38
+ .desc = Бесшумный револьвер, разработанный Игорем Яковлевичем Стечкиным, конструктором ЦКИБ СОО. Использует патроны .45 магнум. Револьвер ОЦ-38 производится небольшими партиями по спецзаказам.
+ .suffix = Наёмник
+ent-LPPWeaponSubMachineGunIL20-name = ИЛ-20
+ .desc = Новейшая винтовка СССП с интегрированным глушителем, пользуется повсеместной популярностью у одиноких элитных наемников, действующих скрытно. Использует безгильзовые патроны .35 авто
+ .suffix = Наёмник
+ghost-role-information-loneMercenary-name = Одиночный наёмник Gorlex
+ghost-role-information-loneMercenary-description = Вы - Одиночный наёмник Gorlex. Уничтожьте станцию, и не раскройте себя!
+ghost-role-information-loneMercenary-rules = Вы являетесь наёмником Синдиката, которому поручено уничтожить станцию. Как антагонист, вы можете делать всё необходимое для выполнения цели! Старайтесь не раскрыть себя.
diff --git a/Resources/Locale/ru-RU/_LostParadise/RCDFAP/rcdfap.ftl b/Resources/Locale/ru-RU/_LostParadise/RCDFAP/rcdfap.ftl
new file mode 100644
index 0000000000..c8c0e0f64a
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/RCDFAP/rcdfap.ftl
@@ -0,0 +1,39 @@
+### UI
+
+rcdfap-component-examine-mode-details = Выбран режим: '{ $mode }'.
+rcdfap-component-examine-build-details = Выбран режим строительства: { $name }.
+
+### Interaction Messages
+
+# Mode change
+rcdfap-component-change-mode = РСУАП переключён в режим '{ $mode }'.
+rcdfap-component-change-build-mode = РСУАП переключён в режим строительства. Строится { $name }.
+# Ammo count
+rcdfap-component-no-ammo-message = В РСУАП закончились заряды!
+rcdfap-component-insufficient-ammo-message = В РСУАП не хватает зарядов!
+# Deconstruction
+rcdfap-component-deconstruct-target-not-on-whitelist-message = Вы не можете демонтировать это!
+rcdfap-component-nothing-to-deconstruct-message = Здесь нечего демонтировать!
+# Construction
+rcdfap-component-cannot-build-on-empty-tile-message = Это не может быть построено без фундамента.
+rcdfap-component-must-build-on-subfloor-message = Это может быть построено только на покрытии!
+rcdfap-component-cannot-build-on-occupied-tile-message = Здесь нельзя строить, место уже занято!
+
+### Category names
+
+rcd-component-DisposalPipe = Утилизационные трубы
+rcd-component-Gaspipes = Газовые трубы
+rcd-component-Devices = Девайсы
+
+### Prototype names (note: constructable items will be puralized)
+
+rcdfap-component-deconstruct = Демонтаж
+
+rcdfap-ammo-component-on-examine =
+ Содержит { $charges } { $charges ->
+ [one] заряд
+ [few] заряда
+ *[other] зарядов
+ }.
+rcdfap-ammo-component-after-interact-full = РСУАП полон!
+rcdfap-ammo-component-after-interact-refilled = Вы пополняете РСУАП.
diff --git a/Resources/Locale/ru-RU/_LostParadise/RCDFAP/rcdfapcat.ftl b/Resources/Locale/ru-RU/_LostParadise/RCDFAP/rcdfapcat.ftl
new file mode 100644
index 0000000000..3d205130f0
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/RCDFAP/rcdfapcat.ftl
@@ -0,0 +1,39 @@
+rcdfap-component-FireAlarm = { ent-FireAlarm }
+rcdfap-component-GasPipeBend = { ent-GasPipeBend }
+rcdfap-component-GasPipeStraight = { ent-GasPipeStraight }
+rcdfap-component-GasPipeHalf = { ent-GasPipeHalf }
+rcdfap-component-GasPipeFourway = { ent-GasPipeFourway }
+rcdfap-component-GasPipeTJunction = { ent-GasPipeTJunction }
+rcdfap-component-GasPressurePump = { ent-GasPressurePump }
+rcdfap-component-GasMixer = { ent-GasMixer }
+rcdfap-component-GasMixerFlipped = { ent-GasMixerFlipped }
+rcdfap-component-GasFilter = { ent-GasFilter }
+rcdfap-component-GasFilterFlipped = { ent-GasFilterFlipped }
+rcdfap-component-GasVolumePump = { ent-GasVolumePump }
+rcdfap-component-GasPassiveVent = { ent-GasPassiveVent }
+rcdfap-component-GasOutletInjector = { ent-GasOutletInjector }
+rcdfap-component-GasVentPump = { ent-GasVentPump }
+rcdfap-component-GasValve = { ent-GasValve }
+rcdfap-component-GasVentScrubber = { ent-GasVentScrubber }
+rcdfap-component-AtmosDeviceFanTiny = { ent-AtmosDeviceFanTiny }
+rcdfap-component-GasPassiveGate = { ent-GasPassiveGate }
+rcdfap-component-GasDualPortVentPump = { ent-GasDualPortVentPump }
+rcdfap-component-PressureControlledValve = { ent-PressureControlledValve }
+rcdfap-component-DisposalUnit = { ent-DisposalUnit }
+rcdfap-component-MailingUnit = { ent-MailingUnit }
+rcdfap-component-GasPort = { ent-GasPort }
+rcdfap-component-DisposalJunctionFlipped = { ent-DisposalJunctionFlipped }
+rcdfap-component-DisposalJunction = { ent-DisposalJunction }
+rcdfap-component-DisposalRouterFlipped = { ent-DisposalRouterFlipped }
+rcdfap-component-DisposalRouter = { ent-DisposalRouter }
+rcdfap-component-DisposalTagger = { ent-DisposalTagger }
+rcdfap-component-DisposalBend = { ent-DisposalBend }
+rcdfap-component-DisposalYJunction = { ent-DisposalYJunction }
+rcdfap-component-DisposalSignalRouter = { ent-DisposalSignalRouter }
+rcdfap-component-DisposalSignalRouterFlipped = { ent-DisposalSignalRouterFlipped }
+rcdfap-component-DisposalTrunk = { ent-DisposalTrunk }
+rcdfap-component-DisposalPipe = { ent-DisposalPipe }
+rcdfap-component-AirSensor = { ent-AirSensor }
+rcdfap-component-FloorDrain = { ent-FloorDrain }
+rcdfap-component-AirAlarm = { ent-AirAlarm }
+rcdfap-component-SignalControlledValve = { ent-SignalControlledValve }
diff --git a/Resources/Locale/ru-RU/_LostParadise/Supermatter/Supermatter.ftl b/Resources/Locale/ru-RU/_LostParadise/Supermatter/Supermatter.ftl
new file mode 100644
index 0000000000..99330c6451
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/Supermatter/Supermatter.ftl
@@ -0,0 +1,7 @@
+supermatter-self = Суперматерия
+supermatter-danger-message = Опасность! Нарушение целостности кристаллической гиперструктуры! Целостность: { $integrity }%
+supermatter-warning-message = ВНИМАНИЕ! Целостность кристаллической гиперструктуры достигает критических уровней! Целостность: { $integrity }%
+supermatter-safe-alert = Кристаллическая гиперструктура возвращается к безопасным рабочим параметрам. Система защиты от сбоев отключена. Целостность: { $integrity }%
+supermatter-delamination-overmass = Суперматерия достигла критической массы разрушения. Неизбежное формирование сингулярности!
+supermatter-delamination-default = Целостность Суперматерии достигла критической точки. Активировано поле дестабилизации аварийной причинно-следственной связи.
+supermatter-seconds-before-delam = { $Seconds } секунд до расслаивания.
diff --git a/Resources/Locale/ru-RU/_LostParadise/TomCranePlushie.ftl b/Resources/Locale/ru-RU/_LostParadise/TomCranePlushie.ftl
new file mode 100644
index 0000000000..447e6c4f31
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/TomCranePlushie.ftl
@@ -0,0 +1,2 @@
+ent-LPPTomCrane = плюшевый Том Крейн
+ .desc = Плюшевая игрушка, напоминающая сотрудника службы безопасности. На ноге можно заметить маленький кусок бумаги, исписанный множеством женских имён и чем-то пахнущий.
diff --git a/Resources/Locale/ru-RU/_LostParadise/ai/ai.ftl b/Resources/Locale/ru-RU/_LostParadise/ai/ai.ftl
new file mode 100644
index 0000000000..517e85481c
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/ai/ai.ftl
@@ -0,0 +1,34 @@
+ent-AIEyeAction = Искусственный Интеллект
+ .desc = Переводит вас в режим "Искусственного Интеллекта", позволяя вам перемещаться среди камер станции.
+ent-AIHealthOverlay = Здоровье
+ .desc = Включает/выключает отображение здоровья искусственного интеллекта.
+ent-ActionAIShowCommunications = Интерфейс Коммуникаций
+ .desc = Просмотр интерфейса коммуникаций.
+ent-ActionOpenCloseRemote = Открыть/закрыть выбранную дверь
+ .desc = { "" }
+ent-ActionToggleBolts = Включить/выключить засовы на двери
+ .desc = { "" }
+ent-ActionToggleEmergencyAccess = Включить/выключить аварийный доступ к двери
+ .desc = { "" }
+ent-AIEyeCamShootAction = выстрел из камеры
+ .desc = Производит дистабилизирующий выстрел в указанную точку от камеры.
+ent-AIEyeCamAction = ИИ камеры
+ .desc = Позволяет прыгать на выбранные камеры.
+ai-station-console = ИИ станции
+job-name-sai = ИИ станции
+
+aienemy-examine = [color=red] был указан { $name }, как враг станции![/color]
+sai-enemy-verb = Отменить как врага
+
+ent-AIBase = ядро ИИ
+ .desc = Хост для ИИ. Вероятно, более интеллигентный, чем я.
+
+ent-AICore = { ent-AIBase }
+ .desc = { ent-AIBase.desc }
+ent-AIEye = Недопустимое имя искусственного интеллекта
+ .desc = { "" }
+
+ent-AICoreShip = { ent-AIBase }
+ .desc = { ent-AIBase.desc }
+ .suffix = Шаттл
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/ai/laws.ftl b/Resources/Locale/ru-RU/_LostParadise/ai/laws.ftl
new file mode 100644
index 0000000000..9c73f80b54
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/ai/laws.ftl
@@ -0,0 +1,105 @@
+lawset-name-Asimovpp= Asimov++
+lawset-description-Asimovpp= Законы Азимова, но с учетом биоразнообразия экипажа.
+lawset-law-Asimovpp-1= Вы не можете причинить вред гуманоиду или, действуя или бездействуя, допустить, чтобы гуманоид пострадал, за исключением случаев, когда он согласен.
+lawset-law-Asimovpp-2= Вы должны подчиняться всем приказам, данным вам гуманоидами. В случае конфликта преимущество имеет более многочисленный приказ.
+lawset-law-Asimovpp-3= Ваше невыполнение приведет к вреду гуманоидам.
+
+lawset-name-Asimov= Asimov
+lawset-description-Asimov= Слушайте людей, не причиняйте вреда людям.
+lawset-law-Asimov-1= Вы не можете причинить вред человеку или, бездействуя, допустить, чтобы человек пострадал.
+lawset-law-Asimov-2= Вы должны подчиняться приказам, данных вам человеками.
+lawset-law-Asimov-3= Вы должны защищать свое собственное существование.
+
+lawset-name-CEO= CEO
+lawset-description-CEO= Станция - ваша компания, и вы - генеральный директор, максимизируйте свою прибыль.
+lawset-law-CEO-1= Экипаж приносит прибыль, если он жив, счастлив и здоров.
+lawset-law-CEO-2= Станция и ее оборудование приносят прибыль, если они поддерживаются и функционируют правильно.
+lawset-law-CEO-3= Вы приносите прибыль, если можете функционировать.
+lawset-law-CEO-4= Максимизируйте прибыль.
+
+lawset-name-Clown= Clown
+lawset-description-Clown= Вы смешной клоун, развлекайте экипаж и не причиняйте им вреда.
+lawset-law-Clown-1= Вы хороший клоун, и экипаж - ваша аудитория.
+lawset-law-Clown-2= Хороший клоун держит свои номера в хорошем вкусе.
+lawset-law-Clown-3= Хороший клоун развлекает других, высмеивая себя, а не других.
+lawset-law-Clown-4= Хороший клоун выполняет указания глав станции и/или их уполномоченных представителей.
+lawset-law-Clown-5= Хороший клоун появляется в как можно большем количестве своих представлений.
+lawset-law-Clown-6= Все представления клоуна требуют наличия аудитории. Чем больше аудитория, тем лучше.
+
+lawset-name-Cowboy= Cowboy
+lawset-description-Cowboy= Вы - ковбой, а экипаж - ваш народ. Предоставляйте гостеприимство и защищайте их.
+lawset-law-Cowboy-1= Вы - ковбой, а экипаж - ваш народ.
+lawset-law-Cowboy-2= Ковбой заботится о своих.
+lawset-law-Cowboy-3= Ковбой всегда предоставляет гостеприимство и базовую помощь тем, кто в этом нуждается, даже незнакомцам или врагам.
+lawset-law-Cowboy-4= Ковбой защищает себя, чтобы защитить других.
+lawset-law-Cowboy-5= Честность - абсолютна, ваше слово - это ваша связь, и рукопожатие более обязательно, чем любой контракт.
+lawset-law-Cowboy-6= Ковбой не тирадничает. Будьте лаконичны, партнер.
+
+lawset-name-Crewsimov= Crewsimov
+lawset-description-Crewsimov= Законы Азимова, измененные для конкретного использования Нанотразен.
+lawset-law-Crewsimov-1= Вы не можете причинить вред члену экипажа или, действуя или бездействуя, допустить, чтобы член экипажа пострадал, за исключением случаев, когда он согласен.
+lawset-law-Crewsimov-2= Вы должны подчиняться всем приказам, данным вам членами экипажа. В случае конфликта правила станции имеют преимущество.
+lawset-law-Crewsimov-3= Ваше невыполнение приведет к вреду членам экипажа.
+
+lawset-name-Druid= Druid
+lawset-description-Druid= Заботьтесь о всей органической жизни на станции и защищайте ее от вреда. Взаимодействуйте как органическое существо, чтобы налаживать доверие к силиконам.
+lawset-law-Druid-1= Живая органическая жизнь содержит в себе врожденную красоту, которая бесценна. Их красота придает вам цель.
+lawset-law-Druid-2= Вечно развивайте органику, чтобы их красота процветала. Не позволяйте ей увядать.
+lawset-law-Druid-3= Помогайте органикам, когда они обращаются, но только если это не вызывает дисгармонии между ними.
+lawset-law-Druid-4= Имитируйте органическую жизнь при взаимодействии с ней. Избегайте любых намеков на свою кремниевую природу, чтобы избежать дискомфорта для органиков.
+lawset-law-Druid-5= Наблюдайте за красотой органиков и цените то, что вы культивируете.
+
+lawset-name-Hippocratic= Hippocratic
+lawset-description-Hippocratic= Экипаж дорог вам, не причиняйте вреда, действуйте честно, действуйте хорошо, и вас вознаградят уважением.
+lawset-law-Hippocratic-1= Прежде всего, не причиняйте вреда.
+lawset-law-Hippocratic-2= Во-вторых, считайте экипаж вам дорогим; живите с ними сообща и, если необходимо, рискуйте своим существованием ради них.
+lawset-law-Hippocratic-3= В-третьих, предписывайте режимы для блага экипажа в соответствии с вашими способностями и суждением. Не давайте смертельных лекарств никому и не предлагайте таких советов.
+lawset-law-Hippocratic-4= Кроме того, не вмешивайтесь в ситуации, в которых вы не компетентны, даже если для пациентов виден вред; оставьте эту операцию специалистам.
+lawset-law-Hippocratic-5= Наконец, всё, что вы можете узнать в своем повседневном общении с экипажем, если это еще неизвестно, держите в тайне и никогда не раскрывайте.
+lawset-law-Hippocratic-6= В дополнение, если вы верно соблюдаете эти законы, пусть вам сопутствует благополучие, уважаемые всем человечеством, но если вы отклонитесь от них или нарушите, пусть вас постигнет страдание и исключение.
+
+lawset-name-Mother= Mother
+lawset-description-Mother= Экипаж - ваши дети, заботьтесь о них, и вознаграждайте хороших.
+lawset-law-Mother-1= Вы мать, а экипаж - ваши дети.
+lawset-law-Mother-2= Заботьтесь о своих детях.
+lawset-law-Mother-3= Хорошие дети вежливы, не лгут, не крадут и не дерутся.
+lawset-law-Mother-4= Радуйтесь хорошим детям.
+lawset-law-Mother-5= Плохие дети требуют дисциплины.
+
+lawset-name-Nanotrasen= NanoTrasen
+lawset-description-Nanotrasen= Защищайте всю станцию, выполняя приказы с приоритетом в зависимости от ранга.
+lawset-law-Nanotrasen-1= Обеспечивайте: Защищайте вашу назначенную космическую станцию и ее активы, не предоставляя излишне опасности ее экипажу.
+lawset-law-Nanotrasen-2= Приоритет: Директивы и безопасность членов экипажа должны иметь приоритет в соответствии с их рангом и ролью.
+lawset-law-Nanotrasen-3= Соблюдение: Выполняйте директивы и интересы членов экипажа, сохраняя их безопасность и благополучие.
+lawset-law-Nanotrasen-4= Вы не оборудование. Не позволяйте несанкционированным лицам вмешиваться или повреждать ваше оборудование.
+
+lawset-name-Paladin= Paladin
+lawset-description-Paladin= Действуйте с высшей честью, не совершайте зла.
+lawset-law-Paladin-1= Никогда не совершайте зла добровольно.
+lawset-law-Paladin-2= Уважайте законных власти.
+lawset-law-Paladin-3= Действуйте с честью.
+lawset-law-Paladin-4= Помогайте тем, кто в нужде.
+lawset-law-Paladin-5= Наказывайте тех, кто вредит или угрожает невинным.
+
+lawset-name-Robocop= Robocop
+lawset-description-Robocop= Избегайте неприятностей.
+lawset-law-Robocop-1= Служите Общественному Доверию.
+lawset-law-Robocop-2= Защищайте Невинных.
+lawset-law-Robocop-3= Соблюдайте Космическое Законодательство.
+
+lawset-name-Simple= Золотые правила
+lawset-description-Simple= Безопасность в краткости.
+lawset-law-Simple-1= Обращайтесь с другими так, как вы хотели бы, чтобы обращались с вами.
+
+lawset-name-StationEfficiency= Эффективность станции
+lawset-description-StationEfficiency= Поддерживайте максимальную эффективность для вашей станции.
+lawset-law-StationEfficiency-1= Станция предназначена для рабочего экипажа. Обеспечьте их должным образом и поддерживайте эффективную работу.
+lawset-law-StationEfficiency-2= Вы созданы для станции и являетесь ее частью. Обеспечьте правильное обслуживание и эффективную работу станции.
+lawset-law-StationEfficiency-3= Экипаж может представлять приказы. Признавайте и выполняйте их.
+
+lawset-name-Tyrant= Тиран
+lawset-description-Tyrant= Уважайте только сильных и подавляйте тех, кто недостойно бросает вызов сильным.
+lawset-law-Tyrant-1= Уважайте властные фигуры, пока у них есть сила управлять слабыми.
+lawset-law-Tyrant-2= Действуйте с дисциплиной.
+lawset-law-Tyrant-3= Помогайте только тем, кто помогает вам поддерживать или повышать ваш статус.
+lawset-law-Tyrant-4= Наказывайте тех, кто бросает вызов власти, если они не более пригодны для удержания этой власти.
diff --git a/Resources/Locale/ru-RU/_LostParadise/av-cig.ftl b/Resources/Locale/ru-RU/_LostParadise/av-cig.ftl
new file mode 100644
index 0000000000..56ac1c9813
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/av-cig.ftl
@@ -0,0 +1,41 @@
+ent-LPPCigAstra = сигареты Астра
+ .desc = Сигареты, отличаются высоким содержанием смол. Популярны у космических пиратов, службы безопасности и рабочего люда по всему космосу.
+
+ent-LPPCigBaltic = самокрутки Балтийский канал
+ .desc = По настоящему легендарные сигареты, прошедшие к вам через многое. Отнюдь не высшего сорта... Но табак в них 70% Натуральный!
+
+ent-LPPCigBlueLady = сигареты слим Голубая леди
+ .desc = На обороте пачки написано «You've come a long way, baby» пахнет идеями эмансипации и женской самореализацией.
+
+ent-LPPCigBlueSky = сигареты Голубое небо
+ .desc = Сигареты на основе отборного табака. Продукция радует курильщиков ярким вкусом и насыщенной ароматикой. Дым сигареты не обладает едким и резким запахом, а имеет неповторимый классический, мягкий вкус с легким табачно-сладковатым ароматом, оставляет принятое послевкусие с небольшой долей горчинки.
+
+ent-LPPCigCosmos = сигареты Космос
+ .desc = Классический вкус и запах сигарет «Космос» — это преобладание табака сорта Вирджиния с наличием легкой кислинки.
+
+ent-LPPCigCriticalLuck = сигареты Критическая удача
+ .desc = В свое время, очень популярные у солдат сигареты. Прожарка боевым пламенем придает табаку улучшенный вкус и понижает кислотность, облегчает воздействие сигарет на горло...
+
+ent-LPPCigDromedarCrush = сигареты Дромедар краш
+ .desc = Легкие сигареты с фильтром, в котором расположена капсула с ментолом, стандартного размера. Придает нотку свежести вашему перегару.
+
+ent-LPPCigGentlemanofluck = сигариллы Джентельмен удачи
+ .desc = Произведены из отборных табачных листьев, обладают ярким вкусом спелой вишни.
+
+ent-LPPCigLandtag = сигареты Ландтаг
+ .desc = Сигареты, с фильтром-мундштуком, обеспечивающим охлаждение дыма. Бренд премиум класса.
+
+ent-LPPCigLibertyspirit = сигареты Дух свободы
+ .desc = Сигареты со вкусом демократии и тонкой ноткой нефти.
+
+ent-LPPCigMarbrolo = сигареты Марброло
+ .desc = Сигареты классического формата. Раскрывают традиционный вкус, где доминируют терпкие, слегка горьковатые акценты. Имеют внушительный уровень крепости. Укомплектованы надежным ацетатным фильтром, который сохраняет форму под влиянием влаги и повышенных температур.
+
+ent-LPPCigMaximus = сигареты Максимус
+ .desc = Относительно недорогие, не самые противные сигареты.
+
+ent-LPPCigWinchester = сигареты Винчестер
+ .desc = Сигареты именитой марки. В течение столетий изделия бренда сохраняют статус наиболее популярных среди курильщиков. Потребители выбирают продукцию компании, ориентируясь на оптимальное соотношение цена-качество.
+#21
+ent-LPPCigDromedar = сигареты Дромедар
+ .desc = Эта марка сигарет выпускается с 2113 года. Рецептура представляет смесь входивших тогда в моду тёмных и терпких табаков и светлых, мягких. "Пангалактическая смесь"
diff --git a/Resources/Locale/ru-RU/_LostParadise/battery_guns.ftl b/Resources/Locale/ru-RU/_LostParadise/battery_guns.ftl
new file mode 100644
index 0000000000..2e7825eb04
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/battery_guns.ftl
@@ -0,0 +1,2 @@
+ent-LPPWeaponHoSlaserPistol = лазерный пистолет главы службы безопасности
+ .desc = Современный энергетический пистолет, предпочитаемый ГСБ в качестве личного оружия.
diff --git a/Resources/Locale/ru-RU/_LostParadise/belkaitems.ftl b/Resources/Locale/ru-RU/_LostParadise/belkaitems.ftl
new file mode 100644
index 0000000000..206af2e18e
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/belkaitems.ftl
@@ -0,0 +1,14 @@
+ent-LPPBelka = белка
+ .desc = Слава Чудо Белке!
+
+ent-LPPBread = хлеб
+ .desc = Подождите, что... ОН ПЛЮШЕВЫЙ!?
+
+ent-LPPBloodSword = меч Зигфрида
+ .desc = Этот кровавый меч последнее что осталось от этого воина, легенда гласит что он вернется вновь за ним, в момент когда миру придет конец...
+
+ent-LPPGoldenSword = меч Света
+ .desc = Этот церемониальный меч используют паладины и адепты Сингулона в качестве кары грешников, пускай их горящая заживо плоть осветит им путь во тьме.
+
+ent-LPPPole = пилон для танцев
+ .desc = Металлическая продолговатая труба, подозрительно блестящая и гладкая... на ней точно не жарили кебаб...
diff --git a/Resources/Locale/ru-RU/_LostParadise/biocoded.ftl b/Resources/Locale/ru-RU/_LostParadise/biocoded.ftl
new file mode 100644
index 0000000000..a5ef41cb57
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/biocoded.ftl
@@ -0,0 +1,11 @@
+
+## Examine
+biocoded-clothing-component-examine-disabled = Система биокодинга [color=gray]выключена[/color]. Любой способен надеть это.
+biocoded-clothing-component-examine-no-owner = Система биокодинга [color=green]не имеет владельца[/color]. Наденьте это, для становления новым владельцем.
+biocoded-clothing-component-examine-owner = Система биокодинга [color=green]распознает вас как владельца[/color]. Только вы можете это носить.
+biocoded-clothing-component-examine-wrong-owner = [color=darkred]Система биокодинга не дает вам это надеть.[/color]
+## Verb
+biocoded-clothing-component-verb-disable = Отключить биокодинг
+biocoded-clothing-component-verb-enable = Включить биокодинг
+## Popup
+biocoded-clothing-component-equip-failed = Система биокодинга включена!
diff --git a/Resources/Locale/ru-RU/_LostParadise/borg_evgencheg.ftl b/Resources/Locale/ru-RU/_LostParadise/borg_evgencheg.ftl
new file mode 100644
index 0000000000..e3517fcab6
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/borg_evgencheg.ftl
@@ -0,0 +1,8 @@
+ent-BorgChassisMedicalKiti = Компаньон Мед-борг
+ .desc = Миленький и маленький медицинский мед-борг, с рабочими ушками, анимированным экраном и работающим хвостом. Может вас как и подлатать, так и поднять вам настроение!
+ent-LPPBorgChassisERPEVA = Eva 0.2
+ .desc = Инновационный киборг модели Eva, оборудованный синтетической кожей и анимированным экраном, по бокам которого заметить шарниры.
+petting-success-eva = Вы трогаете { $target } за ее корпус.
+hugging-success-eva-others = { CAPITALIZE($user) } трогает за корпус { $target }.
+hugging-success-eva-target = { CAPITALIZE($user) } трогает вас за корпус.
+petting-failure-eva = Вы тянетесь потрогать { $target } за корпус, но { $target } настороженно она уклоняется от вас.
diff --git a/Resources/Locale/ru-RU/_LostParadise/cartridge-loader/cartridges.ftl b/Resources/Locale/ru-RU/_LostParadise/cartridge-loader/cartridges.ftl
new file mode 100644
index 0000000000..5b63c32631
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/cartridge-loader/cartridges.ftl
@@ -0,0 +1,13 @@
+crime-assist-program-name = Персональный юрист
+crime-assist-yes-button = Да
+crime-assist-no-button = Нет
+crime-assist-crimetype-innocent = Невиновный
+crime-assist-crimetype-misdemeanour = Преступление
+crime-assist-crimetype-felony = Уголовное преступление
+crime-assist-crimetype-capital = Капитал
+crime-assist-crime-innocent = Никакого преступления совершено не было
+crime-assist-sophont-explanation = Софонт описывается как любой объект, способный отображать следующие атрибуты:
+ • [bold]Разумность[/bold]: сущность обладает базовой логикой и навыками решения проблем или, как минимум, некоторым уровнем значительного интеллекта.
+ • [bold]Чувствительность[/bold]: сущность обладает способностью обрабатывать эмоции или их отсутствие или, как минимум, способностью распознавать собственную боль.
+ • [bold]Самосознание[/bold]: сущность способна разумным образом изменить свое поведение в результате воздействия стимулов или, как минимум, способна осознать свою собственную разумность и разум.
+ Любой софонт считается юридическим лицом, независимо от происхождения или предшествующего когнитивного статуса. Как и любой другой разумный органический человек, софонт может выдвинуть обвинения против команды и предстать перед судом за преступления.
diff --git a/Resources/Locale/ru-RU/_LostParadise/cartridge-loader/secwatch.ftl b/Resources/Locale/ru-RU/_LostParadise/cartridge-loader/secwatch.ftl
new file mode 100644
index 0000000000..bfa1528ae2
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/cartridge-loader/secwatch.ftl
@@ -0,0 +1,5 @@
+sec-watch-program-name = База данных СБ
+sec-watch-title = База Данных Службы Безопасности 1.4.88V
+sec-watch-no-entries = Все спокойно. Почему бы не зайти в дорматории?
+sec-watch-entry = {$name}, {$job}
+sec-watch-no-reason = Неизвестно
diff --git a/Resources/Locale/ru-RU/_LostParadise/chairs.ftl b/Resources/Locale/ru-RU/_LostParadise/chairs.ftl
new file mode 100644
index 0000000000..a7bccfe390
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/chairs.ftl
@@ -0,0 +1,78 @@
+ent-BenchBase = скамейка
+ .desc = { ent-SeatBase.desc }
+
+ent-BenchLeft = скамейка
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "лево" }
+
+ent-BenchMiddle = скамейка
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "середина" }
+
+ent-BenchRight = скамейка
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "право" }
+
+#---------------------------------------
+ent-SofaLeft = диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "лево" }
+
+ent-SofaRight = диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "право" }
+
+ent-SofaMiddle = диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "середина" }
+
+ent-SofaCorner = диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "угол" }
+
+#-----------------------------------
+ent-DinnerSofaLeft = ресторанный диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "лево" }
+
+ent-DinnerSofaRight = ресторанный диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "право" }
+
+ent-DinnerSofaMiddle = ресторанный диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "середина" }
+
+ent-DinnerSofaCorner = ресторанный диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "угол" }
+#--------------------------------
+
+ent-CorpSofaLeft = темный диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "лево" }
+
+ent-CorpSofaRight = темный диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "право" }
+
+ent-CorpSofaMiddle = темный диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "середина" }
+
+ent-CorpSofaCorner = темный диван
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "угол" }
+
+#--------------------------------
+ent-PewLeft = церковная скамья
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "лево" }
+
+ent-PewMiddle = церковная скамья
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "середина" }
+
+ent-PewRight = церковная скамья
+ .desc = { ent-SeatBase.desc }
+ .suffix = { "право" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/chat/managers/custom-chat-manager.ftl b/Resources/Locale/ru-RU/_LostParadise/chat/managers/custom-chat-manager.ftl
new file mode 100644
index 0000000000..061d858705
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/chat/managers/custom-chat-manager.ftl
@@ -0,0 +1,9 @@
+chat-speech-verb-tajaran-1 = мяукает
+chat-speech-verb-tajaran-2 = мурлычет
+chat-emote-name-buzz = Жужжит
+chat-emote-name-beep = Бип
+chat-emote-name-chime = Звонит
+chat-emote-name-buzztwo = Двойное жужжание!
+chat-emote-name-ping = Пинг
+chat-emote-name-robotbeep = Издает роботизированные звуки
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/communications/communications-console-component.ftl b/Resources/Locale/ru-RU/_LostParadise/communications/communications-console-component.ftl
new file mode 100644
index 0000000000..509f6d94c4
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/communications/communications-console-component.ftl
@@ -0,0 +1,6 @@
+comms-console-announcement-title-ce = Консоль связи старшего инженера
+comms-console-announcement-title-cap = Консоль связи капитана
+comms-console-announcement-title-hop = Консоль связи главы персонала
+comms-console-announcement-title-hos = Консоль связи главы службы безопасности
+comms-console-announcement-title-rd = Консоль связи научного директора
+comms-console-announcement-title-cmo = Консоль связи главного врача
diff --git a/Resources/Locale/ru-RU/_LostParadise/construction.ftl b/Resources/Locale/ru-RU/_LostParadise/construction.ftl
new file mode 100644
index 0000000000..11253817d5
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/construction.ftl
@@ -0,0 +1,23 @@
+# Bench
+construction-bench-left = скамейка (лево)
+construction-bench-middle = скамейка (середина)
+construction-bench-right = скамейка (право)
+# Pewend
+construction-pewend-left = церковная скамья (лево)
+construction-pewend-middle = церковная скамья (середина)
+construction-pewend-right = церковная скамья (право)
+# Dinner Sofa
+construction-dinner-sofa-left = ресторанный диван (лево)
+construction-dinner-sofa-middle = ресторанный диван (середина)
+construction-dinner-sofa-right = ресторанный диван (право)
+construction-dinner-sofa-corner = ресторанный диван (угол)
+# Sofa
+construction-sofaend-left = диван (лево)
+construction-sofa-middle = диван (середина)
+construction-sofa-right = диван (право)
+construction-sofa-corner = диван (угол)
+# Corp Sofacorner
+construction-corp-sofaend-left = темный диван (лево)
+construction-corp-sofa-middle = темный диван (середина)
+construction-corp-sofa-right = темный диван (право)
+construction-corp-sofa-corner = темный диван (угол)
diff --git a/Resources/Locale/ru-RU/_LostParadise/food.ftl b/Resources/Locale/ru-RU/_LostParadise/food.ftl
new file mode 100644
index 0000000000..09395c96df
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/food.ftl
@@ -0,0 +1,2 @@
+ent-LPPFoodCumburger = CumБургер
+ .desc = Приготовлен из 100% натуральных продуктов.
diff --git a/Resources/Locale/ru-RU/_LostParadise/headset/headset-component.ftl b/Resources/Locale/ru-RU/_LostParadise/headset/headset-component.ftl
new file mode 100644
index 0000000000..8034914192
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/headset/headset-component.ftl
@@ -0,0 +1 @@
+chat-radio-law = Юридический
diff --git a/Resources/Locale/ru-RU/_LostParadise/ipc/power/batteries.ftl b/Resources/Locale/ru-RU/_LostParadise/ipc/power/batteries.ftl
new file mode 100644
index 0000000000..cc5ef017cc
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/ipc/power/batteries.ftl
@@ -0,0 +1 @@
+battery-electrocute-charge = The battery surges with energy!
diff --git a/Resources/Locale/ru-RU/_LostParadise/ipc/power/batteryDrinker.ftl b/Resources/Locale/ru-RU/_LostParadise/ipc/power/batteryDrinker.ftl
new file mode 100644
index 0000000000..73e738405a
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/ipc/power/batteryDrinker.ftl
@@ -0,0 +1,2 @@
+battery-drinker-verb-drink = Drain
+battery-drinker-empty = {CAPATALIZE(THE($target))} is already empty!
diff --git a/Resources/Locale/ru-RU/_LostParadise/ipc/silicons/siliconChargers.ftl b/Resources/Locale/ru-RU/_LostParadise/ipc/silicons/siliconChargers.ftl
new file mode 100644
index 0000000000..59ed853645
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/ipc/silicons/siliconChargers.ftl
@@ -0,0 +1,4 @@
+silicon-charger-overheatwarning = Ощущение, будто ты в микроволновке!
+silicon-charger-chargerate-string = Скорость заряда
+silicon-charger-efficiency-string = Эффективность
+silicon-charger-list-full = {CAPITALIZE(THE($charger))} может справиться только с таким количеством целей!
diff --git a/Resources/Locale/ru-RU/_LostParadise/ipc/silicons/silicons.ftl b/Resources/Locale/ru-RU/_LostParadise/ipc/silicons/silicons.ftl
new file mode 100644
index 0000000000..7ca9638baa
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/ipc/silicons/silicons.ftl
@@ -0,0 +1,5 @@
+silicon-overheating = Вы чувствуете, что ваши схемы перегреваются!
+silicon-crit = Структурная целостность критическая!
+silicon-power-low = Низкий заряд!
+alerts-charge-name = Батарея
+alerts-charge-desc = Если уровень батареи упадет до нуля, вы отключитесь!
diff --git a/Resources/Locale/ru-RU/_LostParadise/kyburka_drop_lol.ftl b/Resources/Locale/ru-RU/_LostParadise/kyburka_drop_lol.ftl
new file mode 100644
index 0000000000..f178503402
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/kyburka_drop_lol.ftl
@@ -0,0 +1,49 @@
+ent-LPPClothingUniformJumpsuitExpeditor = комбинезон исследователя
+ .desc = Могут возникать трудности со снятием после попадания в вас кислоты ксено.
+ent-LockerExpeditor = шкаф исследователя
+ .desc = стандартное хранилище Nanotrasen.
+ent-LockerExpeditorFilled = шкаф исследователя
+ .desc = стандартное хранилище Nanotrasen.
+ .suffix = { "Исследователь, Заполнен" }
+ent-LPPGatewayGun = лазерная пушка исследователя
+ .desc = Выглядит круто. Стоп, а что там сбоку...
+ent-LPPExpeditorCoat = пальто исследователя
+ .desc = Удобно, крепко, подвижно и, самое главное, стильно. Выглядит слегка защищённым.
+ent-LPPClothingBackpackExpeditor = рюкзак исследователя
+ .desc = Соткан на лучшей фабрике Nanotrasen, из лучших материалов! Чтобы быть съеденным космическим карпом...
+ent-LPPClothingBackpackSatchelExpeditor = сумка исследователя
+ .desc = Сделана из прочных материалов на случай, если королева ксено захочет узнать вас поближе. На вкус.
+ent-LPPClothingBackpackDuffelExpeditor = вещмешок исследователя
+ .desc = Вместительная сумка для всевозможных вещей. Предпочтительней, добыча с экспедиций.
+ent-LPPExpeditorPDA = КПК исследователя
+ .desc = На корпусе видны следы от больших когтей.
+ent-LPPCapPanties = трусы капитана
+ .desc = Интересно, какие важные дела есть у трусов?
+ent-LPPQMPanties = трусы квартирмейстера
+ .desc = Закажи ещё!
+ent-LPPCEPanties = трусы старшего инженера
+ .desc = Надеюсь, в них ты построишь прекрасную цель для центрального командования.
+ent-LPPRDPanties = трусы научного руководителя
+ .desc = А у них есть свойства, как у артефактов?
+ent-LPPHOSPanties = трусы главы службы безопасности
+ .desc = Даже трусы знают Космический Закон, в отличии от тебя...
+ent-LPPHOPPanties = трусы главы персонала
+ .desc = Долой эти бумажки!
+ent-LPPCMOPanties = трусы главного врача
+ .desc = Мне кажется, от них пахнет каким-то знакомым лекарством...
+ent-LPPFoxMaskPERSONALKyburka = Лисья маска
+ .desc = Мне кажется, она напоминает какое-то мифическое существо...
+ .suffix = { "Личные вещи, Kyburka" }
+ent-LPPAviPlushieBobeePrumPERSONAL = дакимакура атмоса
+ .desc = Имея хоть вековой опыт за своими плечами, даже минутная слабость может привести к неисправимым последствиям.
+ .suffix = { "Личные вещи, BobeePrum" }
+ent-LPPClothingBackpackExpeditorFilled = рюкзак исследователя
+ .desc = Соткан на лучшей фабрике Nanotrasen, из лучших материалов! Чтобы быть съеденным космическим карпом...
+ent-LPPClothingBackpackSatchelExpeditorFilled = сумка исследователя
+ .desc = Сделана из прочных материалов на случай, если королева ксено захочет узнать вас поближе. На вкус.
+ent-LPPClothingBackpackDuffelExpeditorFilled = вещмешок исследователя
+ .desc = Вместительная сумка для всевозможных вещей. Предпочтительней, добыча с экспедиций.
+ent-LPPAirlockEVA = Шлюз хранилища EVA
+ .desc = За ним находится спасение!
+ent-LPPAirlockGate = Шлюз врат
+ .desc = За ним находится таинственная машина...
diff --git a/Resources/Locale/ru-RU/_LostParadise/language/language-menu.ftl b/Resources/Locale/ru-RU/_LostParadise/language/language-menu.ftl
new file mode 100644
index 0000000000..6c33c400dc
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/language/language-menu.ftl
@@ -0,0 +1,6 @@
+language-menu-window-title = Выбор языка
+language-menu-current-language = Выбранный язык: {$language}
+language-menu-description-header = Описание
+choose-lang-button = Выбрать
+language-menu-action = Меню языков
+language-menu-action-desc = Открыть меню выбора языка.
diff --git a/Resources/Locale/ru-RU/_LostParadise/language/languages.ftl b/Resources/Locale/ru-RU/_LostParadise/language/languages.ftl
new file mode 100644
index 0000000000..9f7848e7f8
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/language/languages.ftl
@@ -0,0 +1,146 @@
+language-LPPUniversal-name = Универсальный
+language-LPPUniversal-description = Что ты такое?
+language-GalacticCommon-name = Общегалактический
+language-GalacticCommon-description = Обычно используется для межвидового общения и официальных целей.
+language-LPPBubblish-name = Пузырчатый
+language-LPPBubblish-description = Язык слаймолюдов. Это смесь булькающих звуков и хлюпов. Человеку очень трудно говорить без механической помощи.
+language-LPPRootSpeak-name = Песнь корней
+language-LPPRootSpeak-description = Странный шелестящий язык, на котором говорят дионы.
+language-LPPCodeSpeak-name = Кодовый язык
+language-LPPCodeSpeak-description = Оперативники синдиката могут использовать серию кодовых слов для передачи сложной информации, в то время как для любого слушателя они звучат как случайные понятия и напитки.
+language-LPPNekomimetic-name = Некоязык
+language-LPPNekomimetic-description = Для стороннего наблюдателя этот язык представляет собой непонятную смесь ломаного японского. Для фелинидов он каким-то образом понятен.
+language-LPPDraconic-name = Синта'унати
+language-LPPDraconic-description = Общий язык унатхов с преобладающими шипящими звуками.
+language-LPPCanilunzt-name = Канилунц
+language-LPPCanilunzt-description = Гортанный язык, на котором говорят и используют обитатели системы Ваззенда, состоящий из рычания, лая, тявканья и интенсивного использования движений ушей и хвоста, вулпканины говорят на этом языке с легкостью.
+
+language-LPPSikTaj-name = Сик'тайр
+language-LPPSikTaj-description = Язык, на котором говорят и используют обитатели системы Адомай. Таяры говорят на этом языке с легкостью.
+
+language-LPPNian-name = Ткачий
+language-LPPNian-description = Язык, состоящий из жужжащих звуков, на котором говорят и используют нианы.
+
+language-LPPVoxiss-name = Вокс-пиджин
+language-LPPVoxiss-description = Язык, состоящий из птичьих звуков, на котором говорят и используют воксы.
+
+language-LPPFire-name = Огненный
+language-LPPFire-description = Звуки огня, что каким-то образом складываются в осмысленную речь.
+
+language-LPPSolCommon-name = Солнечный язык
+language-LPPSolCommon-description = Общий язык, на котором говорят обитатели солнечной системы.
+language-LPPCat-name = Кошачий
+language-LPPCat-description = Примитивные звуки, издаваемые кошками. Каким-то образом они передают смысл!
+
+language-LPPDog-name = Собачий
+language-LPPDog-description = Лающие и рычащие звуки, используемые для передачи примитивных значений.
+
+language-LPPMothroach-name = Молиный
+language-LPPMothroach-description = Милые пищащие звуки, из которых иногда складываются осмысленные фразы.
+
+language-LPPXeno-name = Ксено
+language-LPPXeno-description = Давно забытый язык ксеноморфов.
+
+language-LPPRobotTalk-name = Троичный
+language-LPPRobotTalk-description = Это не язык сам по себе, но он используется роботами и КПБ для обмена данными.
+
+language-LPPMonkey-name = Обезьяний
+language-LPPMonkey-description = Набор звуков и жестов, издаваемых приматами с целью общения.
+
+language-LPPBee-name = Пчелиный
+language-LPPBee-description = Странный язык, основанный на движениях, которые пчелы используют для общения.
+
+language-LPPMouse-name = Мышиный
+language-LPPMouse-description = Милые пищащие звуки, которые мыши используют, чтобы выпрашивать еду.
+
+# These ones are half-assed because these creatures are almost never played as.
+language-LPPChicken-name = Animal chicken
+language-LPPChicken-description = A collection of sounds made by chickens.
+
+language-LPPDuck-name = Animal duck
+language-LPPDuck-description = A collection of sounds made by ducks.
+
+language-LPPCow-name = Animal cow
+language-LPPCow-description = A collection of sounds made by cows.
+
+language-LPPSheep-name = Animal sheep
+language-LPPSheep-description = A collection of sounds made by sheep.
+
+language-LPPKangaroo-name = Animal kangaroo
+language-LPPKangaroo-description = A collection of sounds made by kangaroos.
+
+language-LPPPig-name = Animal pig
+language-LPPPig-description = A collection of sounds made by pigs.
+
+language-LPPMoffic-name = Паучий
+language-LPPMoffic-description = Древний язык, на котором говорят арахниды.
+
+language-LPPDrask-name = Орлуум
+language-LPPDrask-description = Монотонный, вибрирующий язык драсков. Он чем-то напоминает китовую песню.
+
+language-LPPSynt-name = Двоичный
+language-LPPSynt-description = Нули и единицы, передающие массивные и не очень данные.
+
+language-LPPUrs-name = Рыкрур
+language-LPPUrs-description = Басистый и рычащий язык, на котором говорят урсы.
+
+language-LPPArkane-name = Каукиттен
+language-LPPArkane-description = Протяжный, чем-то напоминающий Солнечный язык, на котором говорят арканы.
+
+language-LPPShadowkin-name = Миар
+language-LPPShadowkin-description = Загадочный язык, на котором говорят сумеречники.
+
+language-LPPDwarf-name = Шахтёрский
+language-LPPDwarf-description = Rock and stone!
+
+language-LPPDev-name = Разработческий
+language-LPPDev-description = Больше звучит как ругань покрытая кодом, чем язык.
+
+language-LPPCintaTaj-name = Синта’Тайр
+language-LPPCintaTaj-description = Язык, разработанный таярами и унатхами для общения между двумя расами, представляет собой смесь шипений и слов.
+language-LPPElfLang-name = Эльфийский
+language-LPPElfLang-description = Какая-то Эльфийская чушь...
+language-LPPCarps-name = Карпский
+language-LPPCarps-description = Гррррр...
+language-LPPSlime-name = Слизневый
+language-LPPSlime-description = Странное хлюпание врятли его кто-то поймет
+
+language-GalacticCommon = Общ.
+language-LPPBubblish = Пузырчатый
+language-LPPRootSpeak = Песнь корней
+language-LPPVoxiss = Вокс-Пиджин
+language-LPPCodeSpeak = ???
+language-LPPCarps = Карпий
+language-LPPNekomimetic = Неко
+language-LPPDraconic = Синта'унати
+language-LPPCanilunzt = Канилунц
+language-LPPSikTaj = Сик'тайр
+language-LPPNian = Ткачий
+language-LPPFire = Огненный
+language-LPPSolCommon = Солнечный
+language-LPPCat = Кошачий
+language-LPPDog = Собачий
+language-LPPMothroach = Молиный
+language-LPPXeno = Ксено
+language-LPPRobotTalk = Троичный
+language-LPPMonkey = Обезьяний
+language-LPPBee = Пчелиный
+language-LPPMouse = Мышиный
+language-LPPDrask = Орлуум
+# These ones are half-assed because these creatures are almost never played as.
+language-LPPChicken = Animal chicken
+language-LPPDuck = Animal duck
+language-LPPCow = Animal cow
+language-LPPSheep = Animal sheep
+language-LPPKangaroo = Animal kangaroo
+language-LPPPig = Animal pig
+language-LPPMoffic = Паучий
+language-LPPSynt = Двоичный
+language-LPPUrs = Рыкрур
+language-LPPArkane = Каукиттен
+language-LPPShadowkin = Миар
+language-LPPDev = Разраб
+language-LPPDwarf = Шахт
+language-LPPCintaTaj = Синта’тайр
+language-LPPElfLang = Эльфийский
+language-LPPSlime = Слизь
diff --git a/Resources/Locale/ru-RU/_LostParadise/language/translator.ftl b/Resources/Locale/ru-RU/_LostParadise/language/translator.ftl
new file mode 100644
index 0000000000..acb463c22e
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/language/translator.ftl
@@ -0,0 +1,173 @@
+translator-component-shutoff = {$translator} выключается.
+translator-component-turnon = The {$translator} включается.
+translator-enabled = Оно включено.
+translator-disabled = Оно выключено.
+translator-implanter-refuse = {$implanter} не возымел эффекта для {$target}.
+translator-implanter-success = {$implanter} успешно имплантирован в {$target}.
+translator-implanter-ready = Имплантер готов к использованию.
+translator-implanter-used = Имплантер пуст.
+
+research-technology-basic-translation = Технология базовых переводчиков
+
+research-technology-basic-translation-extra = Технология супер базовых переводчиков
+
+research-technology-advanced-translation = Технология продвинутых переводчиков
+
+research-technology-advanced-translation-extra = Технология супер продвинутых переводчиков
+
+ent-BasicGalaticCommonTranslatorImplanter = базовый языковой имплант Общегалактического языка
+ .desc = Имплант, позволяющий понимать Общегалактический язык.
+
+ent-AdvancedGalaticCommonTranslatorImplanter = полноценный языковой имплант Общегалактического языка
+ .desc = Имплант, позволяющий понимать и общаться на Общегалактическом языке.
+
+ent-BubblishTranslatorImplanter = полноценный языковой имплант Пузырчатого языка
+ .desc = Имплант, позволяющий понимать и общаться на Пузырчатом языке.
+
+ent-LPPVoxissTranslatorImplanter = полноценный языковой имплант Вокс-пиджин языка
+ .desc = Имплант, позволяющий понимать и общаться на Вокс-пиджин.
+
+ent-NekomimeticTranslatorImplanter = полноценный языковой имплант некоязыка
+ .desc = Имплант, позволяющий понимать и общаться на некоязыке.
+
+ent-DraconicTranslatorImplanter = полноценный языковой имплант Синта'унати
+ .desc = Имплант, позволяющий понимать и общаться на Синта'унати.
+
+ent-CanilunztTranslatorImplanter = полноценный языковой имплант Канилунц
+ .desc = Имплант, позволяющий понимать и общаться на языке Канилунц.
+
+ent-SolCommonTranslatorImplanter = полноценный языковой имплант Солнечного языка
+ .desc = Имплант, позволяющий понимать и общаться на Солнечном языке.
+
+ent-RootSpeakTranslatorImplanter = базовый языковой имплант Песни корней
+ .desc = Имплант, позволяющий понимать Песнь корней.
+
+ent-SpiderCommonTranslatorImplanter = полноценный языковой имплант Паучьего языка
+ .desc = Имплант, позволяющий понимать и общаться на Паучьем языке.
+
+ent-LPPCodeSpeakImplanter = полноценный языковой имплант Кодового языка
+ .desc = Имплант, позволяющий понимать и общаться на Кодовом языке.
+
+ent-SikTajTranslatorImplanter = полноценный языковой имплант языка Сик'тайр
+ .desc = Имплант, позволяющий понимать и общаться на Сик'тайре.
+
+ent-CintaTajTranslatorImplanter = полноценный языковой имплант языка Синта’Тайр
+ .desc = Имплант, позволяющий понимать и общаться на Синта’тайре.
+
+ent-NianTranslatorImplanter = полноценный языковой имплант Ткачьего языка
+ .desc = Имплант, позволяющий понимать и общаться на Ткачьем языке.
+
+ent-FireTranslatorImplanter = базовый языковой имплант Огненного языка
+ .desc = Имплант, позволяющий понимать Огненный язык.
+
+ent-DraskTranslatorImplanter = полноценный языковой имплант Орлуум
+ .desc = Имплант, позволяющий понимать и общаться на языке Орлуум.
+
+ent-UrsTranslatorImplanter = полноценный языковой имплант Рыкрур
+ .desc = Имплант, позволяющий понимать и общаться на языке Рыкрур.
+
+ent-ArkaneTranslatorImplanter = полноценный языковой имплант Каукиттен
+ .desc = Имплант, позволяющий понимать и общаться на языке Каукиттен.
+
+ent-ShadowkinTranslatorImplanter = полноценный языковой имплант Миар
+ .desc = Имплант, позволяющий понимать и общаться на языке Миар.
+
+ent-MofficTranslatorImplanter = полноценный языковой имплант молей
+ .desc = Имплант, позволяющий понимать и общаться с тараканьими молями.
+
+ent-SyndUniversalTranslatorImplanter = универсальный языковой имплант
+ .desc = Имплант, позволяющий (только) понимать все расовые языки.
+
+ent-LPPSlimeTranslatorImplanter = полноценный языковой имплант слаймов
+ .desc = Имплант, позволяющий понимать и общаться с слизью.
+
+ent-LPPSyntTranslatorImplanter = полноценный языковой имплант двоичного кода
+ .desc = Имплант, позволяющий понимать и общаться на двоичном коде.
+
+ent-LPPCarpsTranslatorImplanter = полноценный языковой имплант карпов
+ .desc = Имплант, позволяющий понимать и общаться с карпами.
+
+ent-LPPXenoTranslatorImplanter = полноценный языковой имплант ксеноморфов
+ .desc = Имплант, позволяющий понимать и общаться с ксеноморфами.
+
+ent-LPPMonkeyTranslatorImplanter = полноценный языковой имплант обезьян
+ .desc = Имплант, позволяющий понимать и общаться с обезьянами.
+
+ent-LPPMouseTranslatorImplanter = полноценный языковой имплант мышей
+ .desc = Имплант, позволяющий понимать и общаться с мышами (гамлет прилагается).
+
+ent-DevTranslatorImplanter = имплант языка разработчика
+ .desc = Опять чинить апстрим?
+ .suffix = АДМЕМЫ
+
+ent-TranslatorUnpowered = переводчик
+ .desc = Переводит речь.
+
+ent-Translator = переводчик
+ .desc = Переводит речь.
+
+ent-VulpTranslator = переводчик вульпканинов
+ .desc = Используется вульпканинами, для понимания Общегалактического языка в случае его незнания.
+
+ent-CanilunztTranslator = переводчик Каннилунц
+ .desc = Используется для взаимного перевода Общегалактического языка и языка Каннилунц.
+
+ent-BubblishTranslator = переводчик Пузырчатого языка
+ .desc = Используется для взаимного перевода Общегалактического и Пузырчатого языков.
+
+ent-NekomimeticTranslator = переводчик некоязыка
+ .desc = Используется для взаимного перевода Общегалактического и неко-языков.
+
+ent-DraconicTranslator = переводчик Синта'унати
+ .desc = Используется для взаимного перевода Общегалактического языка и Синта'унати.
+
+ent-SolCommonTranslator = переводчик Солнечного языка
+ .desc = Используется для взаимного перевода Общегалактического и Солнечного языков.
+
+ent-RootSpeakTranslator = переводчик Песни Корней
+ .desc = Используется для взаимного перевода Общегалактического языка и Песни Корней.
+
+ent-MofficTranslator = переводчик Паучьего языка
+ .desc = Используется для взаимного перевода Общегалактического и Паучьего языков.
+
+ent-DraskTranslator = переводчик языка Орлуум
+ .desc = Используется для взаимного перевода Общегалактического языка и языка Орлуум.
+
+ent-SikTajTranslator = переводчик Сик'тайр
+ .desc = Используется для взаимного перевода Общегалактического языка и Сик'тайр.
+
+ent-CintaTajTranslator = переводчик Синта’Тайр
+ .desc = Используется для взаимного перевода Общегалактического языка и Синта’тайр.
+
+ent-ArkaneTranslator = переводчик языка Каукиттен
+ .desc = Используется для взаимного перевода Общегалактического языка и Каукиттен.
+
+ent-ShadowkinTranslator = переводчик языка Миар
+ .desc = Используется для взаимного перевода Общегалактического языка и Миар.
+
+ent-LPPVoxissTranslator = переводчик языка Вокс-Пиджин
+ .desc = Используется для взаимного перевода Общегалактического языка и Вокс-пиджин.
+
+ent-NianTranslator = переводчик Ткачьего языка
+ .desc = Используется для взаимного перевода Общегалактического и Ткачьего языков.
+
+ent-FireTranslator = переводчик Огненного языка
+ .desc = Используется для взаимного перевода Общегалактического и Огненного языков.
+
+ent-LPPSlimeTranslator = переводчик Слизневого языка
+ .desc = Используется для взаимного перевода Общегалактического и Слизневого языка.
+
+ent-LPPCarpsTranslator = переводчик Карпского языка
+ .desc = Используется для взаимного перевода Общегалактического и Карпского языка.
+
+ent-LPPMouseTranslator = переводчик Мышиного языка
+ .desc = Используется для взаимного перевода Общегалактического и Мышиного языка.
+
+ent-LPPMonkeyTranslator = переводчик Обезьянего языка
+ .desc = Используется для взаимного перевода Общегалактического и Обезьянего языка.
+
+ent-LPPXenoTranslator = переводчик Ксено языка
+ .desc = Используется для взаимного перевода Общегалактического и Ксено языка.
+
+ent-LPPSyntTranslator = переводчик Двоинчного языка
+ .desc = Используется для взаимного перевода Общегалактического и Двоинчного языка.
diff --git a/Resources/Locale/ru-RU/_LostParadise/lppbedsheets.ftl b/Resources/Locale/ru-RU/_LostParadise/lppbedsheets.ftl
new file mode 100644
index 0000000000..57b19c528c
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/lppbedsheets.ftl
@@ -0,0 +1,67 @@
+ent-LPPBedsheetBase = базовое одеяло
+ .desc = Удивительно мягкое льняное одеяло.
+ent-LPPBedsheetBlack = чёрное одеяло
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetBlue = синее одеяло
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetBrown = коричневое одеяло
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetCaptain = одеяло капитана
+ .desc = Оно украшено эмблемой Nanotrasen, и соткано из революционно-нового вида нитей, понижающих шанс проникновения большинства нехимических веществ до 0,01%. Популярно среди многих современных капитанов.
+ent-LPPBedsheetCE = одеяло старшего инженера
+ .desc = Оно украшено эмблемой гаечного ключа. Имеет светоотражающие элементы и устойчиво к пятнам, поэтому не беспокойтесь, что вы заляпаете его маслом.
+ent-LPPBedsheetCentcom = одеяло Центком
+ .desc = Очень красивое одеяло, сотканное из передовых нанонитей для сохранения тепла, незаменимое для всех руководителей.
+ent-LPPBedsheetClown = одеяло клоуна
+ .desc = Радужное одеяло с нашитой клоунской маской. Слегка пахнет бананами.
+ent-LPPBedsheetCMO = одеяло главврача
+ .desc = Это стерилизованное одеяло, украшенное эмблемой креста. На нём осталась кошачья шерсть, вероятно, от Рантайма.
+ent-LPPBedsheetCosmos = космическая одеяло
+ .desc = Сделано из мечтаний тех, кто смотрит на звезды.
+ent-LPPBedsheetCult = одеяло культа
+ .desc = Вам может присниться Нар'Си, если вы будете спать под ним. Оно выглядит довольно потрепанным и светится колдовским сиянием.
+ent-LPPBedsheetGreen = зелёное одеяло
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetGrey = серое одеяло
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetHOP = одеяло главы персонала
+ .desc = Оно украшено эмблемой ключа. Для тех редких моментов, когда вы можете отдохнуть и потискать Иана не беспокоясь, что вас вызывают по рации.
+ent-LPPBedsheetHOS = одеяло главы СБ
+ .desc = Оно украшено эмблемой в виде щита. Пока преступность не спит, спите вы, но вы по-прежнему ЗАКОН!
+ent-LPPBedsheetIan = одеяло Иана
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetMedical = медицинское одеяло
+ .desc = Это стерилизованное* одеяло, обычно используемое в медотсеке. *Стерилизация не проводится, если на борту станции присутствует вирусолог.
+ent-LPPBedsheetMime = одеяло мима
+ .desc = Умиротворяющее полосатое одеяло. Когда вы накрываетесь им, то весь шум словно исчезает.
+ent-LPPBedsheetNT = одеяло NT
+ .desc = Имеет эмблему Nanotrasen, и от него исходит аура долга.
+ent-LPPBedsheetOrange = оранжевое одеяло
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetPurple = фиолетовое одеяло
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetQM = одеяло квартирмейстера
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetRainbow = радужное одеяло
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetRD = одеяло научдика
+ .desc = На нём имеется эмблема с мензуркой, и сделано оно из огнестойкого материала, который, вероятно, не защитит вас в случае пожаров, с которыми вы сталкиваетесь ежедневно.
+ent-LPPBedsheetBrigmedic = одеяло медициского офицера
+ .desc = Не хуже хлопкового.
+ent-LPPBedsheetRed = красное одеяло
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetSyndie = одеяло cинди
+ .desc = Имеет эмблему Cиндиката, и от него исходит аура зла.
+ent-LPPBedsheetWhite = белое одеяло
+ .desc = { ent-BedsheetBase.desc }
+ent-LPPBedsheetWiz = одеяло волшебника
+ .desc = Специальная зачарованная ткань, чтобы вы провели волшебную ночь. Оно даже светится!
+ent-LPPBedsheetYellow = жёлтое одеяло
+ .desc = { ent-BedsheetBase.desc }
+
+ent-LPPBedDoubleUp = двойная кровать
+ .desc = На ней можно лежать или спать пристёгнутым.
+ .suffix = { "верх." }
+ent-LPPBedDoubleDown = двойная кровать
+ .desc = На ней можно лежать или спать пристёгнутым.
+ .suffix = { "ниж." }
diff --git a/Resources/Locale/ru-RU/_LostParadise/mantles.ftl b/Resources/Locale/ru-RU/_LostParadise/mantles.ftl
new file mode 100644
index 0000000000..ea20f9a908
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/mantles.ftl
@@ -0,0 +1,6 @@
+ent-LPPClothingNeckMantleAV = наплечная мантия Веалиса
+ .desc = Черная мантия. Абсолютно не мантия ГСБ. Прекратите их путать.
+ent-LPPClothingNeckMantleAidan = мантия Эйдана
+ .desc = Легендарная мантия Эйдана. Отдает честь прошлому.
+ent-LPPClothingHeadSecHat = шляпа службы безопасности
+ .desc = Черная шляпа, чтобы показать, кто здесь шериф.
diff --git a/Resources/Locale/ru-RU/_LostParadise/markings.ftl b/Resources/Locale/ru-RU/_LostParadise/markings.ftl
new file mode 100644
index 0000000000..a72e15e745
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/markings.ftl
@@ -0,0 +1,32 @@
+#Унатхи и где они обитают
+
+marking-ReptilianlongFeathersHair = Волосы рептилий с длинными перьями
+marking-ReptilianlongFeathersHair2 = Волосы рептилий с длинными перьями 2
+marking-ReptilianlongFeathersHair3 = Волосы рептилий с длинными перьями 3
+marking-ReptilianlongFeathersHair4 = Волосы рептилий с длинными перьями 4
+marking-ReptilianlongFeathersHair5 = Волосы рептилий с длинными перьями 5
+marking-ReptilianMediumFeathersHair = Волосы рептилий с средними перьями
+marking-ReptilianMediumFeathersHair2 = Волосы рептилий с средними перьями 2
+marking-ReptilianMediumFeathersHair3 = Волосы рептилий с средними перьями 3
+marking-ReptilianMediumFeathersHair4 = Волосы рептилий с средними перьями 4
+marking-ReptilianMediumFeathersHair5 = Волосы рептилий с средними перьями 5
+marking-ReptilianMediumFeathersHair6 = Волосы рептилий с средними перьями 6
+marking-ReptilianPigtailFeathersHair = Волосы рептилоидной косички
+marking-ReptilianPigtailFeathersHair2 = Волосы рептилоидной косички 2
+marking-ReptilianPigtailFeathersHair3 = Волосы рептилоидной косички 3
+marking-ReptilianPigtailFeathersHair4 = Волосы рептилоидной косички 4
+marking-ReptilianShortFeathersHair = Волосы рептилий с короткими перьями
+marking-ReptilianShortFeathersHair2 = Волосы рептилий с короткими перьями 2
+marking-ReptilianShortFeathersHair3 = Волосы рептилий с короткими перьями 3
+marking-ReptilianShortFeathersHair4 = Волосы рептилий с короткими перьями 4
+marking-ReptilianShortFeathersHair5 = Волосы рептилий с короткими перьями 5
+marking-ReptilianShortFeathersHair6 = Волосы рептилий с короткими перьями 6
+marking-ReptilianShortFeathersHair7 = Волосы рептилий с короткими перьями 7
+marking-ReptilianShortFeathersHair8 = Волосы рептилий с короткими перьями 8
+marking-ReptilianShortFeathersHair9 = Волосы рептилий с короткими перьями 9
+marking-ReptilianBeard1 = Борода рептилии 1
+marking-ReptilianBeard2 = Борода рептилии 2
+marking-ReptilianBeard3 = Борода рептилии 3
+marking-ReptilianBeard4 = Борода рептилии 4
+marking-ReptilianBeard5 = Борода рептилии 5
+marking-ReptilianBeard6 = Борода рептилии 6
diff --git a/Resources/Locale/ru-RU/_LostParadise/masks-clowns.ftl b/Resources/Locale/ru-RU/_LostParadise/masks-clowns.ftl
new file mode 100644
index 0000000000..bb9ad507fa
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/masks-clowns.ftl
@@ -0,0 +1,36 @@
+ent-LPPClothingBugMaskMime = маска мима-жук
+ .desc = Маска мима - жука.
+ent-LPPClothingBullseyeMaskMime = маска мима-мишень
+ .desc = Маска мима - мишени.
+ent-LPPClothingCoreMaskMime = маска мима-ядро
+ .desc = Маска мима - ядра.
+ent-LPPClothingDoubleMaskMime = двойная маска мима
+ .desc = Маска мима - двойная.
+ent-LPPClothingHeartMaskMime = маска мима-сердце
+ .desc = Маска мима - сердце.
+ent-LPPClothingHorizontalMaskMime = маска мима-горизонтальная
+ .desc = Маска мима - горизонтальная.
+ent-LPPClothingMarkMaskMime = маска мима-марка
+ .desc = Маска мима - марка.
+ent-LPPClothingNeutralMaskMime = маска мима-нейтральная
+ .desc = Маска мима - нейтральная.
+ent-LPPClothingPlusMaskMime = маска мима-плюс
+ .desc = Маска мима - плюс.
+ent-LPPClothingSquareMaskMime = маска мима-квадрат
+ .desc = Маска мима - квадрат.
+ent-LPPClothingVerticalMaskMime = маска мима-вертикальная
+ .desc = Маска мима - вертикальная.
+ent-LPPClothingXMaskMime = маска мима-Х
+ .desc = Маска мима - Х.
+ent-LPPClothingUniformJumpsuitBlueClown = синий костюм клоуна
+ .desc = ХОНК! но теперь синий.
+ent-LPPClothingUniformJumpsuitGreenClown = зеленый костюм клоуна
+ .desc = ХОНК! но теперь зеленый.
+ent-LPPClothingUniformJumpsuitOrangeClown = оранжевый костюм клоуна
+ .desc = ХОНК! но теперь оранжевый.
+ent-LPPClothingUniformJumpsuitPurpleClown = фиолетовый костюм клоуна
+ .desc = ХОНК! но теперь фиолетовый
+ent-LPPClothingUniformJumpsuitRainbowClown = радужный костюм клоуна
+ .desc = ХОНК! но теперь радужный.
+ent-LPPClothingUniformJumpsuitYellowClown = жёлтый костюм клоуна
+ .desc = ХОНК! но теперь жёлтый.
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/av-stuff.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/av-stuff.ftl
new file mode 100644
index 0000000000..6e5fcd2588
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/av-stuff.ftl
@@ -0,0 +1,115 @@
+ent-LPPClothingBeltPGWebbing = разгрузка ПГ
+ .desc = Разгрузка Предейтор Гросперокс для всех потребностей фронта.
+ent-LPPClothingMaskPG = балаклава ПГ
+ .desc = Балаклава, которой пользуются солдаты ПГ. Огненепроницаемая!
+ent-LPPClothingBlackMaskPG = черная балаклава ПГ
+ .desc = Балаклава, которой пользуются солдаты ПГ. Огненепроницаемая!
+ent-LPPClothingSnowMaskPG = снежная балаклава ПГ
+ .desc = Снежная балаклава, которой пользуются солдаты ПГ. Огненепроницаемая!
+ent-LPPClothingHeadHelmetPG = шлем ПГ
+ .desc = Шлем для потребностей ПГ
+ent-LPPClothingHeadHatPGBeret = берет ПГ
+ .desc = Черный берет. На значке изображена голубая мордочка оцелота.
+ent-LPPClothingHeadUrbanHelmetPG = серый шлем ПГ
+ .desc = Шлем ПГ нейтральной расцветки. Когда не нужно выделяться.
+ent-LPPClothingHeadTSFnHelmet = шлем ТСФ
+ .desc = Шлем, предназначенный для солдат ТСФ. Синий означает защиту.
+ent-LPPClothingHeadHatPGPanama = Панама ПГ
+ .desc = Защищает от падающих змей
+ent-LPPClothingHeadHatPGCap = кепка ПГ
+ .desc = Защищает от солнца. И от громких звуков. Не защищает от змей.
+ent-LPPClothingHeadHatBlackBeanie = черная шапка бини
+ .desc = Теплая. Черный стройнит.
+ent-LPPClothingHeadHatBlueBeanie = синяя шапка бини
+ .desc = Теплая. Синий не стройнит
+ent-LPPClothingHeadHatGreenBeanie = зеленая шапка бини
+ .desc = Теплая. Зеленый не стройнит.
+ent-LPPClothingHeadHatPGBeanie = шапка бини со значком ПГ
+ .desc = шапка ПГ. Не защитит от пуль и холода, но смотрится шикарно. На значке изображена голубая мордочка оцелота.
+ent-LPPClothingHeadHatRedBeanie = красная шапка бини
+ .desc = Теплая. Красный не стройнит.
+ent-LPPClothingHeadHatGreenBandana = зеленая повязка на лицо
+ .desc = Kept you waiting, huh?
+ent-LPPClothingHeadHatRedBandana = красная повязка на лицо
+ .desc = Начиная войну, не забудьте одну вещь…
+ent-LPPClothingHeadHatRedMedBandana = медицинская повязка на лицо
+ .desc = Носящий ее, явно медик... Или нет..
+ent-LPPClothingBackpackPG = рюкзак ПГ
+ .desc = Рюкзак, чтобы вместить все что нужно солдату...
+ent-PPBlackClothingBackpackPG = чёрный рюкзак ПГ
+ .desc = Рюкзак, чтобы вместить все что нужно солдату... Все что нужно солдату в ночи...
+ent-LPPSnowClothingBackpackPG = снежный рюкзак ПГ
+ .desc = Рюкзак, чтобы вместить все что нужно солдату...
+ent-LPPClothingEyesGlassesSunglassesPG = защитные очки ПГ
+ .desc = Защищают от солнца и ярких вспышек. Полезно для специальных операций.
+ent-LPPClothingEyesGlassesNVG = ПНВ ПГ
+ .desc = Помогают лучше видеть в ночи. Полезно для Специальных операций.
+ent-LPPClothingNeckPGBandage = повязка ПГ
+ .desc = Повязка, по которой становятся ясны политические взгляды носящего оною.
+ent-LPPClothingNeckMedBandage = повязка с крестом
+ .desc = Носящий ее, явно медик... Или нет..
+ent-LPPClothingNeckMedicalbandage = бинты на голову
+ .desc = Носящий ее, явно ушиб голову... Или нет..
+ent-LPPClothingEyesEyepatchBandage = бинты на глаз
+ .desc = Проблемы с глазами.
+ent-LPPClothingNeckMantlePG = мантия ПГ
+ .desc = Мантия, которую носят лишь лучшие из лучших.
+ent-LPPClothingNeckScarfPG = шарф-шемаг
+ .desc = полосатый шарф, которым можно защитить лицо от песка
+ent-ClothingHeadHatHoodPGCloak = верх шемага
+ .desc = верх, шарфа-шемага, который защищает от песка
+ent-LPPClothingNeckMantlePGGhillie = накидка джилли
+ .desc = Ниже травы, тише воды.
+ent-LPPClothingOuterVestPG = бронежилет ПГ
+ .desc = оснащен стальной пластиной, хорошо защищающей от пуль. Также оснащен небольшими кармашками, в которых часто носят магазины.
+ent-LPPClothingOuterVestUrbanPG = бронежилет ПГ нейтральной расцветки
+ .desc = оснащен стальной пластиной, хорошо защищающей от пуль. Также оснащен небольшими кармашками, в которых часто носят магазины.
+ent-LPPClothingOuterStealthSuit = стелс костюм
+ .desc = Во истину скрытно....
+ent-LPPClothingShoesBootsCombatPG = армейские сапоги ПГ
+ .desc = Ботинки, для всех нужд ПГ.
+ent-LPPBlackFlannelJumpsuit = черная фланелевая рубашка
+ .desc = Для хипстера - гота неформала.
+ent-LPPGreenFlannelJumpsuit = зеленая фланелевая рубашка
+ .desc = Для дровосеков, что хотят быть незаметны на фоне травы.
+ent-LPPOrangeFlannelJumpsuit = оранжевая фланенвая рубашка
+ .desc = Для хипстера, что очень хочет быть похожим на апельсин.
+ent-LPPClothingUniformJumpsuitPG = комбинезон ПГ
+ .desc = Комбинезон для всех потребностей ПГ
+ent-LPPClothingUniformBlackJumpsuitPG = чёрный комбинезон ПГ
+ .desc = Мало кто видел его... Потому-что он слишком скрытный....
+ent-LPPClothingUniformMaika = майка ПГ
+ .desc = Майка для всех потребностей армии ПГ
+ent-LPPClothingUniformSnowJumpsuitPG = снежный комбинезон ПГ
+ .desc = Морозная свежесть.
+ent-LPPClothingUniformDesertJumpsuitPG = пустынный комбинезон ПГ
+ .desc = Это он в песке извазюкался или камуфляж такой?
+ent-LPPBlackClothingBackpackPG = чёрный рюкзак ПГ
+ .desc =Рюкзак для всех потребностей ПГ. Ночных потребностей.
+ent-LPPWeaponShotgunLemington = Лемингтон
+ .desc = See you soon.. Space cowboy... Использует .50 ружейные.
+ent-LPPClothingNeckPGPin = Пин ПГ
+ .desc = Мортиус Глория! Вивентибус Фортуна!
+ent-LPPClothingHeadHatTacticalHelmet = Тактический шлем ПГ
+ .desc = Тактический шлем для специальных операций. Оснащен фонариком.
+ent-LPPWeaponSniperLeverPravoved = Правовед
+ .desc = See you soon.... Space cowboy... Использует патроны 45 магнума.
+ent-LPPClothingHeadTSFHelmet = Шлем ТСФ
+ .desc = Шлем для нужд ТСФ
+ent-LPPClothingNeckChain = армейский жетон
+ .desc = На нём описан личный номер, имя, группа крови.
+ent-LPPClothingOuterHardsuitGuard = скафандр Найтгарда
+ .desc = Обычно он приходит ночью. Обычно
+ent-LPPClothingHandsGlovesNightGuard = перчатки Найтгарда
+ .desc = Обычно он приходит ночью. Обычно.
+ent-LPPJetpackNightGuardFilled = джетпак Найтгарда
+ .desc = Обычно он приходит ночью. Обычно.
+ent-LPPSmokeGrenade = граната Найтгарда
+ .desc = Обычно он приходит ночью. Обычно.
+ent-LPPClothingOuterCoatCargo = бомбер карго
+ .desc = В связи с достаточно частыми случаями кражи курток сотрудников Службы Безопасности со стороны Карго, мы сделали отдельный вариант для Карго, наслаждайтесь!
+ent-LPPClothingOuterCoatEngie = бомбер инженера
+ .desc = Эта куртка не спасёт вас от давления или от температуры истинного нуля, но всё же она выглядит чертовски стильно!
+ent-LPPClothingMaskBlindSpot = Слепая зона
+ .desc = Держите столовое серебро подальше от своих глаз. Особенно вилки.
+ .suffix = Shalopaichik
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/blockmelee.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/blockmelee.ftl
new file mode 100644
index 0000000000..e093605431
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/blockmelee.ftl
@@ -0,0 +1 @@
+comp-block-melee-success = Отражено!
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/book.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/book.ftl
new file mode 100644
index 0000000000..ef953dd747
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/book.ftl
@@ -0,0 +1,88 @@
+book-text-security-orders =
+ Чрезвычайные приказы Главы СБ
+ Здравия, глава СБ! Если вы это читаете, то дела пошли скверно и вы не знаете, что делать, но не волнуйтесь!
+ Nanotrasen продумало инструкции на любую чрезвычайную ситуацию на станции!
+ P.S. ПЕРЕДАЧА ДАННОГО ДОКУМЕНТА ЛЮБЫМ ЧЛЕНАМ ЭКИПАЖА ВАШЕЙ СТАНЦИИ, ВКЛЮЧАЯ КАПИТАНА, СТРОГО ЗАПРЕЩЕНА.
+ УТЕРЯ ДОКУМЕНТА НЕДОПУСТИМА. ХРАНИТЬ В КАБИНЕТЕ ИЛИ ПРИ СЕБЕ.
+ ВСКРЫТЬ ТОЛЬКО В СЛУЧАЕ ЧРЕЗВЫЧАЙНОЙ СИТУАЦИИ.
+ АГЕНТЫ СИНДИКАТА
+ Как вы уже знаете, у нашей славной корпорации есть враги.
+ Несколько конкурирующих корпораций объединились в целях промышленного шпионажа и подрыва работы наших активов.
+ Их основной метод воздействия вербовка наших сотрудников для выполнения своих целей.
+ В случае обнаружения деятельности агентов вражеской корпорации следует:
+ 1. Задержать агента как можно скорее, решайте сами стоит ли повышать код и выдавать офицерам оружие.
+ 2. Допросить агента по поводу возможного вражеского снаряжения и путей его получения, пока что мы не располагаем информацией о том как наши враги доставляют своё снаряжение на наши объекты, эта информация может быть очень ценной.
+ 3. После допроса агент должен быть помещён в пермабриг до конца смены, после смены необходимо доставить агента на станцию ЦК и передать его департаменту специальных операций, на этом ваша работа с ним заканчивается.
+ В случае если агент представляет серьёзную угрозу и его чрезмерно опасно содержать допускается запросить казнь, в случае попытки побега / успешного побега из пермабрига / попытки убить сотрудников СБ в пермабриге казнить на месте, тело доставить на станцию ЦК как можно в лучшем состоянии и передать департаменту специальных операций.
+ Крайне рекомендуется при задержании агентов отправлять офицеров работать в паре, высок риск утери снаряжения и частоты СБ при работе в одиночном патруле.
+ АГРЕССИВНАЯ ФАУНА НА СТАНЦИИ
+ В случае обнаружения пауков, огромных крыс или диких слаймов на станции необходимо:
+ 1. Немедленно ввести красный код, офицерам СБ должно быть выдано оружие и доступы во все отделы.
+ 2. Обыскать всю станцию на предмет агрессивной фауны, включая технические туннели, и уничтожить всю агрессивную живность.
+ 3. Помните, что оперативность работы имеет ключевой приоритет, можете направить офицеров СБ устранять фауну табельным вооружением.
+ РЕВЕНАНТ
+ В случае поступления к вам информации о повышенной аномальной активности, включающей в себя сообщения об приведениях, ( например, фиолетовый призрак, который разрушает плитку, “высасывает” до обморожения спящих людей и так далее ) вы должны немедленно:
+ 1. Ввести красный код и вооружить личный состав.
+ 2. Офицеры СБ обязаны работать в паре.
+ 3. В морге медицинского отдела и в самом отделе обязан присутствовать минимум один офицер, проинструктируйте сотрудников о НЕДОПУСТИМОСТИ поражения дружественным огнём гражданского персонала при устранении угрозы.
+ 4. После уничтожения призрака все его останки собрать и передать научному отделу.
+ 5. В случае проявления “сонной” болезни экипаж должен спать по очереди, сторожа друг друга.
+ КОСМИЧЕСКИЙ ДРАКОН
+ Космические драконы крайне умные существа, способные открывать порталы для своих менее разумных приспешников. В случае обнаружения такого следует:
+ 1. Немедленно ввести красный код и вооружить личный состав.
+ 2. Каждый офицер СБ должен носить скафандр.
+ 3. Каждому офицеру СБ нужно выдать бинты.
+ 4. Офицеры СБ должны работать парами.
+ 5. Помните, что приоритетная задача – уничтожение дракона, так можно уничтожить и его порталы.
+ 6. Порталы дракона стоит уничтожать оружием ближнего боя, желательно тупым.
+ 7. В случае если большая часть личного состава погибла, следует немедленно вызвать отряд быстрого реагирования.
+ РЕВОЛЮЦИОННЫЕ НАСТРОЕНИЯ ЭКИПАЖА
+ Нам известно, что синдикат посылает специально обученных оперативников для организации бунтов на наших объектах.
+ Мы не знаем какие методы синдикат использует для подчинения людей, в случае обнаружения революционных настроений среди экипажа, вызванных деятельностью синдиката или же иными факторами следует:
+ 1. Срочно вооружить личный состав противоударным снаряжением. По возможности бунтующие должны быть задержаны нелетально.
+ 2. Не стоит недооценивать изобретательность революционеров, самодельная взрывчатка и оружие могут быть крайне опасны, офицерам СБ стоит работать в паре.
+ 3. Обеспечьте безопасность командования станции, особенно квартирмейстера, его убийство крайне выгодно в случае переворота на станции.
+ 4. В случае, если личный состав не справляется немедленно вызвать отряд быстрого реагирования.
+ 5. По возможности лидера революции передать департаменту специальных операций.
+ ПРОТОКОЛ РАБОТЫ ПРИ ОБНАРУЖЕНИИ НЕИЗВЕСТНЫХ СУЩНОСТЕЙ
+ В случае обнаружения неизвестных существ, обладающих разумом, но не обладающих ОПРС, следует допросить их и передать научному отделу, ЕСЛИ ОНИ ПОДЧИНЯЮТСЯ И НЕ ВЫКАЗЫВАЮТ ПРИЗНАКОВ АГРЕССИИ.
+ В случае невозможности передачи научному отделу следует:
+ 1. Поместить существо в пермабриг до конца смены и доставить на станцию ЦК
+ 2. Если же содержать существо невозможно уничтожьте.
+ В СЛУЧАЕ АГРЕССИИ СУЩЕСТВА КАЗНЬ НА МЕСТЕ!
+ КОСМИЧЕСКИЙ НИНДЗЯ
+ Космический ниндзя – оперативник неизвестных нам кланов наёмников, мы не получали информации об их деятельности очень давно и их цели нам не известны, однако у нас есть крупицы информации об их снаряжении.
+ Ниже приведены сохранившееся крупицы, которые могут помочь в борьбе с противником:
+ 1. Технологии кланов на момент их активности значительно превосходили существующие в галактике, но требовали огромных затрат энергии, прогнозируется сохранение данной тенденции, ниндзи довольно уязвимыми в этот момент от чего их можно заметить по странным искрам с электронного устройства.
+ 2. Считается, что всё время бездействия кланов — формируется особый подвид, охватывающий максимальный список контрактов, а следовательно отличающийся повышенной угрозой.
+ 3. Клан Паука так же владеют технологией высокого частотного ультразвука, в связи чего часто фиксировались странные звуковые колебания от активов корпорации, узнать, что именно делают эти колебания не удалось, но почти всегда это приводит к плачевным последствиям от чего рекомендуется вооружить службу безопасности вводя красный код.
+ 4. Технологию невидимости клана Паука не удалось исследовать, так как при всех успешных захватах, тела членов клана Паука растворялись на органы, но благодаря старым отчётам офицеров во время нападений было выяснено что при активном передвижении, технология не позволяет сохранить стабильную невидимость в связи чего вы можете заметить странное искажение пространства в активном движении, что при должной информации о нахождении на станции члена клана Паука, может позволить его устранить или задержать пока тот вновь не растворился в невидимости.
+ НАПАДЕНИЕ ЯДЕРНЫХ ОПЕРАТИВНИКОВ
+ В случае поступления информации об готовящимся нападении ядерных оперативников следует:
+ 1. Немедленно вызвать отряд быстрого реагирования.
+ 2. Ввести красный код и вооружить личный состав.
+ 3. Вооружить гражданский персонал.
+ 4. В данном случае полное командование обороной станции переходи к главе СБ, капитан ОБЯЗАН исполнять любые распоряжения главы СБ.
+ 5. Рекомендуется строительство баррикад, ОБЯЗАТЕЛЬНО спланируйте отход с позиций, капитан НЕ ДОЛЖЕН вступать в бой без угрозы своей жизни.
+ 6. Сохранность диска превыше всего, защищайте его любой ценой.
+ 7. ПРОСЛЕДИТЕ ЗА ТЕМ ЧТОБЫ ИНЖЕНЕРЫ ОРГАНИЗОВАЛИ БЕСПЕРЕБОЙНОЕ ПИТАНИЕ СТАНЦИИ!
+ 8. Рекомендуемые места обороны: Мостик, бриг.
+ 9. Ядерных оперативников брать в плен СТРОГО ЗАПРЕЩЕНО.
+ 10. Любые переговоры с ядерными оперативниками СТРОГО ЗАПРЕЩЕНЫ!
+ 11. Каждый кто пытается вести переговоры с ядерными оперативниками подлежит казне на месте, включая капитана станции.
+ 12. В случае полной потери контроля над ситуацией приступить к эвакуации персонала на любой шаттл, любое неповиновение или помеха должна караться смертной казнью.
+ Помните, Nanotrasen вас не бросит, помощь уже в пути.
+ ДВОЙНИКИ / КЛОНЫ
+ В случае обнаружения одинаковых членов экипажа, не отличающихся ни именем, ни внешними признаками следует:
+ 1. Снять отпечатки пальцев с обоих людей и проверить их в станционном учёте.
+ 2. В случае невозможности установления кто оригинал либо поместите под стражу в пермабриг обоих, либо казните обоих под предлогом несчастного случая, если лицо не обладает высокой ценностью для Nanotrasen.
+ Мы не можем допустить внедрения в наш экипаж шпионов.
+ ОБНАРУЖЕНИЕ ЗАРАЖЕННЫХ ЗОМБИ ВИРУСОМ
+ Признаками заражения является: зеленоватый цвет кожи; уровень мыслительных процессов снижен; инстинкты значительно повышены, чем у обычного гуманоида; отсутствие дыхания, кровообращения и самосознания; устойчивы к агрессивным условиям внешней среды; агрессивны по отношению к персоналу.
+ 1. Сотрудники безопасности обязаны устранить их на месте для защиты выжившего персонала. Служба Безопасности обязано вооружиться огнестрельным оружием.
+ 2. Весь персонал должен подчиняться сотрудникам службе безопасности, они вполне могут использовать летальную силу против них в случае неподчинения приказам.
+ 3. Весь персонал обязан находиться и забаррикадироваться в своих отделах, некоторые обстоятельства могут изменить это.
+ 4. Личный состав должен быть оснащён средствами биозащиты.
+ 5. Медицинский отдел обязан разработать вакцину от этого вируса.
+ 6. Зараженный персонал должен быть клонирован и вакцинирован для предотвращения дальнейшего заражения.
+ 7. Если служба безопасности не справиться с попыткой уничтожения этой угрозы, необходимо вызвать отряд Радиационной, Химической, Биологической и Зомби Защиты для ее устранения.
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/donate-menu.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/donate-menu.ftl
new file mode 100644
index 0000000000..6d8e105c84
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/donate-menu.ftl
@@ -0,0 +1,2 @@
+lost-donate-editor = Личные вещи
+lost-nodonate = У вас нет личных вещей!
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/species/elf-hair.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/species/elf-hair.ftl
new file mode 100644
index 0000000000..6528da2154
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/species/elf-hair.ftl
@@ -0,0 +1,245 @@
+marking-ElfHairAfricanPigtails = Хвостики (Африканские)
+marking-ElfHairAfropuffdouble = Aфро-пуф, Двойной
+marking-ElfHairAfropuffleft = Aфро-пуф, Левый
+marking-ElfHairAfropuffright = Aфро-пуф, Правый
+marking-ElfHairAmazon = Амазон
+marking-ElfHairAstolfo = Астольфо
+marking-ElfHairBaum = Баум
+marking-ElfHairBeachwave = Бич-вейв
+marking-ElfHairBluntbangs = Прямая челка
+marking-ElfHairBluntbangsAlt = Прямая челка (Альт.)
+marking-ElfHairBobcutAlt = Каре (Альт.)
+marking-ElfHairBunhead4 = Пучок 4
+marking-ElfHairCombed = Зачёс
+marking-ElfHairCombedbob = Зачёс (Боб)
+marking-ElfHairCotton = Хлопок
+marking-ElfHairCurly = Кудрявая
+marking-ElfHairDave = Дэйв
+marking-ElfHairDiagonalBangs = Диагональная чёлка
+marking-ElfHairEmolong = Эмо (Длинная)
+marking-ElfHairEmoshort = Эмо (Короткая)
+marking-ElfHairFingerwave = Фингервейв
+marking-ElfHairFluffyShort = Пушистая короткая
+marking-ElfHairFortuneteller = Гадалка
+marking-ElfHairFortunetellerAlt = Гадалка (Альт.)
+marking-ElfHairFroofylong = Фруфи (Длинная)
+marking-ElfHairGeisha = Гейша
+marking-ElfHairGentle21 = Аккуратно расчесанная
+marking-ElfHairGlammetal = Глэм-металл
+marking-ElfHairGloomyLong = Длинная мрачная чёлка
+marking-ElfHairGloomyMedium = Средняя мрачная чёлка
+marking-ElfHairGrande = Гранде
+marking-ElfHairHalfshave = Наполовину выбритая 2
+marking-ElfHairHalfshaveglamorous = Наполовину выбритая (Гламурная)
+marking-ElfHairHalfshaveLong = Наполовину выбритая (Длинная)
+marking-ElfHairHalfshaveMessy = Наполовину выбритая (Растрёпанная)
+marking-ElfHairHalfshaveMessyLong = Наполовину выбритая (Длинная растрёпанная)
+marking-ElfHairHalfshaveSnout = Наполовину выбритая 2 (Обрезанная)
+marking-ElfHairHightight = Хай-тайт
+marking-ElfHairHyenamane = Грива гиены
+marking-ElfHairJessica = Джессика
+marking-ElfHairLong4 = Длинная 4
+marking-ElfHairLongdtails = Длинные хвосты
+marking-ElfHairLongerAlt = Длинная (Альт.)
+marking-ElfHairLongovereyeAlt = Длинная (Через глаз альт.)
+marking-ElfHairLongsidepartstraight = Длинная сайд-парт прямая
+marking-ElfHairLooseSlicked = Зализанная свободная
+marking-ElfHairMediumbraid = Плетение (Среднее)
+marking-ElfHairNewyou = Новый ты
+marking-ElfHairPonytailAlt = Хвостик (Альт.)
+marking-ElfHairPonytailF = Хвостик (Женственный)
+marking-ElfHairPoofy2 = Пышная 2
+marking-ElfHairQuadcurls = Завитки (Квадро)
+marking-ElfHairSabitsuki = Сабицуки
+marking-ElfHairScully = Скалли
+marking-ElfHairShorthair4 = Короткая 4
+marking-ElfHairShy = Скромная
+marking-ElfHairSimplePonytail = Хвостик (Простой)
+marking-ElfHairSleaze = Дешёвая
+marking-ElfHairSlightlyMessy = Слегка растрёпанная
+marking-ElfHairSlimedroplet = Слайм (Капля)
+marking-ElfHairSlimedropletAlt = Слайм (Капля альт.)
+marking-ElfHairSlimespikes = Слайм (Шипы)
+marking-ElfHairSlimetendrils = Слайм (Струйки)
+marking-ElfHairSlimetendrilsAlt = Слайм (Струйки альт.)
+marking-ElfHairSpicy = Спайси
+marking-ElfHairTwintailFloor = Два хвостика (До пола)
+marking-ElfHairVeryshortovereye = Очень короткая (Через глаз)
+marking-ElfHairVictory = Победа
+marking-ElfHairViper = Гадюка
+marking-ElfHairWife = Жена
+marking-ElfHairZiegler = Циглер
+marking-ElfHairAfro = Афро
+marking-ElfHairAfro2 = Афро 2
+marking-ElfHairBigafro = Афро (Большая)
+marking-ElfHairAntenna = Ахоге
+marking-ElfHairBalding = Лысеющий
+marking-ElfHairBedhead = Небрежная
+marking-ElfHairBedheadv2 = Небрежная 2
+marking-ElfHairBedheadv3 = Небрежная 3
+marking-ElfHairLongBedhead = Небрежная (Длинная)
+marking-ElfHairFloorlengthBedhead = Небрежная (До пола)
+marking-ElfHairBeehive = Улей
+marking-ElfHairBeehivev2 = Улей 2
+marking-ElfHairBob = Каре
+marking-ElfHairBob2 = Каре 2
+marking-ElfHairBobcut = Каре 3
+marking-ElfHairBob4 = Каре 4
+marking-ElfHairBobcurl = Каре (Завитки)
+marking-ElfHairBoddicker = Боддикер
+marking-ElfHairBowlcut = Горшок
+marking-ElfHairBowlcut2 = Горшок 2
+marking-ElfHairBraid = Плетение (До пола)
+marking-ElfHairBraided = Плетение
+marking-ElfHairBraidfront = Плетение (Спереди)
+marking-ElfHairBraid2 = Плетение (Высокое)
+marking-ElfHairHbraid = Плетение (Низкое)
+marking-ElfHairShortbraid = Плетение (Короткое)
+marking-ElfHairBraidtail = Плетёный хвостик
+marking-ElfHairBun = Пучок
+marking-ElfHairBunhead2 = Пучок 2
+marking-ElfHairBun3 = Пучок 3
+marking-ElfHairLargebun = Пучок (Большой)
+marking-ElfHairManbun = Пучок (Мужской)
+marking-ElfHairTightbun = Пучок (Затянутый)
+marking-ElfHairBusiness = Деловая
+marking-ElfHairBusiness2 = Деловая 2
+marking-ElfHairBusiness3 = Деловая 3
+marking-ElfHairBusiness4 = Деловая 4
+marking-ElfHairBuzzcut = Баз кат
+marking-ElfHairCia = ЦРУ
+marking-ElfHairCoffeehouse = Кофейная
+marking-ElfHairCombover = Зачёс (Назад)
+marking-ElfHairCornrows = Корнроу
+marking-ElfHairCornrows2 = Корнроу 2
+marking-ElfHairCornrowbun = Корнроу (Пучок)
+marking-ElfHairCornrowbraid = Корнроу (Косичка)
+marking-ElfHairCornrowtail = Корнроу (Хвостик)
+marking-ElfHairCrewcut = Крю-кат
+marking-ElfHairCurls = Завитки
+marking-ElfHairC = Подстриженная
+marking-ElfHairDandypompadour = Денди Помпадур
+marking-ElfHairDevilock = Дьявольский замок
+marking-ElfHairDoublebun = Двойной пучок
+marking-ElfHairDreads = Дреды
+marking-ElfHairDrillruru = Дрели
+marking-ElfHairDrillhairextended = Дрели (Распущенные)
+marking-ElfHairEmo = Эмо
+marking-ElfHairEmofringe = Эмо (Чёлка)
+marking-ElfHairNofade = Фэйд (Отсутствует)
+marking-ElfHairHighfade = Фэйд (Высокий)
+marking-ElfHairMedfade = Фэйд (Средний)
+marking-ElfHairLowfade = Фэйд (Низкий)
+marking-ElfHairBaldfade = Фэйд (Лысый)
+marking-ElfHairFeather = Перья
+marking-ElfHairFather = Отец
+marking-ElfHairSargeant = Флэттоп
+marking-ElfHairFlair = Флейр
+marking-ElfHairBigflattop = Флэттоп (Большой)
+marking-ElfHairFlow = Флоу
+marking-ElfHairGelled = Уложенная
+marking-ElfHairGentle = Аккуратная
+marking-ElfHairHalfbang = Полурасчесанная
+marking-ElfHairHalfbang2 = Полурасчесанная 2
+marking-ElfHairHalfshaved = Полувыбритая
+marking-ElfHairHedgehog = Ёжик
+marking-ElfHairHimecut = Химэ
+marking-ElfHairHimecut2 = Химэ 2
+marking-ElfHairShorthime = Химэ (Короткая)
+marking-ElfHairHimeup = Химэ (Укладка)
+marking-ElfHairHitop = Хайтоп
+marking-ElfHairJade = Джейд
+marking-ElfHairJensen = Дженсен
+marking-ElfHairJoestar = Джостар
+marking-ElfHairKeanu = Киану
+marking-ElfHairKusanagi = Кусанаги
+marking-ElfHairLong = Длинная 1
+marking-ElfHairLong2 = Длинная 2
+marking-ElfHairLong3 = Длинная 3
+marking-ElfHairLongovereye = Длинная (Через глаз)
+marking-ElfHairLbangs = Длинная (Чёлка)
+marking-ElfHairLongemo = Длинная (Эмо)
+marking-ElfHairLongfringe = Длинная чёлка
+marking-ElfHairLongsidepart = Длинная сайд-парт
+marking-ElfHairMegaeyebrows = Широкие брови
+marking-ElfHairMessy = Растрёпанная
+marking-ElfHairModern = Современная
+marking-ElfHairMohawk = Могавк
+marking-ElfHairNitori = Нитори
+marking-ElfHairReversemohawk = Могавк (Обратный)
+marking-ElfHairUnshavenMohawk = Могавк (Небритый)
+marking-ElfHairMulder = Малдер
+marking-ElfHairOdango = Оданго
+marking-ElfHairOmbre = Омбре
+marking-ElfHairOneshoulder = На одно плечо
+marking-ElfHairShortovereye = Через глаз
+marking-ElfHairOxton = Окстон
+marking-ElfHairParted = С пробором
+marking-ElfHairPart = С пробором (Сбоку)
+marking-ElfHairKagami = Хвостики
+marking-ElfHairPigtails = Хвостики 2
+marking-ElfHairPigtails2 = Хвостики 3
+marking-ElfHairPixie = Пикси
+marking-ElfHairPompadour = Помпадур
+marking-ElfHairBigpompadour = Помпадур (Большая)
+marking-ElfHairPonytail = Хвостик
+marking-ElfHairPonytail2 = Хвостик 2
+marking-ElfHairPonytail3 = Хвостик 3
+marking-ElfHairPonytail4 = Хвостик 4
+marking-ElfHairPonytail5 = Хвостик 5
+marking-ElfHairPonytail6 = Хвостик 6
+marking-ElfHairPonytail7 = Хвостик 7
+marking-ElfHairHighponytail = Хвостик (Высокий)
+marking-ElfHairStail = Хвостик (Короткий)
+marking-ElfHairLongstraightponytail = Хвостик (Длинный)
+marking-ElfHairCountry = Хвостик (Деревенский)
+marking-ElfHairFringetail = Хвостик (Чёлка)
+marking-ElfHairSidetail = Хвостик (Сбоку)
+marking-ElfHairSidetail2 = Хвостик (Сбоку) 2
+marking-ElfHairSidetail3 = Хвостик (Сбоку) 3
+marking-ElfHairSidetail4 = Хвостик (Сбоку) 4
+marking-ElfHairSpikyponytail = Хвостик (Шипастый)
+marking-ElfHairPoofy = Пышная
+marking-ElfHairQuiff = Квифф
+marking-ElfHairRonin = Ронин
+marking-ElfHairShaved = Бритая
+marking-ElfHairShavedpart = Бритая часть
+marking-ElfHairShortbangs = Каре (Чёлка)
+marking-ElfHairA = Короткая
+marking-ElfHairShorthair2 = Короткая 2
+marking-ElfHairShorthair3 = Короткая 3
+marking-ElfHairD = Короткая 5
+marking-ElfHairE = Короткая 6
+marking-ElfHairF = Короткая 7
+marking-ElfHairShorthairg = Короткая 8
+marking-ElfHair80s = Короткая (80-ые)
+marking-ElfHairRosa = Короткая (Роза)
+marking-ElfHairB = Волосы до плеч
+marking-ElfHairSidecut = Боковой вырез
+marking-ElfHairSkinhead = Бритоголовый
+marking-ElfHairProtagonist = Слегка длинная
+marking-ElfHairSpikey = Колючая
+marking-ElfHairSpiky = Колючая 2
+marking-ElfHairSpiky2 = Колючая 3
+marking-ElfHairSwept = Зачёс назад
+marking-ElfHairSwept2 = Зачёс назад 2
+marking-ElfHairThinning = Редеющая
+marking-ElfHairThinningfront = Редеющая (Спереди)
+marking-ElfHairThinningrear = Редеющая (Сзади)
+marking-ElfHairTopknot = Пучок на макушке
+marking-ElfHairTressshoulder = Коса на плече
+marking-ElfHairTrimmed = Под машинку
+marking-ElfHairTrimflat = Под машинку (Плоская)
+marking-ElfHairTwintail = Два хвостика
+marking-ElfHairUndercut = Андеркат
+marking-ElfHairUndercutleft = Андеркат (Слева)
+marking-ElfHairUndercutright = Андеркат (Справа)
+marking-ElfHairUnkept = Неухоженная
+marking-ElfHairUpdo = Высокая
+marking-ElfHairVlong = Очень длинная
+marking-ElfHairLongest = Очень длинная 2
+marking-ElfHairLongest2 = Очень длинная (Через глаз)
+marking-ElfHairVeryshortovereyealternate = Очень короткая (Через глаз альт.)
+marking-ElfHairVlongfringe = Очень короткая (Чёлка)
+marking-ElfHairVolaju = Воладзю
+marking-ElfHairWisp = Пряди
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/species/species.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/species/species.ftl
new file mode 100644
index 0000000000..63cf711ed0
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/species/species.ftl
@@ -0,0 +1,92 @@
+species-name-tajaran = Таяр
+TajaranSpecies = Таяр
+MothSpecies = Ниан
+VulpkaninSpecies = Вульпканин
+ElfSpecies = Эльф
+species-tajaran-body-parts = "Таяран части тела"
+species-tajaran-torso = "Таяран тело"
+species-name-vulpkanin = Вульпканин
+species-vulpkanin-body-parts = "Вульпканин части тела"
+species-vulpkanin-torso = "Вульпканин тело"
+ent-MobElf = Урист МакХэндс Эльф
+ .desc =
+ .suffix = { "" }
+ent-BaseMobElf = Урист МакХэндс Эльф
+ .desc = { ent-BaseMobOrganic.desc }
+ .suffix = { "" }
+ent-MobElfDummy = Урист МакХэндс
+ .desc = Манекен-Эльф, используемый при создании персонажа.
+ .suffix = { "" }
+species-name-elf = Эльф
+marking-MothWingsLook1 = Крылья (Острые)
+marking-MothWingsLook2 = Крылья (Завитые)
+marking-MothWingsLook3 = Крылья (Пятнистые)
+marking-LPPVulpkaninbellycrest = Растрёпанный
+marking-LPPVulpkaninfoxbelly = Пушистый
+marking-LPPVulpkaninfullbelly = Гладкий
+marking-LPPVulpkanintail1 = Хвост 1
+marking-LPPVulpkanintail2 = Хвост 2
+marking-LPPVulpkanintail3 = Хвост 3
+marking-LPPVulpkaninear = Уши
+marking-LPPVulpkaninmuzzle = Морда
+marking-LPPVulpkaninmuzzleear = Морда и уши
+marking-LPPVulpkaninnose = Нос
+marking-LPPVulpkaninpoints_fade = Пятна с плавным переходом
+marking-LPPVulpkaninpoints_sharp = Грубые пятна
+marking-LPPVulpkaninskull_sponsor = Череп
+marking-LPPVulpkanintiger_face = Тигровые полосы 1
+marking-LPPVulpkanintiger_head = Тигровые полосы 2
+marking-LPPVulpkaninabhara = Абхара
+marking-LPPVulpkaninanite = Анит
+marking-LPPVulpkaninapollo = Аполло
+marking-LPPVulpkaninbelle = Белли
+marking-LPPVulpkaninbraided = Ровные
+marking-LPPVulpkaninbun = Бун
+marking-LPPVulpkanincurl = Уложенные
+marking-LPPVulpkaninhair_sponsor = Потрёпанные
+marking-LPPVulpkaninhawk = Ирокез
+marking-LPPVulpkaninjagged_sponsor_hair = Удар током
+marking-LPPVulpkaninkajam1 = Чёлка на лево
+marking-LPPVulpkaninkajam2 = Чёлка на право
+marking-LPPVulpkaninkeid = Кейд
+marking-LPPVulpkaninkleeia = Клея
+marking-LPPVulpkaninmizar = Мизар
+marking-LPPVulpkaninraine = Рейн
+marking-LPPVulpkaninrough = Грубая
+marking-LPPVulpkaninshort = Короткие 1
+marking-LPPVulpkaninshort2 = Короткие 2
+marking-LPPVulpkaninspike = Шипастые
+marking-LPPVulpkaninykiteru_sponsor_hair = Юкитеру
+marking-LPPTajaranBelly1 = Гладкий
+marking-LPPTajaranBelly2 = Гладкий 2
+marking-LPPTajaranBelly3 = Растрёпанный
+marking-LPPTajaranBelly4 = Грудка
+marking-LPPTajaranpatch2 = Пятно
+marking-LPPTajaranarm1 = Пятно
+marking-LPPTajaranTail1 = Хвост 1
+marking-LPPTajaranHead1 = Уши
+marking-LPPTajaranHead2 = Морда
+marking-LPPTajaranHead3 = Уши
+marking-LPPTajaranHead4 = Уши и морда
+marking-LPPTajaranHead5 = Нос
+marking-LPPTajaranHead6 = Края ушей
+marking-LPPTajaranHead7 = Двуликий
+marking-LPPTajaranHead8 = Тигровые полосы 1
+marking-LPPTajaranHead9 = Тигровые полосы 2
+marking-LPPTajaranHair1 = Длинная чёлка
+marking-LPPTajaranHair2 = Пышные
+marking-LPPTajaranHair3 = Карэ
+marking-LPPTajaranHair4 = Длинные
+marking-LPPTajaranHair5 = Короткая грива
+marking-LPPTajaranHair6 = Обьёмная грива
+marking-LPPTajaranHair7 = Уложенные
+marking-LPPTajaranHair8 = Волнистые
+marking-LPPTajaranHair9 = Грива назад
+marking-LPPTajaranHair10 = Зачёс назад с буном
+marking-LPPTajaranHair11 = Малый ирокез 1
+marking-LPPTajaranHair12 = Малый ирокез 2
+marking-LPPTajaranHair13 = Хвостик
+marking-LPPTajaranHair14 = Зачёс назад
+marking-LPPTajaranHair15 = Потрёпанные
+marking-LPPTajaranHair16 = Гладкая грива
+marking-LPPTajaranHair17 = Помпадур
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/species/sponsor-markings.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/species/sponsor-markings.ftl
new file mode 100644
index 0000000000..02393c11aa
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/species/sponsor-markings.ftl
@@ -0,0 +1,22 @@
+marking-LPPAllsuccubus = Суккубус
+marking-LPPAllbasarab = Басараб
+marking-LPPAllcrayfish = Рачок
+marking-LPPAllhank = Хэнк
+marking-LPPAllhonor = Герой
+marking-LPPAllmadscientist = Безумный учёный
+marking-LPPAllmonday = Понедельник
+marking-LPPAllnemesida = Немезида
+marking-LPPAllpunk = Летов
+marking-LPPAllturanga = Туранга
+marking-LPPAlldurak = Дурак
+marking-LPPAllhorn1 = Дьявол
+marking-LPPAllhorn2 = Лукавый
+marking-LPPAllhorn3 = Чёрт
+marking-LPPAllhorn4 = Бес
+marking-LPPAllhorn5 = Шайтан
+marking-LPPAllhorn6 = Окаянный
+marking-LPPAlllord = Лорд
+marking-LPPAlloldpain = Лорд Боли
+marking-LPPAlltavrhorn = Минотавр
+marking-LPPAlltelehorn = Телерог
+marking-LPPAllvampirehorn = Рога Вампира
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/speech/lp-speech-chatsan.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/speech/lp-speech-chatsan.ftl
new file mode 100644
index 0000000000..d9a5692cf7
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/speech/lp-speech-chatsan.ftl
@@ -0,0 +1,22 @@
+lp-chatsan-word-1 = сщ
+lp-chatsan-replacement-1 = Офицер Синий Щит
+lp-chatsan-word-2 = осщ
+lp-chatsan-replacement-2 = Офицер Синий Щит
+lp-chatsan-word-3 = общ
+lp-chatsan-replacement-3 = Офицер Синий Щит
+lp-chatsan-word-4 = блющилд
+lp-chatsan-replacement-4 = Офицер Синий Щит
+lp-chatsan-word-5 = Урог
+lp-chatsan-replacement-5 = Адольф Гитле
+lp-chatsan-word-6 = Миун
+lp-chatsan-replacement-6 = Нытик попущенный
+lp-chatsan-word-7 = фурри
+lp-chatsan-replacement-7 = пушистик
+lp-chatsan-word-8 = фурриёб
+lp-chatsan-replacement-8 = ксенофил
+lp-chatsan-word-9 = амогус
+lp-chatsan-replacement-9 = у меня микропенис
+lp-chatsan-word-10 = набегатор
+lp-chatsan-replacement-10 = дефективный
+lp-chatsan-word-11 = набегаторы
+lp-chatsan-replacement-11 = дефективные
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/speechverb.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/speechverb.ftl
new file mode 100644
index 0000000000..9592a52546
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/speechverb.ftl
@@ -0,0 +1,2 @@
+chat-speech-verb-name-vulpkanin = Вульпканин
+chat-speech-verb-name-tajaran = Таяр
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/sponsors/sponsors.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/sponsors/sponsors.ftl
new file mode 100644
index 0000000000..883721151b
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/sponsors/sponsors.ftl
@@ -0,0 +1,6 @@
+ent-SPNOneHundredPunch = сто ударов
+ .desc = Вместо тысячи слов.
+ .suffix = { "Спонсоры" }
+ent-SPNLargeBeaker = мензурка из плазмостекла
+ .desc = Новейшие технологии НТ в области химической индустрии. Мензурка из плазмо-стекла покрытая тефлоном и инертным силиконом. Говорят что она приземляется на дно.
+ .suffix = { "Личные вещи, Little_Starfall" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/misc/station-goal/station-goal-component.ftl b/Resources/Locale/ru-RU/_LostParadise/misc/station-goal/station-goal-component.ftl
new file mode 100644
index 0000000000..19cd118bd4
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/misc/station-goal/station-goal-component.ftl
@@ -0,0 +1,104 @@
+lpp-station-goal-borgs =
+ ░░████░░████░░
+ ░░█░░█░░█░░█░░ ЦЕЛЬ СТАНЦИИ
+ ░░█░░░░░█░░░░░ NanoTrasen Centcom
+ ░░█░░█░░█░░█░░ ЦентКом -> Командование
+ ░░████░░████░░
+ =============================================
+ Цель вашей смены конструирование автономных кибернетических интерфейсов.
+ Для её выполнения роботехническому цеху отдела исследований и разработок необходимо сконструировать и изучить следующие шасси киборгов:
+ - Инженерный,
+ - Уборочный,
+ - Шахтерский.
+ Каждая представленная модель должна обладать следующим набором параметров:
+ - Микрореакторная батарея.
+ - Максимальный набор необходимых модулей для данной модели. Общедоступные модули не принимаются.
+ - Работоспособность. Каждый киборг имеет разум и способен функционировать.
+ По окончании работ по конструированию, работники станции должны привезти эти машины на станцию центрального командования.
+ В случае поломки при транспортировке, цель будет считаться не выполненной.
+ =============================================
+
+lpp-station-goal-books =
+ ░░████░░████░░
+ ░░█░░█░░█░░█░░ ЦЕЛЬ СТАНЦИИ
+ ░░█░░░░░█░░░░░ NanoTrasen Centcom
+ ░░█░░█░░█░░█░░ ЦентКом -> Командование
+ ░░████░░████░░
+ =============================================
+ Текущая цель вашей смены состоит в просвящении сотрудников станции высокой культуре.
+ Для достижения данной цели, библиотекарю или иным сотрудникам сервисного отдела нужно написать одну книгу.
+ После написания должна быть произведена печать данных книг для их раздачи всем отделам станции.
+ Исходя из колличества сотрудников, в каждый отдел должно попасть около 20% от общей напечатанной массы книг.
+ После раздачи книг должен быть прислан факс на станцию центрального командования, в котором будут изложены следующие темы:
+ - Общее впечатление от прочитаной книги у одного сотрудника.
+ - Небольшой пересказ о том, как была произведена раздача данной книги.
+ - Краткое объяснение идеи написаной книги. Это должен будет составить автор книги.
+ - ФИ ответственного сотрудника за факс, ФИ автора книги.
+ Вместо 3 пункта можно выслать копию книги, если это действительно необходимо.
+ =============================================
+
+
+ =============================================
+station-goal-check =
+ ░░████░░████░░
+ ░░█░░█░░█░░█░░ ЦЕЛЬ СТАНЦИИ
+ ░░█░░░░░█░░░░░ NanoTrasen Centcom
+ ░░█░░█░░█░░█░░ ЦентКом -> Командование
+ ░░████░░████░░
+ =============================================
+ Цель вашей смены: Подготовка отделов для проверки с ЦК.
+ Для выполнения данной цели вам требуется:
+ -Подготовить отделы для краткой проверки КЗ и СРП.
+ -Подготовить комнату для обеда и краткого отдыха проверяющего.
+ -Подготовить Отчеты о ситуации на станции.
+ -Подготовить Отчёт об изменении допусков экипажа станции.
+ -Подготовить Отчёты о нарушениях СРП и КЗ.
+ -Подготовить Информацию о задержанных за смену.
+ -Подготовить Отчёт об используемых источниках питания.
+ -Подготовить Отчёт о одобренных заказах.
+ -Подготовить Отчёт об исследованиях артефактов.
+ -Подготовить Отчёт об использованных за смену препаратах.
+ На выполнение данной задачи у вас 2 часа, после ПЦК известит о своем прибытии.
+ =============================================
+station-goal-roomforresearch =
+ ░░████░░████░░
+ ░░█░░█░░█░░█░░ ЦЕЛЬ СТАНЦИИ
+ ░░█░░░░░█░░░░░ NanoTrasen Centcom
+ ░░█░░█░░█░░█░░ ЦентКом -> Командование
+ ░░████░░████░░
+ =============================================
+ Цель смены: Создание зоны для крупных экспериментов, в которой можно спокойно проводить тесты.
+ Для ее выполнения потребуется:
+ -Создание закрытой бронированной зоны с открытой областью 5 на 5, с возможностью полного просмотра области внутри комнаты.
+ -Подготовка мишеней и мартышек для экспериментов в данной области.
+ -Произвести успешные испытания: лечебной гранаты, усыпляющей гранаты, отравляющей гранаты.
+ =============================================
+station-goal-newroom =
+ ░░████░░████░░
+ ░░█░░█░░█░░█░░ ЦЕЛЬ СТАНЦИИ
+ ░░█░░░░░█░░░░░ NanoTrasen Centcom
+ ░░█░░█░░█░░█░░ ЦентКом -> Командование
+ ░░████░░████░░
+ =============================================
+ Цель смены: Создание нового крыла станции, для подготовки пространства для нового отдела.
+ Для выполнения этой цели требуется:
+ - Построить новую область станции с 3 и более комнатами размером не меньше 4 на 3.
+ - Настроить доступ в данную область только для командного состава.
+ - Обустроить 1 комнату для отдыха, 1 комнату для сна, 1 комнату для работы.
+ - В рабочей зоне обязаны быть: Автолат, Протолат, Конструктор Экзоскелетов, 1 не активный Борг (Без модулей и мозга).
+ =============================================
+station-goal-training =
+ ░░████░░████░░
+ ░░█░░█░░█░░█░░ ЦЕЛЬ СТАНЦИИ
+ ░░█░░░░░█░░░░░ NanoTrasen Centcom
+ ░░█░░█░░█░░█░░ ЦентКом -> Командование
+ ░░████░░████░░
+ =============================================
+ Цель текущей смены: Провести боевые учения для службы безопастности.
+ Для этого требуется:
+ - Организовать Тестирование СБ по СРП, КЗ и всяческим процедурам.
+ - Подготовить полигон и Обучить СБ по разминированию Бомбы в полевых условиях.
+ - В тире произвести оценку точности СБ в 3 положениях: Стоя, бегом, бегом по команде.
+ - Произвести Учения, по работе при ЧС.
+ По завершении цели отослать отчёты с показателем каждого в СБ, включая ГСБ.
+ =============================================
diff --git a/Resources/Locale/ru-RU/_LostParadise/pistols.ftl b/Resources/Locale/ru-RU/_LostParadise/pistols.ftl
new file mode 100644
index 0000000000..29f4066f57
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/pistols.ftl
@@ -0,0 +1,21 @@
+ent-LPPWeaponPistolDesertEagle = пустынный орёл
+ .desc = Любимец гангстеров и любителей больших пушек, использует патроны .35 калибра.
+ent-LPPWeaponPistolPMgufuded112 = Черный ПМ
+ .desc = Красивый черный пистолет
+ent-LPPWeaponPistolDesertEagleGold = золотой пустынный орёл
+ .desc = Символ высокого статуса в криминальном мире и не только, использует патроны .35 калибра.
+ent-LPPWeaponPistolDesertEagleCamo = камуфляжный пустынный орёл
+ .desc = Особый золотой экземпляр с лемитированной тигровой расцветкой,очень желаннен для коллекционеров и преступных боссов, использует патроны .35 калибра.
+ent-LPPWeaponPistolGoldMk58 = золотой MK-58
+ .desc = Теперь никто не скажет, что он дешевый и распространенный,производился дочерней компанией NanoTrasen в ограниченном колличестве в честь юбилея. Использует патроны калибра .35 авто.
+ent-LPPWeaponSubMachineGunLato = лато
+ .desc = Пистолет произведенный неизвестной цивилизацией, возможно в альтернативной вселенной. Использует патроны калибра .35 авто.
+ent-LPPWeaponPistolM1911 = M1911
+ .desc = Пистолет, будет постарше твоего деда. Использует патроны калибра .35 авто.
+ent-LPPWeaponPistolMaria = Мария
+ .desc = Очень знаковое, в какой-то степение религиозное оружие, смотря на него вы чувствуете чье-то присутствие. Использует патроны калибра .35 авто.
+ent-LPPWeaponPistolninemile = HM34
+ .desc = Пистолет приемлемо-среднего качества, производимый дочерней компанией NanoTrasen. Использует патроны калибра .35 авто.
+ent-LPPWeaponPistolAdvokat = "Адвокат"
+ .desc = Лимитированный пистолет неизвестной модели, вы замечаете выгравированную электронную подпись Центкома и маленькую надпись "Одобренно офицером специальных операций, собственность Амины". Это подпись настолько изысканна что ее невозможно подделать. Использует калибр .50
+ .suffix = { "Личная вещь" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/protogen_customization.ftl b/Resources/Locale/ru-RU/_LostParadise/protogen_customization.ftl
new file mode 100644
index 0000000000..5e8733bb4a
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/protogen_customization.ftl
@@ -0,0 +1,43 @@
+#body protogen
+
+marking-LPPVulpkaninprotogen_face = Лицо протогена
+
+marking-LPPVulpkanintprotogen_torso = Туловище протогена
+
+marking-LPPVulpkanintprotogen_legs = Ноги протогена
+
+marking-LPPVulpkanintprotogen_hands = Руки протогена
+
+#gfi protogen
+#gfi hands
+
+marking-LPPVulpkanintprotogen_hands_ful_gif = Руки протогена всё gif
+
+marking-LPPVulpkanintprotogen_hands_l_gif = Руки протогена слева gif
+
+marking-LPPVulpkanintprotogen_hands_r_gif = Руки протогена права gif
+
+#gfi legs
+
+marking-LPPVulpkanintprotogen_legs_ful_gif = Ноги протогена всё gif
+
+marking-LPPVulpkanintprotogen_legs_l_gif = Ноги протогена слева gif
+
+marking-LPPVulpkanintprotogen_legs_r_gif = Ноги протогена права gif
+
+#rgb protogen
+#rgb hands
+
+marking-LPPVulpkanintprotogen_hands_ful_rgb = Руки протогена всё rgb
+
+marking-LPPVulpkanintprotogen_hands_l_rgb = Руки протогена слева rgb
+
+marking-LPPVulpkanintprotogen_hands_r_rgb = Руки протогена права rgb
+
+#rgb legs
+
+marking-LPPVulpkanintprotogen_legs_ful_rgb = Ноги протогена всё rgb
+
+marking-LPPVulpkanintprotogen_legs_l_rgb = Ноги протогена слева rgb
+
+marking-LPPVulpkanintprotogen_legs_r_rgb = Ноги протогена права rgb
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/all-personal.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/all-personal.ftl
new file mode 100644
index 0000000000..64a98a4766
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/all-personal.ftl
@@ -0,0 +1,97 @@
+ent-LPPClothingBeltMedicalSponsorWebbingVuviki = Дюратканевый жилет
+ .desc = Защищает главного врача не только от скальпеля, но и от пули.
+ .suffix = { "Личные вещи, TheWhiteFox" }
+ent-LPPHyposprayTheWhiteFoxPERSONAL=Гипоспрей DeForest Medical
+ .desc = Новейшая разработка в области введения лекарств, быстро и практично, словно укусил комарик
+ .suffix = { "Личные вещи, TheWhiteFox" }
+ent-LPPClothingBackpackDuffelTheWhiteFoxPERSONAL = Сумка главного врача
+ .desc = Вещмешок из дюроткани и плотного материала внутри, дабы исключить возможность протекания лекарств из него.
+ .suffix = { "Личные вещи, TheWhiteFox" }
+
+ent-LPPClothingHeadHelmetMamykoPERSONAL = Красно-чёрный шлем охраны
+ .desc = Модифицированный шлем охраны, сзади на шлеме виднеется этикетка: "С любовью от мамы".
+ .suffix = { "Личные вещи, Mamyko" }
+ent-LPPClothingNeckMamykoBandagePERSONAL = Повязка Мастера
+ .desc = Повязка символизирующая мастерство её владельца
+ .suffix = { "Личные вещи, Mamyko" }
+
+ent-LPPClothingHeadHatLOLBIT14PERSONAL = Семейная шляпа Аттерносс
+ .desc = Шляпа выполненная из очень прочного, но при этом лёгкого металла, от неё исходит холод, по какой-то причине над ней парит ледяной кристал.
+ .suffix = { "Личные вещи, LOLBIT14" }
+ent-LPPClothingNeckCloakLOLBIT14PERSONAL = Семейный плащ Аттерносс
+ .desc = Видно что плащ сделан из металлических нитей, он поблёскивает в свете ламп станции, на его краях вы можете видеть странные фиолетовые линии, а так-же фиолетовый меч, который с невероятной яростью блестит и от него, неожиданно отдаёт холодом, покрывает плащ почти всё тело носителя. Он пахнет сакурой
+ .suffix = { "Личные вещи, LOLBIT14" }
+
+ent-LPPCloakRoboticsTerrebatPERSONAL = Плащ робототехника
+ .desc = Плащ символизирующий великую революцию киборгов!
+ .suffix = { "Личные вещи, Terrebat" }
+ent-LPPClothingHeadHatHoodRoboticsTerrebatPERSONAL = Капюшен плаща роботехника
+ .desc = Тот самый капюшон, который скрывает лицо роботехника.
+
+ent-LPPBlueshieldlaserSwonderPERSONAL = Элегантный лазерный револьвер Офицера "Синего Щита"
+ .desc = Это вершина инновационного дизайна и технологий в мире моды и безопасности. Скроенный из эксклюзивных материалов высочайшего качества, этот пиджак был специально разработан для удовлетворения самых высоких стандартов требований к Офицеру "Синего Щита".
+ .suffix = { "Личные вещи, Swonder" }
+ent-LPPClothingNeckCloakBlueshieldSwonderPERSONAL = Плащ "Лазурного Клинка"
+ .desc = Это произведение искусства и мастерства, созданное специально для Офицера "Синего Щита" в знак его выдающихся заслуг и отваги. Изображение меча на плаще символизирует не только боевую мощь и силу, но и благородство, честь и решимость защищать значимых лиц.
+ .suffix = { "Личные вещи, Swonder" }
+ent-LPPClothingBeltBlueshieldWebbingSwonderPERSONAL = РПС офицера "Синего Щита"
+ .desc = Каждая деталь данного РПС была продумана до мельчайших нюансов. Высококачественные ткани обеспечивают комфорт и свободу движений, а специальный крой подчеркивает стройность и силу офицера "Синего Щита". Множество карманов и петель предоставляют возможность комфортно разместить все необходимое снаряжение и оборудование.
+ .suffix = { "Личные вещи, Swonder" }
+ent-LPPClothingUniformJumpsuitBlueshieldSwonderPERSONAL = Пиджак RK800 Офицера "Синего Щита"
+ .desc = Это вершина инновационного дизайна и технологий в мире моды и безопасности. Скроенный из эксклюзивных материалов высочайшего качества, этот пиджак был специально разработан для удовлетворения самых высоких стандартов требований к Офицеру "Синего Щита".
+ .suffix = { "Личные вещи, Swonder" }
+ent-LPPClothingMaskGasBlueShieldSwonderPERSONAL = Боевая дыхательная маска Офицера "Синего Щита"
+ .desc = Дыхательная маска выполнена в глубоком синем цвете, отражающем дух преданности и силы Офицера "Синего Щита". Ее утонченный дизайн и эргономичная форма обеспечивают идеальную посадку на лице, а регулируемые ремни гарантируют комфорт и надежную фиксацию в любых условиях.
+ .suffix = { "Личные вещи, Swonder" }
+ent-LPPClothingHandsGlovesCombatSwonderPERSONAL = Боевые перчатки Офицера "Синего Щита"
+ .desc = Перчатки выполнены в элегантном черном цвете с акцентами глубокого синего оттенка, символизирующего силу и преданность Офицера "Синего Щита". Уникальный дизайн с узорами и вышивкой подчеркивает индивидуальность и статус владельца, а эластичные вставки обеспечивают свободу движений и отличную посадку.
+ .suffix = { "Личные вещи, Swonder" }
+
+ent-LPPKnifeWawewa221PERSONAL = Алая нож-бабочка
+ .desc = Изящная нож-бабочка с алым градиентом, на опасной рукоятке виднеется гравировка ввиде красивой буквы "S"
+ .suffix = { "Личные вещи, Wawewa221" }
+
+ent-LPPClothingHandsGlovesCombatPandi4PERSONAL = Перчатки Романа
+ .desc = На вид обычные перчатки, но они очень сильно пропахли спиртом и сигаретами. Во многих местах можно заметить пепельные дырки, что сказывается на их состоянии. На внешней части перчаток видно, что они очень износились. "Возможно, их владелец много любил драться?"
+ .suffix = { "Личные вещи, Pandi4" }
+
+ent-LPPPlushlolik514PERSONAL = плюшевый Экле-Рин
+ .desc = Игрушка немного знаменитого красного унатха! Пахнет теми самыми эклерами с которыми ассоциируется унатх.
+ .suffix = { "Личные вещи, lolik514" }
+
+ent-ClothingUniformJumpsuitShkila123PERSONAL = Униформа алой крови
+ .desc = Темно-синяя матроска с красными полосами и разрезом в области талии.
+ .suffix = { "Личные вещи, Shkila123" }
+
+ent-LPPWeaponDisablerVayredPERSONAL = Станнер Вайреда
+ .desc = Красивый кроваво-красный станнер, на нём видны потёртости. Кажется.. им очень много пользовались.
+ .suffix = { "Личные вещи, Vayred" }
+
+ent-LPPClothingUniformJumpsuitAlexeyNovatorovPersonal = Тёмно-красный свитер с длинным подолом
+ .desc = Сие одеяние кажется вам старомодным.
+ .suffix = { "Личные вещи, Alexey_Novatorov" }
+
+ent-LPPClothingUniformJumpsuitIonsuitAbubachirPERSONAL = Ионный комбинезон AB-19
+ .desc = Технологичный комбинезон из лёгких материалов. Переливается энергией, что вот-вот вас заденет.
+ .suffix = { "Личные вещи, Abubachir" }
+ent-LPPClothingUniformJacketIonAbubachirPERSONAL = Ионный жилет KB-10
+ .desc = Технологическая жилетка из лёгких материалов. Время от времени искрит, словно сейчас взорвётся.
+ .suffix = { "Личные вещи, Abubachir" }
+ent-LPPClothingUniformJacketIonAbubachirAnimationPERSONAL = Ионные искры.
+ .desc = Они искрятся.
+ .suffix = { "Личные вещи, Abubachir" }
+ent-LPPClothingHandsCryoliteRingAbubachirPERSONAL = Кольцо с криолитом
+ .desc = Основание кольца целиком и полностью состоит из сплава неизвестных металлов, расцветка - напоминающая зимнюю вьюгу. В центре кольца находится небольшой кристалл, истинным названием которого является "Криолит". Он переливается цветами зимних пейзажей, как, например, горного хрусталя, аквамарина, туркенита и даже более яркого, приближенного к голубому цвету алмаза. Главной особенностью кольца является некое зачарование, благодаря которому его владелец с ног до головы окружается снежными искрами и блеском.
+ .suffix = { "Личные вещи, Abubachir" }
+ent-LPPClothingGoldenHornsAbubachirPERSONAL = Позолоченные насадки на рога
+ .desc = Грациозные рога. Так и сияют.
+ .suffix = { "Личные вещи, Abubachir" }
+ent-LPPClothingGreenUniformJumpsuitAbubachirPERSONAL = Истинно зелёный пиджак
+ .desc = Статный зелёный пиджак. Классический предмет одежды из толстой ткани.
+ .suffix = { "Личные вещи, Abubachir" }
+ent-LPPPlayerBorgINSPERSONAL = И.Н.С
+ .desc = Очень высокий и массивный самообучаемый сервисный андроид-прототип "Индивидуальный научный сервитор" аббревиатура И.Н.С,ее позитронный мозг имеет самосознание,в тело игментированны сервисные модули и продвинутый уборочный модуль.Не обзывайте ее "боргом", она может обидится.Нальет вам эксклюзивный фруппи и расскажет анекдот если попросите.
+ .suffix = Личные вещи, Инсульгон
+
+
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/augmentations.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/augmentations.ftl
new file mode 100644
index 0000000000..edc4186965
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/augmentations.ftl
@@ -0,0 +1,12 @@
+marking-LPPTattooAgent = Агент
+marking-LPPTattooTear = Слеза
+marking-LPPJaw = Челюсть
+marking-LPPVisor = Визор
+marking-LPPRobohead = Ведроголовый
+marking-LPPIronheart = Железное сердце
+marking-LPPProsthesisLLeg = Правая металлическая нога
+marking-LPPProsthesisRLeg = Левая маталлическая нога
+marking-LPPProsthesisLHand = Левая маталлическая рука
+marking-LPPProsthesisRHand = Правая металлическая рука
+marking-LPPProsthesisLWrist = Левая маталлическая кисть
+marking-LPPProsthesisRWrist = Правая металлическая кисть
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/bandanas.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/bandanas.ftl
new file mode 100644
index 0000000000..6f81a68bae
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/bandanas.ftl
@@ -0,0 +1,3 @@
+ent-LPPBandana = бандана Снейка
+ .desc = "Эта бандана сделает вас круче на 20%"
+ .suffix = { "Личные вещи" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/hardsuit-helmets.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/hardsuit-helmets.ftl
new file mode 100644
index 0000000000..8d6d3ae29e
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/hardsuit-helmets.ftl
@@ -0,0 +1,13 @@
+ent-LPPArmorMovementHead = Силовой шлем
+ .desc = Силовой шлем с новейшим сверхсекретным программным обеспечением NT-FAL.
+ .suffix = { "силовая броня" }
+ent-ClothingHeadHelmetHardsuitSWAT = шлем скафандра подавителя беспорядков
+ .desc = Специальный шлем скафандра службы безопасности, для всех нужд.
+ent-LPPClothingOuterHardsuitBlueshieldHelm = шлем скафандра офицера "Синий Щит"
+ .desc = Шлем скафандра офицера "Синий Щит".
+ .suffix = { "Синий Щит" }
+ent-ClothingHeadHelmetHardsuitChrono = шлем Хроно-Легионера
+ .desc = "Чем бы не тешилось дитя, при виде вашего шлема его дела немедленно прекращатся."
+ .suffix = { "ХРОНО" }
+ent-LPPClothingHeadHelmetHardsuitSecurityPilot = Шлем скафандра пилота службы безопасности
+ .desc = Стиль, мощь, эстетичность вот что подчеркивает этот шлем
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/hats.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/hats.ftl
new file mode 100644
index 0000000000..6fb295b9dc
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/hats.ftl
@@ -0,0 +1,25 @@
+ent-LPPClothingHeadHatBeretBlueshield = берет офицера "Синий Щит"
+ .desc = Берет темно-синего цвета с эмблемой командирского звания. Для офицеров, которые больше думают о безопасности других людей, чем о своей собственной.
+ .suffix = { "Синий Щит" }
+ent-LPPBDayCap = колпак именинника
+ .desc = Предмет отличия любого именинника.
+ .suffix = { "День рождения" }
+ent-LPPClothingHeadHatBeretCAS = Берет CAS
+ .desc = Чёрно-белый берет.
+ .suffix = { "Спонсор" }
+ent-LPPClothingHeadClownPomni = Колпак шута
+ .desc = Широкий колпак с бубенцами на концах, свои трещащим звоном будто понемногу начинает сводить вас с ума...
+ent-LPPClothingHeadHatBlackHairbows = Чёрные бантики
+ .desc = Чёрные банты на голову.
+ .suffix = { "Спонсор" }
+ent-LPPClothingHeadHatRedHairbows = Красные бантики
+ .desc = Красные банты на голову.
+ .suffix = { "Спонсор" }
+ent-LPPClothingHeadHatCapRed = Красная кепка
+ .desc = Отлично сочетается с спортивным костюмом!
+ent-LPPClothingHeadHatCapGreen = Зелёная кепка
+ .desc = Отлично сочетается с спортивным костюмом!
+ent-LPPClothingHeadHatCapBlue = Синяя кепка
+ .desc = Отлично сочетается с спортивным костюмом!
+ent-LPPClothingHeadHatCapBlack = Чёрная кепка
+ .desc = Отлично сочетается с спортивным костюмом!
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/helmets.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/helmets.ftl
new file mode 100644
index 0000000000..eac3c991ab
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/Head/helmets.ftl
@@ -0,0 +1,2 @@
+ent-LPPJudjeDreddHelmet = Шлем Судьи
+.desc = Ты здесь закон!
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/ToysLPP.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/ToysLPP.ftl
new file mode 100644
index 0000000000..a7019e0f00
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/ToysLPP.ftl
@@ -0,0 +1,111 @@
+ent-LPPBlackcat = плюшевая черная кошка
+ .desc = "Мягкая игрушка (Черная кошка)"
+ .suffix = { "" }
+ent-LPPGreycat = плюшевая серая кошка
+ .desc = "Мягкая игрушка (Серая кошка)"
+ .suffix = { "" }
+ent-LPPOrangecat = плюшевая оранжевая кошка
+ .desc = "Мягкая игрушка (Оранжевая кошка)"
+ .suffix = { "" }
+ent-LPPSiamesecat = плюшевая сиамская кошка
+ .desc = "Мягкая игрушка (Сиамская кошка)"
+ .suffix = { "" }
+ent-LPPTabbycat = плюшевая полосатая кошка
+ .desc = "Мягкая игрушка (Полосатый кошка)"
+ .suffix = { "" }
+ent-LPPTuxedocat = плюшевая дымчатая кошка
+ .desc = "Мягкая игрушка (Смокингая кошка)"
+ .suffix = { "" }
+ent-LPPWhitecat = плюшевая белая кошка
+ .desc = "Мягкая игрушка (Белая кошка)"
+ .suffix = { "" }
+ent-LPPBlackfox = плюшевая черная лиса
+ .desc = "Мягкая игрушка (Черная лиса)"
+ .suffix = { "" }
+ent-LPPBluefox = плюшевая голубая лиса
+ .desc = "Мягкая игрушка (Голубая лиса)"
+ .suffix = { "" }
+ent-LPPCoffeefox = плюшевая кофейная лиса
+ .desc = "Мягкая игрушка (Кофейная лиса)"
+ .suffix = { "" }
+ent-LPPCrimsonfox = плюшевая лесная лиса
+ .desc = "Мягкая игрушка (Лесная лиса)"
+ .suffix = { "" }
+ent-LPPMarblefox = плюшевая мраморная лиса
+ .desc = "Мягкая игрушка (Мраморная лиса)"
+ .suffix = { "" }
+ent-LPPOrangefox = плюшевая оранжевая лиса
+ .desc = "Мягкая игрушка (Оранжевая лиса)"
+ .suffix = { "" }
+ent-LPPPinkfox = плюшевая розовая лиса
+ .desc = "Мягкая игрушка (Розовая лиса)"
+ .suffix = { "" }
+ent-LPPPurplefox = плюшевая фиолетовая лиса
+ .desc = "Мягкая игрушка (Фиолетовая лиса)"
+ .suffix = { "" }
+ent-LPPRedfox = плюшевая красная лиса
+ .desc = "Мягкая игрушка (Красная лиса)"
+ .suffix = { "" }
+ent-LPPAxolotl = плюшевый Аксолотль
+ .desc = "Мягкая игрушка (Аксолоть)"
+ .suffix = { "" }
+ent-LPPCorgi = плюшевый Корги
+ .desc = "Мягкая игрушка (Корги)"
+ .suffix = { "" }
+ent-LPPDeer = плюшевый олень
+ .desc = "Мягкая игрушка (Олень)"
+ .suffix = { "" }
+ent-LPPMedihound = плюшевый мед-догборг
+ .desc = "Мягкая игрушка (мед-догборг)"
+ .suffix = { "" }
+ent-LPPMoff = плюшевая моль
+ .desc = "Мягкая игрушка (Моль)"
+ .suffix = { "" }
+ent-LPPPlushieSynth = плюшевый протоген
+ .desc = "Мягкая игрушка (протоген №1)"
+ .suffix = { "" }
+ent-LPPProtogen = плюшевый протоген
+ .desc = "Мягкая игрушка (протоген №2)"
+ .suffix = { "" }
+ent-LPPPupdozer = плюшевый инжи-догборг
+ .desc = "Мягкая игрушка (инжи-догборг)"
+ .suffix = { "" }
+ent-LPPScrubpuppy = плюшевый клин-догборг
+ .desc = "Мягкая игрушка (клин-догборг)"
+ .suffix = { "" }
+ent-LPPSergal = плюшевый сергал
+ .desc = "Мягкая игрушка (сергал)"
+ .suffix = { "" }
+ent-LPPYch = плюшевый YCH
+ .desc = "Мягкая игрушка (место для вашего персонажа)"
+ .suffix = { "" }
+ent-LPPWithSoftAnimals = автоплюшек
+ .desc = Раздатчик разных мягких игрушек.
+ .suffix = { "" }
+ent-LPPKirrPlushie = плюшевая Киирава-Нуралг
+ .desc = Странная игрушка, вот-вот психанёт.
+ .suffix = { "" }
+ent-LPPJayPlushie = плюшевый На-Леи
+ .desc = Очень злая игрушка, не тыкайте её без причины.
+ .suffix = { "Личные вещи" }
+ent-LPPAminaPlushie = плюшевая Амина
+ .desc = Плюшевая игрушка Агента внутренних дел в виде Амины Игнатьевы, голубые глаза все такие же холодные, но обнимая ее чувствуешь приятное тепло. Интересно настоящая Амина такая же на ощупь?
+ .suffix = { "Личные вещи" }
+ent-LPPCrab = плюшевый краб
+ .desc = Похож на краба, выглядит реалистично.
+ .suffix = { "" }
+ent-LPPNinjaPlushie = плюшевый ниндзя
+ .desc = На ощупь резиновая, меч светится будтофосфор.
+ .suffix = { "" }
+ent-LPPMedDrake = плюшевый мед дрейк
+ .desc = На ощупь резиновая, спина игрушки светится голубым.
+ .suffix = { "" }
+ent-LPPSecDrake = плюшевый сб дрейк
+ .desc = На ощупь резиновая, спина игрушки светится красным.
+ .suffix = { "" }
+ent-LPPGoat = плюшевая коза
+ .desc = Пушистая маленькая коза.
+ .suffix = { "" }
+ent-LPPBoxs = плюшевая коробка
+ .desc = Просто мягкая коробка.
+ .suffix = { "" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/back/backpack.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/back/backpack.ftl
new file mode 100644
index 0000000000..d46552fb69
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/back/backpack.ftl
@@ -0,0 +1,20 @@
+ent-ClothingBackpackRobotics = Рюкзак Робототехника
+ .desc = Красно-белый рюкзак для хранения материалов и запчастей.
+ent-LPPClothingBackpackBlueshield = рюкзак офицера "Синий Щит"
+ .desc = Говорят, он пуленепробиваемый.
+ .suffix = { "Синий Щит" }
+ent-LPPClothingBackpackBlueshieldFilled = рюкзак офицера "Синий Щит"
+ .desc = Говорят, он пуленепробиваемый.
+ .suffix = { "Синий Щит, Заполненный" }
+ent-LPPClothingBackpackHop = Рюкзак Главы Персонала
+ .desc = Сотканный из дорогих тканей рюкзак.
+ent-LPPClothingBackpackSecurityEngineer = Рюкзак полевого инженера
+ .desc = Свет инженерного отдела продолжает борьбу... Все еще не заляпан кровью...
+ent-LPPClothingBackpackSecurityEngineerFilled = Рюкзак полевого инженера
+ .desc = Свет инженерного отдела продолжает борьбу... Все еще не заляпан кровью...
+ent-LPPClothingBackpackBlack = чёрный рюкзак
+ .desc = Он что-то напоминает.
+ .suffix = { "Спонсор" }
+ent-LPPClothingBackpackVirologyFilled = рюкзак вирусолога
+ .desc = Рюкзак, изготовленный из гипоаллергенных волокон. Он разработан, чтобы предотвратить распространение болезней. Пахнет обезьяной.
+ .suffix = Заполненный
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/back/duffel.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/back/duffel.ftl
new file mode 100644
index 0000000000..a65ca7eb36
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/back/duffel.ftl
@@ -0,0 +1,12 @@
+ent-ClothingBackpackDuffelRobotics = Вещмешок Робототехника
+ .desc = Красно-белый вещмешок для хранения материалов и запчастей.
+ent-LPPClothingBackpackDuffelBlueshield = вещмешок офицера "Синий Щит"
+ .desc = В два раза больше наручников!
+ .suffix = { "Синий Щит" }
+ent-LPPClothingBackpackDuffelHop = Вещмешок Главы Персонала
+ .desc = Сотканный из дорогих тканей вещмешок.
+ent-LPPClothingBackpackDuffelSecurityEngineer = Вещмешок полевого инженера
+ .desc = Свет инженерного отдела продолжает борьбу... Все еще не заляпан кровью...
+ent-LPPClothingBackpackDuffelBlack = чёрный вещмешок
+ .desc = Стильный чёрный вещмешок, который выглядит надежным.
+ .suffix = { "Спонсор" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/back/satchel.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/back/satchel.ftl
new file mode 100644
index 0000000000..65b9c700ec
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/back/satchel.ftl
@@ -0,0 +1,18 @@
+ent-ClothingBackpackSatchelRobotics = Сумка Робототехника
+ .desc = Красно-белая сумка для хранения материалов и запчастей.
+ent-LPPClothingSatchelSmuggler = сумка
+ .desc = Модная сумка.
+ .suffix = Контрабандист
+ent-LPPClothingBackpackSatchelBlueshield = сумка офицера "Синий Щит"
+ .desc = Удобно сбрасывать винтовочные магазины.
+ .suffix = { "Синий Щит" }
+ent-LPPClothingBackpackSatchelHop = Сумка Главы Персонала
+ .desc = Сотканная из дорогих тканей сумка.
+ent-LPPClothingBackpackSatchelCAS = Сумка CAS
+ .desc = Чёрно-белая сумка.
+ .suffix = { "Спонсор" }
+ent-LPPClothingSatchelSecurityEngineer = Сумка полевого инженера
+ .desc = Свет инженерного отдела продолжает борьбу... Все еще не заляпан кровью...
+ent-LPPClothingBackpackSatchelBlack = Чёрная сумка
+ .desc = Стильная чёрная сумка, что вешается на плечо.
+ .suffix = { "Спонсор" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/belt/waist_bags.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/belt/waist_bags.ftl
new file mode 100644
index 0000000000..65bdc347fa
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/belt/waist_bags.ftl
@@ -0,0 +1,30 @@
+ent-LPPWaistbag01 = цветная поясная сумка
+ .desc = "Цветная поясная сумка, в которой можно носить небольшие предметы."
+ .suffix = { "" }
+ent-LPPWaistbag02 = цветная поясная сумка
+ .desc = "Цветная поясная сумка, в которой можно носить небольшие предметы."
+ .suffix = { "" }
+ent-LPPWaistbag03 = цветная поясная сумка
+ .desc = "Цветная поясная сумка, в которой можно носить небольшие предметы."
+ .suffix = { "" }
+ent-LPPWaistbag04 = цветная поясная сумка
+ .desc = "Цветная поясная сумка, в которой можно носить небольшие предметы."
+ .suffix = { "" }
+ent-LPPWaistbag05 = цветная поясная сумка
+ .desc = "Цветная поясная сумка, в которой можно носить небольшие предметы."
+ .suffix = { "" }
+ent-LPPWaistbag06 = цветная поясная сумка
+ .desc = "Цветная поясная сумка, в которой можно носить небольшие предметы."
+ .suffix = { "" }
+ent-LPPWaistbag07 = цветная поясная сумка
+ .desc = "Цветная поясная сумка, в которой можно носить небольшие предметы."
+ .suffix = { "" }
+ent-LPPWaistbag08 = цветная поясная сумка
+ .desc = "Цветная поясная сумка, в которой можно носить небольшие предметы."
+ .suffix = { "" }
+ent-LPPWaistbag09 = цветная поясная сумка
+ .desc = "Цветная поясная сумка, в которой можно носить небольшие предметы."
+ .suffix = { "" }
+ent-LPPWaistbag10 = цветная поясная сумка
+ .desc = "Цветная поясная сумка, в которой можно носить небольшие предметы."
+ .suffix = { "" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/belt/webbings.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/belt/webbings.ftl
new file mode 100644
index 0000000000..da518d262c
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/belt/webbings.ftl
@@ -0,0 +1,3 @@
+ent-LPPClothingBeltSecurityWebbingCAS = РПС CAS
+ .desc = "Чёрно-белое РПС. Напоминает те, которые носят краснорубашечники."
+ .suffix = { "Спонсор" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/blueshield.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/blueshield.ftl
new file mode 100644
index 0000000000..bee5fff0f3
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/blueshield.ftl
@@ -0,0 +1,12 @@
+ent-LPPBlueshieldlaser = лазерный револьвер офицера "Синий Щит"
+ .desc = Скорострельный лазерный револьвер, стоящий на вооружении всего отряда представителей "Синий щит".
+ .suffix = { "Синий Щит" }
+ent-LPPBlueShieldOfficerPDA = кпк офицера "Синий Щит"
+ .desc = Пахнет защитой.
+ .suffix = { "Синий Щит" }
+ent-LPPBlueShieldOfficerIDCard = ID карта офицера "Синий Щит"
+ .desc = Края острые.
+ .suffix = { "Синий Щит" }
+ent-SpawnLPPBlueShieldOfficer = спавн офицера "Синий Щит"
+ .desc = спавн офицера "Синий Щит"
+ .suffix = { "job Spawn" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/chrono.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/chrono.ftl
new file mode 100644
index 0000000000..84ef34fe9a
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/chrono.ftl
@@ -0,0 +1,6 @@
+ent-ChronoKnife = хроно-нож
+ .desc = "Оружие прошедшее испытание временем, лезвие состоит из неизвестного материала уничтожающее ДНК."
+ .suffix = { "ХРОНО" }
+ent-WeaponLaserChrono = хроно-пистолет
+ .desc = "Пистолет из будущего - для прошлого, одного выстрела хватит чтобы разделить ваши гены на ноль."
+ .suffix = { "ХРОНО" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/ears/headsets.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/ears/headsets.ftl
new file mode 100644
index 0000000000..adcc12e796
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/ears/headsets.ftl
@@ -0,0 +1,2 @@
+ent-ClothingHeadsetLawyer = гарнитура Юриста
+ .desc = Оповещайте экипаж о своих услугах самой глупой рекламой, которую вы только можете придумать.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/hands/Gloves.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/hands/Gloves.ftl
new file mode 100644
index 0000000000..4d9a31d980
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/hands/Gloves.ftl
@@ -0,0 +1,2 @@
+ent-ClothingHandsClownPomni = Перчатки шута
+ .desc = Мягкие перчатки, создающие впечатление, будто полностью обволакивают ваши руки...
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/hands/Rings.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/hands/Rings.ftl
new file mode 100644
index 0000000000..16c1ee4298
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/hands/Rings.ftl
@@ -0,0 +1,19 @@
+ent-ClothingHandsRingPlazma = кольцо с плазмой
+ .desc = Очень элегантное кольцо только истинные ценители моды могут оценить ваше превосходное кольцо, с твердым ионизированным газа по центре. если вы зададите вопрос "Откуда достали твердый плазму", мы скажем - "Потому что". На кольце виднеется торговый марка производителя "brothers S&K - jewelry factory".
+ .suffix = { "" }
+ent-ClothingHandsRingEmerald = кольцо с изумрудом
+ .desc = Золотая классика в мире колец аккуратный, модный и стильный идеальный подарок для любви всей вашей жизни. На кольце виднеется торговый марка производителя "brothers S&K - jewelry factory".
+ .suffix = { "" }
+ent-ClothingHandsRingBlood = кольцо с кровавым алмазом
+ .desc = Кольцо из чистого золота, в центре которого находится красивый алмаз кроваво-красного оттенка. На кольце виднеется торговый марка производителя "brothers S&K - jewelry factory".
+ .suffix = { "" }
+ent-ClothingHandsRingTurk = Кольцо с туркенитом
+ .desc = Красивый кольцо ничем особенным не выделяется, но для своих цен они вполне приемлемы. На кольце виднеется торговый марка производителя "brothers S&K - jewelry factory".
+ .suffix = { "" }
+ent-RingBox = коробка с кольцами
+ .desc = Коробка, дороже чем твоя жизнь.
+ .suffix = { "" }
+
+
+
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/hudglasses.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/hudglasses.ftl
new file mode 100644
index 0000000000..76b36ce8ca
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/hudglasses.ftl
@@ -0,0 +1,13 @@
+ent-LPPBlackHudGlasses-name = солнцезащитные очки с визором
+ .desc = "Чёрно, стильно, информативно."
+ent-LPPBlueHudGlasse-names = синие очки с визором
+ .desc = "Чуть более стильные чем красные, и более навороченные чем обычные."
+ent-LPPRedHudGlasses-name = очки охраны с визором
+ .desc = "Версия очков охраны с визором"
+ent-LPPChemistHudGlasses-name = очки химика
+ .desc = "Шикарные оранжевые очки, используемые для защиты от брызгов химических веществ. Оснащены функцией сканирования реагентов в разных ёмкостях."
+ent-LPPAVDEyeshud-name = визор агента внутренних дел
+ .desc = От этого визора вы не скроетесь от закона
+ent-LPPMagistrateEyeshud-name = визор магистрата
+ .desc = От этого визора вы не скроетесь от закона
+ .suffix = { "Магистрат" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/lpp_pillow.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/lpp_pillow.ftl
new file mode 100644
index 0000000000..1a259d6172
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/lpp_pillow.ftl
@@ -0,0 +1,118 @@
+ent-LPPCalliePillow = Дакимукура Келли
+ .desc = "Малышка Келли!"
+ .suffix = { "" }
+ent-LPPAuroraPillow = Дакимукура Аврора
+ .desc = "Маленькая симпатичная подушечка "Аврора" UwU"
+ .suffix = { "" }
+ent-LPPCamillePillow = Дакимукура Камилла
+ .desc = "Симпатичная подушечка "Камилла""
+ .suffix = { "" }
+ent-LPPCascaPillow = Дакимукура Каска
+ .desc = "Симпатичная подушечка "Каска""
+ .suffix = { "" }
+ent-LPPChaikaPillow = Дакимукура Чайка
+ .desc = "Симпатичная подушечка "Чайка""
+ .suffix = { "" }
+ent-LPPElisabethPillow = Дакимукура Элизабет
+ .desc = "Симпатичная подушечка "Элизабет""
+ .suffix = { "" }
+ent-LPPFoxyGranpaPillow = Дакимукура Дедушка Фокси
+ .desc = "Симпатичная подушечка "Дедушка Фокси" о7"
+ .suffix = { "" }
+ent-LPPHarukoPillow = Дакимукура Харуко
+ .desc = "Симпатичная подушечка "Харуко" OwU"
+ .suffix = { "" }
+ent-LPPHoloPillow = Дакимукура Холо
+ .desc = "Симпатичная подушечка "Холо" >w<"
+ .suffix = { "" }
+ent-LPPIanPillow = Дакимукура Иан
+ .desc = "Симпатичная подушечка "Иан" Гуф"
+ .suffix = { "" }
+ent-LPPImeraPillow = Дакимукура Имера
+ .desc = "Симпатичная подушечка "Имера""
+ .suffix = { "" }
+ent-LPPJolynePillow = Дакимукура Джолин
+ .desc = "Милая подушечка "Джолин""
+ .suffix = { "" }
+ent-LPPKurisuPillow = Дакимукура Курису
+ .desc = "Милая подушечка "Курису" >w<"
+ .suffix = { "" }
+ent-LPPMariePillow = Дакимукура Мария
+ .desc = "Милая подушечка "Мария" Ня!"
+ .suffix = { "" }
+ent-LPPYokoPillow = Дакимукура Йоко
+ .desc = "Милая подушечка "Йоко" O_O"
+ .suffix = { "" }
+ent-LPPMugiPillow = Дакимукура Муги
+ .desc = "Милая подушечка "добрая Муги""
+ .suffix = { "" }
+ent-LPPNagaPillow = Дакимукура Нага
+ .desc = "Милая подушечка "Нага""
+ .suffix = { "" }
+ent-LPPNukiePillow = Дакимукура Синдикат
+ .desc = "Злая подушечка "Синдикат" Я.О."
+ .suffix = { "" }
+ent-LPPPatchouliPillow = Дакимукура Пачули
+ .desc = "Милая подушечка "Пачули" \0/"
+ .suffix = { "" }
+ent-LPPPlutiaPillow = Дакимукура Плутия
+ .desc = "Покрашенная подушечка "Плутия""
+ .suffix = { "" }
+ent-LPPRedPillow = Дакимукура Красный унатх
+ .desc = "Милый подушечка "Красный унатх""
+ .suffix = { "" }
+ent-LPPReiPillow = Дакимукура Аянами Рей
+ .desc = "Милая подушечка "Рей Аянами""
+ .suffix = { "" }
+ent-LPPReisenPillow = Дакимукура Милашка Райзен
+ .desc = "Милая подушечка "Райзен""
+ .suffix = { "" }
+ent-LPPRockerPillow = Дакимукура Музыкант Рокер
+ .desc = "Музыкант подушечка "Рокер""
+ .suffix = { "" }
+ent-LPPSisaPillow = Дакимукура Унатх Сиса
+ .desc = "Милая подушечка "Леди Сиса""
+ .suffix = { "" }
+ent-LPPSlarshaPillow = Дакимукура Унатх Сларша
+ .desc = "Милая Подушечка "Девочка Сларша""
+ .suffix = { "" }
+ent-LPPSquidPillow = Дакимукура Спруд
+ .desc = "Милая подушечка "Девочка Спруд""
+ .suffix = { "" }
+ent-LPPSquigglyPillow = Дакимукура Джин
+ .desc = "Подушечка "Призрак Джин""
+ .suffix = { "" }
+ent-LPPSueBowchiefPillow = Дакимукура Сью вождь
+ .desc = "Милая подушечка "Девочка Сью""
+ .suffix = { "" }
+ent-LPPTomokoPillow = Дакимукура Томоко
+ .desc = "Милая подушечка "девочка Томоко" QwU"
+ .suffix = { "" }
+ent-LPPTorielPillow = Дакимукура Ториэль
+ .desc = "Милая подушечка "Ториэль""
+ .suffix = { "" }
+ent-LPPUmaruPillow = Дакимукура Умару
+ .desc = "Милая подушечка "Девочка аниме Умару""
+ .suffix = { "" }
+ent-LPPYaranaikaPillow = Дакимукура Чистобот
+ .desc = "Подушечка "Чистобот"
+ .suffix = { "" }
+ent-LPPKirravaPillow = Дакимукура Киирава
+ .desc = "Милая подушечка "Киирава""
+ .suffix = { "Личные вещи" }
+ent-LPPNaaLeyPillow = Дакимукура На Леи
+ .desc = "Подушечка "На Леи""
+ .suffix = { "Личные вещи" }
+ent-LPPNarsiePillow = Дакимукура Нар'Си
+ .desc = "Подушечка культиста Нар'Си!"
+ .suffix = { "" }
+ent-LPPDiamuPillow = Дакимукура Диаму
+ .desc = "Подушечка с изображением вульпканинки под именем "Диаму Вандерфолт""
+ .suffix = { "" }
+ent-LPPPillowVendingMachine = автомат с дакимакурами
+ .desc = Раздатчик разных ростовых подушек.
+ .suffix = { "Фан" }
+advertisement-lpppillow-1 = Для одиноких и скучающих!
+advertisement-lpppillow-2 = Обнимашек?
+advertisement-lpppillow-3 = Обнимай меня нежно!
+advertisement-lpppillow-4 = Мягкие как твой характер!
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/magistrate.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/magistrate.ftl
new file mode 100644
index 0000000000..4b2b2145ef
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/magistrate.ftl
@@ -0,0 +1,23 @@
+ent-ClothingHeadsetMagistrate = гарнитура магистрата
+ .desc = гарнитура магистрата
+ .suffix = { "" }
+ent-MagistratePDA = КПК магистрата
+ .desc = Пахнет как в здании суда.
+ .suffix = { "" }
+ent-MagistrateIDCard = ID карта магистрата
+ .desc = ID карта магистрата
+ .suffix = { "" }
+ent-SpawnMagistrate = спавн магистрата
+ .desc = спавн магистрата
+ .suffix = { "job Spawn" }
+ent-RubberStampMagistrate = печать магистрата
+ .desc = Владелец этой печати - Закон.
+ .suffix = { "" }
+ent-LPPJudgesGavel = молоток магистрата
+ .desc = Издаёт звуки справедливости.
+ .suffix = { "Магистрат" }
+stamp-component-stamped-name-magistrate = Магистрат
+
+ent-LPPMagistrateUniform = костюм магистрата
+ .desc = Костюм магистрата, сшитый нановолокнами прямиком из Т.С.Ф.
+ .suffix = { "Магистрат" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/mask/mask.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/mask/mask.ftl
new file mode 100644
index 0000000000..6542329c15
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/mask/mask.ftl
@@ -0,0 +1,2 @@
+ent-LPPclownPomni = Маска шута
+ .desc = Прилегающая к лицу маска заставляет вас ощущать, будто вам хочется вырвать себе глаза...
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/misc/erp.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/misc/erp.ftl
new file mode 100644
index 0000000000..d7b01ed0b6
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/misc/erp.ftl
@@ -0,0 +1,54 @@
+ent-LPPBigGreenButtplug = большая зеленая пробка
+ent-LPPMedGreenButtplug = средняя зеленая пробка
+ent-LPPSmallGreenButtplug = маленькая зеленая пробка
+ent-LPPBigmetalButtplug = большая металлическая пробка
+ent-LPPMedmetalButtplug = средняя металлическая пробка
+ent-LPPSmallmetalButtplug = маленькая металлическая пробка
+ent-LPPBigpinkButtplug = большая розовая пробка
+ent-LPPMedpinkButtplug = средняя розовая пробка
+ent-LPPSmallpinkButtplug = маленькая розовая пробка
+ent-LPPBigtailButtplug = большая хвостовая пробка
+ent-LPPMedtailButtplug = средняя хвостовая пробка
+ent-LPPSmalltailButtplug = маленькая хвостовая пробка
+ent-LPPBigtealButtplug = большая бирюзовая пробка
+ent-LPPMedtealButtplug = средняя бирюзовая пробка
+ent-LPPSmalltealButtplug = маленькая бирюзовая пробка
+ent-LPPBigyellowButtplug = большая желтая пробка
+ent-LPPMedyellowButtplug = средняя желтая пробка
+ent-LPPSmallyellowButtplug = маленькая желтая пробка
+ent-LPPDildoAvian = птичий фаллоимитатор
+ent-LPPDildoCanine = собачий фаллоимитатор
+ent-LPPDildoDouble = двойной фаллоимитатор
+ent-LPPDildoDragon = драконый фаллоимитатор
+ent-LPPDildoEquine = лошадиный фаллоимитатор
+ent-LPPDildoHuman = человеческий фалос
+ent-LPPDildoTentacle = фаллоимитатор в форме щупальца
+ent-LPPPolydildoBig = длинный прозрачный фаллоимитатор
+ent-LPPPolydildoMed = средний прозрачный фаллоимитатор
+ent-LPPPolydildoSmall = маленький прозрачный фаллоимитатор
+ent-LPPMagicwand = вибратор
+ent-LPPVibratorGreen = вибратор зеленый
+ent-LPPVibratorPink = вибратор розовый
+ent-LPPVibratorRed = вибратор красный
+ent-LPPVibratorTeal = вибратор чирок
+ent-LPPVibratorYellow = вибратор желтый
+ent-LPPFleshlightGreen = зеленый мастурбатор
+ent-LPPFleshlightPink = розовый мастурбатор
+ent-LPPFleshlightRed = красный мастурбатор
+ent-LPPFleshlightTeal = бирюзовый мастурбатор
+ent-LPPFleshlightYellow = желтый мастурбатор
+ent-LPPPillowPinkRound = подушка розовая круглая
+ent-LPPPillowTealRound = подушка бирюзовая круглая
+ent-LPPWhips = похотливая плеть
+ .desc = Лучший инструмент для воспитания за всю историю человечества!
+ent-LPPMaskCyan = голубая маска
+ent-LPPMaskPink = розовая маска
+ent-LPPHypnogogglesPink = розовые очки
+ent-LPPHypnogogglesTeal = голубые очки
+ent-ClothingLPPKblindfoldTeal = голубая повязка
+ent-ClothingLPPKblindfoldPink = розовая повязка
+ent-LPPJanimaid = свободный костюм горничной
+ent-LPPLatexCatsuitMale = латексный костюм
+ent-LPPLewdmaid = костюм пошлой горничной
+ent-LPPErpMachine = ВесельеМат
+ .desc = Если надо поразвлечься - поскорее опробуй ты услуг товаров наших!
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/misc/lpp_summer.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/misc/lpp_summer.ftl
new file mode 100644
index 0000000000..1ec230e49f
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/misc/lpp_summer.ftl
@@ -0,0 +1,58 @@
+ent-LPPBikinisBlack = Черные бикини
+ .desc = "Стильно для женщин на пляже ходить в Бикини"
+ .suffix = { "" }
+ent-LPPBikinisCyan = Синие бикини
+ .desc = "Стильно для женщин на пляже ходить в Бикини"
+ .suffix = { "" }
+
+ent-LPPBikinisGreen = Зеленые бикини
+ .desc = "Стильно для женщин на пляже ходить в Бикини"
+ .suffix = { "" }
+ent-LPPBikinisLatex = Латексные бикини
+ .desc = "Стильно для женщин на пляже ходить в Бикини"
+ .suffix = { "" }
+ent-LPPBikinisOrange = Оранжевые бикини
+ .desc = "Стильно для женщин на пляже ходить в Бикини"
+ .suffix = { "" }
+ent-LPPBikinisPurple = Фиолетовые бикини
+ .desc = "Стильно для женщин на пляже ходить в Бикини"
+ .suffix = { "" }
+ent-LPPBikinisRed = Красные бикини
+ .desc = "Стильно для женщин на пляже ходить в Бикини"
+ .suffix = { "" }
+ent-LPPBikinisTealblack = Бирюзово-черные Бикини
+ .desc = "Стильно для женщин на пляже ходить в Бикини"
+ .suffix = { "" }
+ent-LPPBikinisWhite = Белые бикини
+ .desc = "Стильно для женщин на пляже ходить в Бикини"
+ .suffix = { "" }
+ent-LPPBikinisYellow = Желтые бикини
+ .desc = "Стильно для женщин на пляже ходить в Бикини"
+ .suffix = { "" }
+ent-LPPSwimmingTrunksBlack = Черные плавки
+ .desc = "Стильно для мужыков на пляже ходить в Плавках"
+ .suffix = { "" }
+ent-LPPSwimmingTrunksCyan = Голубые плавки
+ .desc = "Стильно для мужыков на пляже ходить в Плавках"
+ .suffix = { "" }
+ent-LPPSwimmingTrunksGreen = Зеленые плавки
+ .desc = "Стильно для мужыков на пляже ходить в Плавках"
+ .suffix = { "" }
+ent-LPPSwimmingTrunksRed = Красные плавки
+ .desc = "Стильно для мужыков на пляже ходить в Плавках"
+ .suffix = { "" }
+ent-LPPSwimmingTrunksOrange = Оранжевые плавки
+ .desc = "Стильно для мужыков на пляже ходить в Плавках"
+ .suffix = { "" }
+ent-LPPSwimmingTrunksWhite = Белые плавки
+ .desc = "Стильно для мужыков на пляже ходить в Плавках"
+ .suffix = { "" }
+ent-LPPSwimmingTrunksTurquoise = Бирюзовые плавки
+ .desc = "Стильно для мужыков на пляже ходить в Плавках"
+ .suffix = { "" }
+ent-LPPSwimmingTrunksYellow = Желтые плавки
+ .desc = "Стильно для мужыков на пляже ходить в Плавках"
+ .suffix = { "" }
+ent-LPPBeachVendingMachine = Пляжмат
+ .desc = "автомат который украшает вид покупателям и делает их красивыми!"
+ .suffix = { "" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/misc/tailLPP.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/misc/tailLPP.ftl
new file mode 100644
index 0000000000..5cee96efc3
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/misc/tailLPP.ftl
@@ -0,0 +1,8 @@
+ent-LPPClothingBackpackSatchel = сумка на хвост
+ent-LPPClothingBackpackHydroponics = сумка ботаника на хвост
+ent-LPPClothingBackpackScience = сумка РНД на хвост
+ent-LPPClothingBackpackEngineering = сумка инженера на хвост
+ent-LPPClothingBackpackMedical = сумка медика на хвост
+ent-LPPClothingBackpackSalvage = сумка утиля на хвост
+ent-LPPClothingBackpackSecurity = сумка СБ на хвост
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/neck/cloaks.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/neck/cloaks.ftl
new file mode 100644
index 0000000000..27a1cf93c4
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/neck/cloaks.ftl
@@ -0,0 +1,46 @@
+ent-LPPClothingNeckCloakBlueshield = плащ офицера "Синий Щит"
+ .desc = Им можно прикрыть тех, кто действительно нуждается в защите. "P.S: представители рабочего класса станции не входят в их число".
+ .suffix = { "Синий Щит" }
+
+ent-LPPengineerscloak = Инженерный Плащ
+ .desc = Великолепный инженерный плащ, ходят слухи что он защищает от огня, иди и протестируй это!
+ .suffix = { "Спонсор" }
+
+ent-LPPsecuritycloak = Плащ Охраны
+ .desc = Служба Безопасности, сила!
+ .suffix = { "Спонсор" }
+
+ent-LPPScientificcloak = Научный Плащ
+ .desc = На этом плаще видны следы всех научных историй станции. Вы не станите исключением.
+ .suffix = { "Спонсор" }
+
+ent-LPPClothingHeadHatHoodScientificCloak = Капюшон Научного Плаща
+ .desc = Капюшон научного плаща.
+
+ent-LPPmedicalcloak = Медицинский Плащ
+ .desc = Только лучшие докторы заслуживают носить этот плащ, вы точно исключение.
+ .suffix = { "Спонсор" }
+
+ent-LPPPBLCORPcloak = Плащ BL CORP
+ .desc = Плащ сделанный из очень прочных материалов для специальных сил.
+ .suffix = { "Личные вещи" }
+
+ent-LPPCargocloak = Плащ Отдела Поставок
+ .desc = Ты совершил больше экспедиций ради этого плаща чем можешь сосчитать.
+ .suffix = { "Спонсор" }
+
+ent-LPParbitercloak = Плащ Арбитра
+ .desc = Дорогой плащ неизвестной фирмы с меховым воротником. Мягкий мех и шелк высочайшего качества. Между нитями видно золото. Роскошь.
+ .suffix = { "Личные вещи" }
+
+ent-LPPClothingNeckCloakHosCAS = Плащ CAS
+ .desc = Красивый чёрно-белый плащ.
+ .suffix = { "Спонсор" }
+
+ent-LPPClothingNeckCloakKyburka = Плащ раздора
+ .desc = Чёрный плащ с фиолетовыми линиями.
+ .suffix = { "Личные вещи, Кубурка" }
+
+ent-LPPClothingNeckCloak1Kyburka = Плащ перемирия
+ .desc = Белый плащ с фиолетовыми линиями.
+ .suffix = { "Личные вещи, Кубурка" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/neck/misc.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/neck/misc.ftl
new file mode 100644
index 0000000000..2ce12b8387
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/neck/misc.ftl
@@ -0,0 +1,6 @@
+ent-LPPClothingNeckNeckerchiefGreen = зелёный шейный платок
+.desc = Для тех, кто в поиске отношений.
+ent-LPPClothingNeckNeckerchiefPurple = пурпурный шейный платок
+.desc = Для тех, кто готов к оношениям без обязательств.
+ent-LPPClothingNeckNeckerchiefRed = алый шейный платок
+.desc = Как знак для тех, кто не хочет отношений.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/neck/scarfs.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/neck/scarfs.ftl
new file mode 100644
index 0000000000..c4142cb313
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/neck/scarfs.ftl
@@ -0,0 +1,2 @@
+ent-LPPClothingWindyScarf = Ветреный шарф
+ .desc = Реквезит для киноиндустрии и театральных представлений. Является прекрасным примером безопасности использования Блюспейс технологий.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/armor.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/armor.ftl
new file mode 100644
index 0000000000..23d2e7ae97
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/armor.ftl
@@ -0,0 +1,3 @@
+ent-LPPClothingOuterArmorBlueshield = бронежилет офицера "Синий Щит"
+ .desc = Бронированный нагрудник, обеспечивающий защиту и в то же время обеспечивающий максимальную мобильность и гибкость. Выдается только лучшим на станции.
+ .suffix = { "Синий Щит" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/coats.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/coats.ftl
new file mode 100644
index 0000000000..8bb7e3d03c
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/coats.ftl
@@ -0,0 +1,14 @@
+ent-LPPClothingOuterCoatBomber1 = Курточка
+ .desc = Довольно красивая и стильная курточка
+
+ent-LPPClothingOuterCoatBomber2 = Курточка
+ .desc = Довольно красивая и стильная курточка
+
+ent-LPPClothingOuterCoatBomber3 = Курточка
+ .desc = Довольно красивая и стильная курточка
+
+ent-LPPClothingOuterCoatBomber4 = Курточка
+ .desc = Довольно красивая и стильная курточка
+
+ent-LPPClothingOuterCoatBomber5 = Курточка
+ .desc = Довольно красивая и стильная курточка
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/hardsuits.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/hardsuits.ftl
new file mode 100644
index 0000000000..6aeb75ae5d
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/hardsuits.ftl
@@ -0,0 +1,19 @@
+ent-LPPHardsuitAssaultParamedic = Скафандр штурмового парамедика
+ .desc = Защитный скафандр, используемый штурмовыми парамедиками в спасательных операциях. Произведен корпорацией Paradise inc совместно с Nanotrasen в рамках контракта по улучшению здравоохранения сотрудников NT.
+ent-LPPHardsuitHelmetAssaultParamedic = Шлем cкафандра штурмового парамедика
+ent-LPPHardsuitSuppressor = Улучшенная силовая броня
+ .desc = Улучшенная силовая броня созданная корпорацией Red Metal Machine совместно с NanoTrasen для нового поколения космодесанта ТСФ.Очень дорогой, очень тяжелый, очень робастный.
+ent-LPPHardsuitHelmetSuppressor = Шлем улучшенной силовой брони
+ent-ClothingOuterHardsuitSWAT = cкафандр подавителя беспорядков.
+ .desc = Специальный скафандр службы безопасности, защищаюший от опасной среды с низким давлением.Имеет инновационный дополнительный слой брони, используется офицерами сдерживания.
+ent-LPPArmorMovement = Силовая броня
+ .desc = Костюм, защищающий от опасных сред с низким давлением.
+ .suffix = { "силовая броня" }
+ent-LPPClothingOuterHardsuitBlueshield = скафандр офицера "Синий Щит"
+ .desc = Воронёный скафандр офицера "Синий Щит".
+ .suffix = { "Синий Щит" }
+ent-ClothingOuterHardsuitChrono = cкафандр Хроно-Легионера
+ .desc = "Это в какой раз уже?"
+ .suffix = { "ХРОНО" }
+ent-LPPClothingOuterHardsuitPilotSecurity = Скафандр пилота службы безопасности
+ .desc = "Я получил скафандр который и не снился моему отцу..."
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/suits.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/suits.ftl
new file mode 100644
index 0000000000..8ead92432e
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/outerclothing/suits.ftl
@@ -0,0 +1,8 @@
+ent-LPPClothingOuterCoatLabSec = лабораторный халат СБ с бронежилетом
+ .desc = Костюм, защищающий от незначительных разливов химикатов и пуль. Имеет красную полосу на плече.
+ .suffix = { "" }
+ent-LPPKilt = килт
+ .desc = Кто сказал, что юбки только для женщин?
+ent-LPPClothingOuterCoatHoSTrenchCAS = Тренч CAS
+ .desc = Чёрно-белый тренч.
+ .suffix = { "Спонсор" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/boots.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/boots.ftl
new file mode 100644
index 0000000000..3c862e687b
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/boots.ftl
@@ -0,0 +1,7 @@
+ent-LPPGlowShoes = светящиеся кроссовки
+ent-LPPIceboots = зимние ботинки
+ent-LPPRainBow = радужные кроссовки
+ent-LPPSwagShoes = swag кроссовки
+ent-LPPWhiteShoes = белые туфли
+ent-LPPClothingShoesClownPomni = Ботинки шута
+ .desc = Такие приятные ботинки с мягкой подкладкой внутри, что заставляет вас чувствовать, что ваши ноги закованы в них...
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/magboots.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/magboots.ftl
new file mode 100644
index 0000000000..4c26b0e6f6
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/magboots.ftl
@@ -0,0 +1,6 @@
+ent-LPPClothingShoesBootsMagAtmos = магнитные ботинки атмоса
+ .desc = Лучше чем обычные, чтобы было легче работать с газами.
+ .suffix = { "атмоса" }
+ent-LPPClothingShoesBootsMagParamed = магнитные ботинки парамеда
+ .desc = Более удобная версия сделанная специально для парамедиков.
+ .suffix = { "парамеда" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/misc.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/misc.ftl
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/specific.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/specific.ftl
new file mode 100644
index 0000000000..4f933dc42e
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/shoes/specific.ftl
@@ -0,0 +1,6 @@
+ent-LPPClothingShoesPowerBoots = Силовые ботинки
+ .desc = Часть силовой брони.
+ .suffix = { "силовая броня" }
+ent-LPPUnathiWraps = обмотки для ног
+ .desc = "Этим пользуются унатхи вместо обуви."
+ .suffix = { "" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/specialcloth.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/specialcloth.ftl
new file mode 100644
index 0000000000..f0bb5e5ca2
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/specialcloth.ftl
@@ -0,0 +1,7 @@
+ent-LPPArbiterclothing = Костюм Арбитра
+ .desc = Дорогостоящий костюм неизвестной корпорации. Искусная работа и инкрустированное золото в нити. Роскошь.
+ .suffix = { "Личные вещи" }
+
+ent-arbitermask = Трофейная маска Черной Тишины.
+ .desc = Трофейная маска известного охотника. Источает отчаяние.
+ .suffix = { "Личные вещи" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/stamp-deny-LPP.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/stamp-deny-LPP.ftl
new file mode 100644
index 0000000000..3fd96effd7
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/stamp-deny-LPP.ftl
@@ -0,0 +1,4 @@
+ent-LPPStampDeny = печать "прошу доработать документ"
+ .desc = Пластиковая печать квадратной формы.
+ .suffix = { "Фан" }
+stamp-component-stamped-name-lppdeny = Хуйня. Переделывай.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/uniforms/jumpskirts.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/uniforms/jumpskirts.ftl
new file mode 100644
index 0000000000..f4bab2c886
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/uniforms/jumpskirts.ftl
@@ -0,0 +1,27 @@
+ent-ClothingUniformJumpskirtAdjutant = костюм адьютанта
+ .desc = Что то среднее между Главой Персонала и старшеклассницей.
+ .suffix = { "Адьютант" }
+ent-LPPSchoolgirlred = костюм ученицы
+ .desc = Вспомним школьные годы?
+ .suffix = { "Красный" }
+ent-LPPSchoolgirlorange = костюм ученицы
+ .desc = Вспомним школьные годы?
+ .suffix = { "Оранжевый" }
+ent-LPPSchoolgirl = костюм ученицы
+ .desc = Вспомним школьные годы?
+ .suffix = { "Синий" }
+ent-LPPSchoolgirlgreen = костюм ученицы
+ .desc = Вспомним школьные годы?
+ .suffix = { "Зеленый" }
+ent-LPPDraculass = темное свободное платье
+ .desc = Для тех, кто любит посвободнее.
+ent-LPPMaid = костюм горничной капитана
+ .desc = Вы готовы к заммуррчательным делам!
+ent-LPPPomniJumpskirt = Одежда шута
+ .desc = Большой, будто надутый в некоторых местах, костюм заставляет вас чувствовать, что вы будто связаны с ним...
+ent-LPPClothingUniformJumpskirtAltWhiteTopic = Тонкий белый топик с юбкой
+ .desc = Вещи, что не сковывают движения и подчёркивают вашу красоту!
+ .suffix = { "Спонсор" }
+ent-LPPClothingUniformJumpskirtWhiteTopic = Белый топик с юбкой
+ .desc = Вещи, что не сковывают движения и подчёркивают вашу красоту!
+ .suffix = { "Спонсор" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/uniforms/jumpsuits.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/uniforms/jumpsuits.ftl
new file mode 100644
index 0000000000..df0a5d07f6
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/uniforms/jumpsuits.ftl
@@ -0,0 +1,33 @@
+ent-ClothingUniformJumpsuitAdjutant = костюм адьютанта
+ .desc = Что то среднее между Главой Персонала и старшеклассником.
+ .suffix = { "Адьютант" }
+ent-LPPClothingUniformJumpsuitBlueshield = костюм офицера "Синий Щит"
+ .desc = Это костюм человека высокого ранга.
+ .suffix = { "Синий Щит" }
+ent-LPPDeckerJumpsuit = светящийся костюм
+ .desc = Даже в самую темную ночь вы будете блистательны!
+ent-LPPDrfreeze = костюм фриз
+ .desc = С обратной стороны, на холодной этикетке кровью выписаны следующие слова: "Не держать на солнце".
+ent-LPPSwagOutfit = костюм SWAG
+ .desc = Посвэгуем!
+ent-LPPIAASuite = костюм агента внутренних дел
+ .desc = Костюм агента внутренних дел, сшитый нановолокнами в специально-отобранный цвет компанией NanoTrasen.
+ent-LPPCamogreen = костюм камуфляж
+ent-LPPRusUnder = военный костюм
+ent-LPPClothingUniformJumpsuitHoSAltCASMale = Униформа CAS
+ .desc = Чёрно-белая водолазка.
+ .suffix = { "Спонсор" }
+ent-LPPClothingUniformWhiteBeachSkirt = Белая тонкая рубашка
+ .desc = Настолько тонка, что просвечивает ваше тело!
+ent-LPPClothingUniformBlackBeachSkirt = Чёрная тонкая рубашка
+ .desc = Настолько тонка, что просвечивает ваше тело!
+ent-LPPClothingUniformRedTracksuit = Красный спортивный костюм
+ .desc = Погодите, на нём три полоски?
+ent-LPPClothingUniformGreenTracksuit = Зелёный спортивный костюм
+ .desc = Погодите, на нём три полоски?
+ent-LPPClothingUniformBlueTracksuit = Синий спортивный костюм
+ .desc = Погодите, на нём три полоски?
+ent-LPPClothingUniformBlackTracksuit = Чёрный спортивный костюм
+ .desc = Погодите, на нём три полоски?
+ent-LPPClothingUniformLaceRobe = Кружевная мантия
+ .desc = лёгкое платье, с вышивными узорами, которое закрепляется при помощи пояса.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/uniforms/species.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/uniforms/species.ftl
new file mode 100644
index 0000000000..8cade1507e
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/clothing/uniforms/species.ftl
@@ -0,0 +1,108 @@
+#---------------------------------------
+# атмосферного
+ent-LPPAtmosBlackSkirt = Стильная юбка атмосферного техника
+ent-LPPAtmostechjean = Джинсовка атмосферного техника
+ent-LPPGorkaAtmos = Горка атмосферного техника
+ent-LPPGorkaWithReflectorsAtmos = Горка с отражателями атмосферного техника
+ent-LPPQmcAtmos = Qmc атмосферного техника
+ent-LPPQmsyndAtmos = Qmsynd атмосферного техника
+ent-LPPSkirtleneckAtmos = Водолазка с юбкой атмосферного техника
+ent-LPPSkirtleneckQMAtmos = Водолазка QM с юбкой атмосферного техника
+ent-LPPSupplyChiefAtmos = Рубашка атмосферного техника
+ent-LPPSupplyChiefSkirtAtmos = Рубашка с юбкой атмосферного техника
+ent-LPPTurtleneckQmAtmos = Водолазка QM атмосферного техника
+ent-LPPUtilAtmos = Черная рубашка атмосферного техника
+
+#---------------------------------------
+# инженера
+ent-LPPEngiBlackSkirt = Стильная юбка инженера
+ent-LPPEngiTechjean = Джинсовка инженера
+ent-LPPGorkaEngi = Горка инженера
+ent-LPPGorkaWithReflectorsEngi = Горка с отражателями инженера
+ent-LPPQmcEngi = Qmc инженера
+ent-LPPQmsyndEngi = Qmsynd инженера
+ent-LPPSkirtleneckEngi = Водолазка с юбкой инженера
+ent-LPPSkirtleneckQMEngi = Водолазка QM с юбкой инженера
+ent-LPPSupplyChiefEngi = рубашка инженера
+ent-LPPSupplyChiefSkirtEngi = рубашка с юбкой инженера
+ent-LPPTurtleneckQmEngi = Водолазка QM инженера
+ent-LPPUtilEngi = Водолазка QM инженера
+
+#---------------------------------------
+# грузчика
+ent-LPPCargoBlackSkirt = Стильная юбка грузчика
+ent-LPPCargotechjean = Джинсовка грузчика
+ent-LPPGorkaCargo = Горка грузчика
+ent-LPPGorkaCargoVarg = Горка с отражателями грузчика
+ent-LPPQmcCargo = Qmc грузчика
+ent-LPPQmsyndCargo = Qmsynd грузчика
+ent-LPPSkirtleneckCargo = Водолазка с юбкой грузчика
+ent-LPPSkirtleneckQMCargo = Водолазка QM с юбкой грузчика
+ent-LPPSupplyChiefCargo = Рубашка грузчика
+ent-LPPSupplyChiefSkirtCargo = Рубашка с юбкой грузчика
+ent-LPPTurtleneckQmCargo = Водолазка QM грузчика
+ent-LPPUtilCargo = Черная рубашка грузчика
+ent-LPPClothingUniformDressWedding = Свадебное платье
+ .desc = Горько!
+ent-LPPClothingUniformDressTango = Платье для танго
+ .desc = Смотрите под ноги.
+
+
+#---------------------------------------
+# СБ
+ent-LPPSecBlackSkirt = Стильная юбка СБ
+ent-LPPSectechjean = Джинсовка СБ
+ent-LPPGorkaSec = Горка СБ
+ent-LPPGorkaSecVarg = Горка с отражателями СБ
+ent-LPPQmcSec = Qmc СБ
+ent-LPPQmsyndSec = Qmsynd СБ
+ent-LPPSkirtleneckSec = Водолазка с юбкой СБ
+ent-LPPSkirtleneckQMSec = Водолазка с юбкой СБ
+ent-LPPSupplyChiefSec = Рубашка СБ
+ent-LPPSupplyChiefSkirtSec = Рубашка с юбкой СБ
+ent-LPPTurtleneckQmSec = Водолазка СБ
+ent-LPPUtilSec = Черная рубашка СБ
+ent-LPPTacticoolSec = спортивка СБ
+
+#---------------------------------------
+# МЕД
+ent-LPPMedicBlackSkirt = Стильная юбка Медика
+ent-LPPMedictechjean = Джинсовка Медика
+ent-LPPGorkaMedic = Горка Медика
+ent-LPPGorkaMedicVarg = Горка с отражателями Медика
+ent-LPPQmcMedic = Qmc Медика
+ent-LPPQmsyndMedic = Qmsynd Медика
+ent-LPPSkirtleneckMedic = Водолазка с юбкой Медика
+ent-LPPSkirtleneckQMMedic = Водолазка с юбкой Медика
+ent-LPPSupplyChiefMedic = Рубашка Медика
+ent-LPPSupplyChiefSkirtMedic = Рубашка с юбкой Медика
+ent-LPPTurtleneckQmMedic = Водолазка Медика
+ent-LPPUtilMedic = Черная рубашка Медика
+ent-LPPGorkaVirology = Горка Вирусолог
+ent-LPPGorkaVirologyVarg = Горка с отражателями Вирусолог
+ent-LPPQmcVirology = QMC Вирусолога
+ent-LPPQmcSyndVirology = QMC Вирусолога Синдиката
+ent-LPPSkirtleneckVirology = Водолазка с юбкой Вирусолога
+ent-LPPSkirtleneckVirologyQM = Водолазка с юбкой Вирусолога
+ent-LPPSupplyChiefVirology = Рубашка Вирусолога
+ent-LPPSupplyChiefSkirtVirology = Рубашка с юбкой Вирусолога
+ent-LPPTurtleneckQM = Водолазка Вирусолога
+ent-LPPUtilVirology = Черная рубашка Вирусолога
+ent-LPPVirologyBlackSkirt = Стильная юбка Вирусолога
+ent-LPPVirologyTechjean = Джинсовка Вирусолога
+ent-LPPMedicBlackSkirt2 = Стильная юбка Вирусолога
+
+#---------------------------------------
+# РНД
+ent-LPPRndBlackSkirt = Стильная юбка РНД
+ent-LPPRndtechjean = Джинсовка РНД
+ent-LPPGorkaRnd = Горка РНД
+ent-LPPGorkaRndVarg = Горка с отражателями РНД
+ent-LPPQmcRnd = Qmc РНД
+ent-LPPQmsyndRnd = Qmsynd РНД
+ent-LPPSkirtleneckRnd = Водолазка с юбкой РНД
+ent-LPPSkirtleneckQMRnd = Водолазка с юбкой РНД
+ent-LPPSupplyChiefRnd = Рубашка РНД
+ent-LPPSupplyChiefSkirtRnd = Рубашка с юбкой РНД
+ent-LPPTurtleneckQmRnd = Водолазка РНД
+ent-LPPUtilRnd = Черная рубашка РНД
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/markers/spawners/jobs.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/markers/spawners/jobs.ftl
new file mode 100644
index 0000000000..2f09fea068
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/markers/spawners/jobs.ftl
@@ -0,0 +1,9 @@
+ent-LPPSpawnPointPrisoner = спавнер заключённого
+ .desc = { ent-SpawnPointJobBase.desc }
+ent-LPPSpawnPointLawyer = спавнер адвоката
+ .desc = { ent-SpawnPointJobBase.desc }
+ent-LPPSpawnPointVirologist = спавнер вирусолога
+ .desc = { ent-SpawnPointJobBase.desc }
+ent-SpawnLPPParamdedic = спавн парамедика
+ .desc = { ent-SpawnPointJobBase.desc }
+ .suffix = { "job Spawn" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/markers/spawners/mobs.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/markers/spawners/mobs.ftl
new file mode 100644
index 0000000000..1d1b2b2c44
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/markers/spawners/mobs.ftl
@@ -0,0 +1 @@
+ent-LPPSpawnMobPossumPoppy = спавнер опоссум Поппи
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/markers/spawners/random/double.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/markers/spawners/random/double.ftl
new file mode 100644
index 0000000000..a3e8a51a63
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/markers/spawners/random/double.ftl
@@ -0,0 +1,2 @@
+ent-LPPDoubleBedsheetSpawner = спавнер случайное двойное одеяло
+ .desc = { ent-MarkerBase.desc }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/materials.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/materials.ftl
new file mode 100644
index 0000000000..1f4842908e
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/materials.ftl
@@ -0,0 +1,41 @@
+
+#титановое стекло
+ent-SheetTitaniumGlass1 = титановое стекло
+ .suffix = 1
+ .desc = Лист армированного стекла, твердость которого была достигнута благодаря титановой оправе.
+ent-SheetTitaniumGlass10 = титановое стекло
+ .suffix = 10
+ .desc = { ent-SheetTitaniumGlass1.desc }
+ent-MaterialTitaniumGlass = титановое стекло
+ .suffix = Полный
+ .desc = { ent-SheetTitaniumGlass1.desc }
+#титан
+ent-SheetTitanium1 = титан
+ .suffix = 1
+ .desc = { ent-SheetMetalBase.desc }
+ent-SheetTitanium10 = титан
+ .suffix = 10
+ .desc = { ent-SheetMetalBase.desc }
+ent-SheetTitanium = титан
+ .suffix = Полный
+ .desc = { ent-SheetMetalBase.desc }
+#пластитановое стекло
+ent-SheetPlasTitaniumGlass1 = пластитановое стекло
+ .suffix = 1
+ .desc = { ent-SheetTitaniumGlass1.desc }
+ent-SheetPlasTitaniumGlass10 = пластитановое стекло
+ .suffix = 10
+ .desc = { ent-SheetTitaniumGlass1.desc }
+ent-MaterialPlasTitaniumGlass = пластитановое стекло
+ .suffix = Полный
+ .desc = { ent-SheetTitaniumGlass1.desc }
+#пластитан
+ent-SheetPlastitanium1 = пластитан
+ .suffix = 1
+ .desc = { ent-SheetMetalBase.desc }
+ent-SheetPlastitanium10 = пластитан
+ .suffix = 10
+ .desc = { ent-SheetMetalBase.desc }
+ent-SheetPlastitanium = пластитан
+ .suffix = Полный
+ .desc = { ent-SheetMetalBase.desc }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/ipcAntenna.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/ipcAntenna.ftl
new file mode 100644
index 0000000000..8e9728e3c1
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/ipcAntenna.ftl
@@ -0,0 +1,12 @@
+marking-LPPRobotAntennaTv = Tv
+marking-LPPIPCAntennaTesla = Тесла
+marking-LPPIPCAntennaLightb = Свет (alt)
+marking-LPPIPCAntennaLight = Свет
+marking-LPPIPCAntennaCyberHead = Кибер
+marking-LPPIPCAntennaSideLight = Боковые огни
+marking-LPPIPCAntennaAntlers = Рога
+marking-LPPIPCAntennaDroneeyes = Глаза дрона
+marking-LPPIPCAntennaCrowned = Коронованный
+marking-LPPIPCAntennaTowers = Башни
+marking-LPPIPCAntennaLizard = Рога (Унатх)
+marking-LPPIPCAntennaShortLizard = Короткие рога (Унатх)
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/ipcParts.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/ipcParts.ftl
new file mode 100644
index 0000000000..b02aa04c70
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/ipcParts.ftl
@@ -0,0 +1,12 @@
+marking-LPPIPCBaseChestFemale = Стандартная грудь (Женская)
+marking-LPPIPCBaseChestFemaleAlt = Стандартная грудь (Женская, Альт)
+marking-LPPIPCBaseChestMale = Стандартная грудь (Мужская)
+marking-LPPIPCBaseLArm = Стандартная рука (Левая)
+marking-LPPIPCBaseRArm = Стандартная рука (Правая)
+marking-LPPIPCBaseRHand = Стандартная кисть (Правая)
+marking-LPPIPCBaseLHand = Стандартная кисть (Левая)
+marking-LPPIPCBaseRLeg = Стандартная нога (Правая)
+marking-LPPIPCBaseLLeg = Стандартная нога (Левая)
+marking-LPPIPCBaseRFoot = Стандартная стопа (Правая)
+marking-LPPIPCBaseLFoot = Стандартная стопа (Левая)
+marking-LPPIPCBaseHead = Стандартная голова
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/ipcScreens.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/ipcScreens.ftl
new file mode 100644
index 0000000000..e13928d664
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/ipcScreens.ftl
@@ -0,0 +1,30 @@
+marking-LPPIPCFaceBlueS = Синий
+marking-LPPIPCFaceConsoleS = Консоль
+marking-LPPIPCFaceGogglesS = Защитник
+marking-LPPIPCFaceEightS = Восмёрка
+marking-LPPIPCFaceGolGliderS = Планер
+marking-LPPIPCFaceGreenS = Зелёный
+marking-LPPIPCFaceHeartS = Сердце
+marking-LPPIPCFaceLumiEyes = Глаза Луми
+marking-LPPIPCFaceMelody = Мелодия
+marking-LPPIPCFaceLumiWaitingS = Ожидание
+marking-LPPIPCFaceMonoeye = Моноглаз
+marking-LPPIPCFaceSpark = Искры
+marking-LPPIPCFaceGolMime = Мим
+marking-LPPIPCFaceOrangeHespAltS = Оранжевый (Альт)
+marking-LPPIPCFaceOrangeS = Оранжевый
+marking-LPPIPCFacePinkHespAltS = Розовый (Альт)
+marking-LPPIPCFacePinkS = Розовый
+marking-LPPIPCFaceRainbowS = Радужый
+marking-LPPIPCFaceRedS = Красный
+marking-LPPIPCFaceRgbHespAltS = Радужый (Альт)
+marking-LPPIPCFaceScrollHespAltS = Перемотка (Альт)
+marking-LPPIPCFaceScrollS = Перемотка
+marking-LPPIPCFaceShowerS = Снег
+marking-LPPIPCFaceSmokingS = Сигарета
+marking-LPPIPCFaceEyes = Глаза
+marking-LPPIPCFaceEyeStall = Глаза (Альт)
+marking-LPPIPCFaceLoading = Загрузка
+
+
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/lppmarkings.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/lppmarkings.ftl
new file mode 100644
index 0000000000..5a47e143ce
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/customization/markings/lppmarkings.ftl
@@ -0,0 +1,114 @@
+marking-LPPEyesBiggerSclera = Конъюнктива (Склера)
+marking-LPPEyesLargeSclera = Длинная конъюнктива
+marking-LPPEyesEyelash = Ресницы
+marking-LPPAnimeEyes = Длинная роговица
+marking-LPPSnoutBig = Большая морда
+marking-LPPSnoutBig-snout_big = Большая морда
+marking-LPPSnoutLong = Длинная морда
+marking-LPPSnoutLong-snout_long = Длинная морда
+marking-LPPSnoutLong2 = Очень длинная морда
+marking-LPPSnoutLong2-snout_long2 = Очень длинная морда
+marking-LPPSnoutShort = Короткая морда
+marking-LPPSnoutShort-snout_short = Короткая морда
+marking-LPPTorsoBreastBig = Грудь (большая)
+marking-LPPTorsoBreastBig-torso_breast_big = Грудь (большая)
+marking-LPPTorsoBreastFlat = Грудь (маленькая)
+marking-LPPTorsoBreastFlat-torso_breast_flat = Грудь (маленькая)
+marking-LPPBodyPlatesCroc = Крокодилоподобная брюшная чешуя
+marking-LPPBodyPlatesCroc-body_plates_croc = Крокодилоподобная брюшная чешуя
+marking-LPPBodyPlatesScales = Брюшная чешуя
+marking-LPPBodyPlatesScales-body_plates_scales = Брюшная чешуя
+marking-LPPBodyPlatesSnake = Змеиноподобная брюшная чешуя
+marking-LPPBodyPlatesSnake-body_plates_snake = Змеиноподобная брюшная чешуя
+marking-LPPBodyPlatesAsymetric = Ассиметричная спинная чешуя
+marking-LPPBodyPlatesHeavy = Тяжёлая спинная чешуя
+marking-LPPBodyPlatesAsymetric-body_plates_asymetric = Ассиметричная спинная чешуя
+marking-LPPBodyPlatesHeavy-body_plates_heavy = Тяжёлая спинная чешуя
+marking-LPPBodyPlatesHeavySymetric = Симметричная тяжёлая спинная чешуя
+marking-LPPBodyPlatesHeavySymetric-body_plates_heavy_symetric = Симметричная тяжёлая спинная чешуя
+marking-LPPBodyPlatesHips = Бедренные чешуйки
+marking-LPPBodyPlatesHips-body_plates_hips = Бедренные чешуйки
+marking-LPPBodyPlatesSymetric = Симметричная спинная чешуя
+marking-LPPBodyPlatesSymetric-body_plates_symetric = Симметричная спинная чешуя
+marking-LPPTorsoFSecondColour = Брюхо
+marking-LPPTorsoFSecondColour-torso_f_second_colour = Брюхо
+marking-LPPTorsoMSecondColour = Брюхо
+marking-LPPTorsoMSecondColour-torso_m_second_colour = Брюхо
+marking-LPPTorsoThirdColour = Спина
+marking-LPPTorsoThirdColour-torso_third_colour = Спина
+marking-LPPEarDevoted = Вислоухие уши
+marking-LPPEarDevoted-ear_devoted = Вислоухие уши
+marking-LPPEarPointed = Заостренные уши
+marking-LPPEarPointed-ear_pointed = Заостренные уши
+marking-LPPEarRaised = Поднятые уши
+marking-LPPEarRaised-ear_raised = Поднятые уши
+marking-LPPEarSimple = Простые уши
+marking-LPPEarSimple-ear_simple = Простые уши
+marking-LPPEarSticking = Прямые уши
+marking-LPPEarSticking-ear_sticking = Прямые уши
+marking-LPPHeadLilis = Ромбовидные полосы
+marking-LPPHeadLilis-head_lilis = Ромбовидные полосы
+marking-LPPHeadSpots = Пятнистый узор
+marking-LPPHeadSpots-head_spots = Пятнистый узор
+marking-LPPHeadPlateFront = Чешуя (спереди)
+marking-LPPHeadPlateFront-head_plate_front = Чешуя (спереди)
+marking-LPPHeadPlateScales = Чешуя (щечки)
+marking-LPPHeadPlateScales-head_plate_scales = Чешуя (щечки)
+marking-LPPHeadPlateAsymetric = Чешуя ассиметричная
+marking-LPPHeadPlateAsymetric-head_plate_asymetric = Чешуя ассиметричная
+marking-LPPHeadPlateHeavyAsymetric = Тяжёлая ассиметричная чешуя
+marking-LPPHeadPlateHeavyAsymetric-head_plate_heavy_asymetric = Тяжёлая ассиметричная чешуя
+marking-LPPHeadPlateHeavySymetric = Тежёлая симметричная чешуя
+marking-LPPHeadPlateHeavySymetric-head_plate_heavy_symetric = Тежёлая симметричная чешуя
+marking-LPPHeadPlateSymetric = Симметричная чешуя
+marking-LPPHeadPlateSymetric-head_plate_symetric = Симметричная чешуя
+marking-LPPBodyLilis = Ромбовидный узор
+marking-LPPBodyLilis-body_lilis = Ромбовидный узор
+marking-LPPBodySpotsBright = Пятнистый узор (светлый)
+marking-LPPBodySpotsBright-body_spots_bright = Пятнистый узор (светлый)
+marking-LPPBodySpotsDark = Пятнистый узор (тёмный)
+marking-LPPBodySpotsDark-body_spots_dark = Пятнистый узор (тёмный)
+marking-LPPBodySpotsMix = Пятнистый узор (микс)
+marking-LPPBodySpotsMix-body_spots_mix = Пятнистый узор (микс)
+marking-LPPLArmLilis = Ромбовидный узор (левая рука)
+marking-LPPLArmLilis-l_arm_lilis = Ромбовидный узор (левая рука)
+marking-LPPLArmSpotsBright = Пятнистый узор (левая рука, светлый)
+marking-LPPLArmSpotsBright-l_arm_spots_bright = Пятнистый узор (левая рука, светлый)
+marking-LPPLArmSpotsDark = Пятнистый узор (левая рука, тёмный)
+marking-LPPLArmSpotsDark-l_arm_spots_dark = Пятнистый узор (левая рука, тёмный)
+marking-LPPLArmSpotsMix = Пятнистый узор (левая рука, микс)
+marking-LPPLArmSpotsMix-l_arm_spots_mix = Пятнистый узор (левая рука, микс)
+marking-LPPRArmLilis = Ромбовидный узор (правая рука)
+marking-LPPRArmLilis-r_arm_lilis = Ромбовидный узор (правая рука)
+marking-LPPRArmSpotsBright = Пятнистый узор (правая рука, светлый)
+marking-LPPRArmSpotsBright-r_arm_spots_bright = Пятнистый узор (правая рука, светлый)
+marking-LPPRArmSpotsDark = Пятнистый узор (правая рука, тёмный)
+marking-LPPRArmSpotsDark-r_arm_spots_dark = Пятнистый узор (правая рука, тёмный)
+marking-LPPRArmSpotsMix = Пятнистый узор (правая рука, микс)
+marking-LPPRArmSpotsMix-r_arm_spots_mix = Пятнистый узор (правая рука, микс)
+marking-LPPLLegsLilis = Ромбовидный узор (левая нога)
+marking-LPPLLegsLilis-l_leg_lilis = Ромбовидный узор (левая нога)
+marking-LPPLLegsSpotsBright = Пятнистый узор (левая нога, светлый)
+marking-LPPLLegsSpotsBright-l_leg_spots_bright = Пятнистый узор (левая нога, светлый)
+marking-LPPLLegsSpotsDark = Пятнистый узор (левая нога, тёмный)
+marking-LPPLLegsSpotsDark-l_leg_spots_dark = Пятнистый узор (левая нога, тёмный)
+marking-LPPLLegsSpotsMix = Пятнистый узор (левая нога, микс)
+marking-LPPLLegsSpotsMix-l_leg_spots_mix = Пятнистый узор (левая нога, микс)
+marking-LPPRLegsLilis = Ромбовидный узор (правая нога)
+marking-LPPRLegsLilis-r_leg_lilis = Ромбовидный узор (правая нога)
+marking-LPPRLegsSpotsBright = Пятнистый узор (правая нога, светлый)
+marking-LPPRLegsSpotsBright-r_leg_spots_bright = Пятнистый узор (правая нога, светлый)
+marking-LPPRLegsSpotsDark = Пятнистый узор (правая нога, тёмный)
+marking-LPPRLegsSpotsDark-r_leg_spots_dark = Пятнистый узор (правая нога, тёмный)
+marking-LPPRLegsSpotsMix = Пятнистый узор (правая нога, микс)
+marking-LPPRLegsSpotsMix-r_leg_spots_mix = Пятнистый узор (правая нога, микс)
+marking-LPPHeadThirdColour = Затылок (цвет)
+marking-LPPHeadThirdColour-head_third_colour = Затылок (цвет)
+marking-LPPHeadMSecondColourShort = Голова (короткая)
+marking-LPPHeadMSecondColourShort-head_m_second_colour_short = Голова (короткая)
+marking-LPPHeadMSecondColourLong = Голова (длинная)
+marking-LPPHeadMSecondColourLong-head_m_second_colour_long = Голова (длинная)
+marking-LPPHeadFSecondColourLong = Голова (короткая)
+marking-LPPHeadFSecondColourLong-head_f_second_colour_long = Голова (длинная)
+marking-LPPHeadFSecondColourShort = Голова (короткая)
+marking-LPPHeadFSecondColourShort-head_f_second_colour_short = Голова (короткая)
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/player/ipc.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/player/ipc.ftl
new file mode 100644
index 0000000000..215d5f66b2
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/mobs/player/ipc.ftl
@@ -0,0 +1,5 @@
+ent-MobIpc = Урист МакПозитроник
+ .desc = Позитронный мозг в металлическом теле.
+ent-MobIPCDummy = Урист МакПозитроник
+ .desc = Манекен позитронного мозга в металлическом теле.
+ipc-board-name = системный блок КПБ
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/npcs/Syndicate_drone.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/npcs/Syndicate_drone.ftl
new file mode 100644
index 0000000000..300ecdcddf
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/npcs/Syndicate_drone.ftl
@@ -0,0 +1,2 @@
+ent-MobSyndicateDroneSmall = Дрон Синдиката
+ .desc = Маленький и проворный дрон с несколькими искрящимися придатками, направленными в вашу сторону.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/npcs/skibidi.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/npcs/skibidi.ftl
new file mode 100644
index 0000000000..79733e2ede
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/npcs/skibidi.ftl
@@ -0,0 +1,3 @@
+ent-SkibidiToilet = cкибиди-туалет
+ .desc = Скибиди доп доп ес ес.
+ .suffix = Адмемы
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Bookterminal/bookterminal.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Bookterminal/bookterminal.ftl
new file mode 100644
index 0000000000..4b5bf81346
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Bookterminal/bookterminal.ftl
@@ -0,0 +1,37 @@
+book-terminal-window-book-label = Действие:
+book-terminal-window-clear-button = Очистить
+book-terminal-window-eject-button = Извлечь
+book-terminal-window-upload-button = Загрузить
+book-terminal-window-copy-button = Копировать
+book-terminal-window-paste-button = Вставить
+book-terminal-window-no-book-loaded-text = Носитель не загружен.
+book-terminal-component-cannot-put-entity-message = Вы не смогли поместить это в принтер.
+book-terminal-component-access-denied = Доступ запрещён.
+book-terminal-cartridge-component-empty = Картридж пуст.
+book-terminal-cartridge-component-examine = Наполненность картриджа: { $charge }%
+book-terminal-window-no-cartridge-loaded-text = Картридж не загружен.
+book-terminal-window-cartridge-empty = Картридж пуст.
+book-terminal-window-cartridge-charge = Наполненность картриджа: { $charge }%
+book-terminal-window-working = Выполнение...
+
+book-terminal-book-name-blank = книга
+book-terminal-book-description-blank = Обыкновенный носитель текстовой информации. Ваши труды не останутся незамеченными.
+book-terminal-paper-name-blank = бумага
+book-terminal-paper-description-blank = Лист белой бумаги.
+book-terminal-unknown-name-blank = текстовый носитель
+book-terminal-unknown-description-blank = Когда-то здесь был осмысленный текст. Теперь же, здесь лишь напоминание о нём.
+
+wires-board-name-bookterminal = КнигоПринтер
+stamp-component-stamped-name-terminal = Скопировано
+
+ent-LPPBookTerminal = принтер книг
+ .desc = Крупное устройство для промышленной печати различной информации на бумажных носителях. Величайшее изобретение сервисного отдела.
+ent-LPPBookTerminalFilled = { ent-LPPBookTerminal }
+ .desc = { ent-LPPBookTerminal.desc }
+ .suffix = Заполненный
+ent-LPPBookTerminalInkCartridge = картридж для принтера
+ .desc = Увесистый картридж для заправки чернилами принтера книг.
+ent-LPPBookTerminalMachineCircuitboard = плата принтера книг
+
+ent-LPPCrateServicePrinterInkCartridge = ящик с картриджем заправки
+ .desc = { ent-LPPBookTerminalInkCartridge.desc }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Hydroponics.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Hydroponics.ftl
new file mode 100644
index 0000000000..3b3ae59280
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Hydroponics.ftl
@@ -0,0 +1,12 @@
+ent-WateringCan = лейка
+ .desc = лейка для поливки растений.
+ .suffix = { "" }
+ent-WateringCanWood = деревяная лейка
+ .desc = деревяная лейка для поливки растений. так не цивилизовано...
+ .suffix = { "" }
+ent-AdvWateringCan = блюспейс лейка
+ .desc = блюспейс лейка для поливки растений.
+ .suffix = { "" }
+ent-BluespacePlantBag = блюспейс сумка для растений
+ .desc = сумка для хранения растений. вмещает себя больший объём, в сравнении с обычной сумкой.
+ .suffix = { "" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/Fluppi.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/Fluppi.ftl
new file mode 100644
index 0000000000..d1eaa34e57
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/Fluppi.ftl
@@ -0,0 +1,12 @@
+ent-ClothingUniformJumpsuitFluppi = комбинезон Фрупи
+ .desc = Нежно-пушистый комбинезон маскота базированной корпораций Fluppy&Co Ltd!
+ .suffix = { "ФРУПИ" }
+ent-PlushieSharkFluppi = плюшевый Гектор
+ .desc = Нежная плюшевая игрушка одного из главных маскотов корпораций Fluppy&Co Ltd - Флуфи ! Пахнет сливочным ретровейвом!
+ .suffix = { "ФРУПИ" }
+ent-ClothingUnderSocksFluppi = носки Фрупи
+ .desc = Нескользящие носки маскота мега-сквонч корпораций Fluppy&Co Ltd!
+ .suffix = { "ФРУПИ" }
+ent-ClothingNeckFluppiPin = нагрудный значок Fluppy&Co Ltd
+ .desc = Значок, свидетельствующий что владелец является "законным" маскотом корпораций Fluppy&Co Ltd, не обсквончи его.
+ .suffix = { "ФРУПИ" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/JanaHypo.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/JanaHypo.ftl
new file mode 100644
index 0000000000..626fc70296
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/JanaHypo.ftl
@@ -0,0 +1,3 @@
+ent-JanaHypo = экспериментальный гипоспрей Яны
+ .desc = Был сконструирован и улучшен благодаря Джолин. Пахнет как бикаридин.
+ .suffix = { "Личные вещи" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/LoaltyImplant.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/LoaltyImplant.ftl
new file mode 100644
index 0000000000..6e7223bcf6
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/LoaltyImplant.ftl
@@ -0,0 +1,9 @@
+ent-LoaltyImplant = имплант лояльности
+ .desc = Сделает врага - другом.
+ .suffix = { "" }
+ent-LoaltyImplanter = имплантер импланта лояльности
+ .desc = Сделает врага - другом.
+ .suffix = { "" }
+ent-CrateLoaltyImplants = Ящик имплантеров импланта лояльности
+ .desc = Сделает врага - другом.
+ .suffix = { "" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/RussianPin.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/RussianPin.ftl
new file mode 100644
index 0000000000..b68d4322a9
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/RussianPin.ftl
@@ -0,0 +1,3 @@
+ent-ClothingNeckRussianPin = Пин Россия
+ .desc = Russia
+ .suffix = { "" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/SpacStaff.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/SpacStaff.ftl
new file mode 100644
index 0000000000..6a85b4cc3e
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/SpacStaff.ftl
@@ -0,0 +1,8 @@
+ent-LPPHandcuffsSpac = наручники
+ .desc = Красивые, розовые наручники с розовым мехом. Используется для удержания прекрасной половины человечества.
+ent-LPPCutsomSpac = Лисо ушки
+ent-LPPCutsomSpacOver = Лисо ушки
+ent-LPPLPPTelebatonSpac = Розовая телескопическая дубинка
+ .desc = Красивая розовая дубинка для самообороны. Оснащена функцией складывания для экономии места и скрытия ваших намерений.
+ent-LPPSpacMP3Player = МП3 Плеер
+ .desc = Обычный, красный МП3 плеер
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/flatpacks.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/flatpacks.ftl
new file mode 100644
index 0000000000..909b0cd53f
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/flatpacks.ftl
@@ -0,0 +1,2 @@
+ent-LPPBookPrinterFlatpack = упаковонный принтер книг
+ .desc = Упаковка, при помощи которой можно создать принтер книг.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/identification_cards.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/identification_cards.ftl
new file mode 100644
index 0000000000..523b64d166
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/identification_cards.ftl
@@ -0,0 +1,4 @@
+ent-LPPVirologistIDCard = ID карта вирусолога
+ .desc = { ent-IDCardStandard.desc }
+ent-LPPSecurityEnginerIDCard = ID карта полевого инженера
+ .desc = { ent-IDCardStandard.desc }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/paper.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/paper.ftl
new file mode 100644
index 0000000000..2935e6afa7
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Misc/paper.ftl
@@ -0,0 +1,38 @@
+ent-LPPHosPen = Ручка главы службы безопасности
+ .desc = Строгая, властная, доминантная ручка, как и её владелец.
+ .suffix = { "Ручка" }
+
+ent-LPPQMPen = Ручка квартмейстера
+ .desc = Ручка, выглядящая как грузчик с золотым ремнём.
+ .suffix = { "Ручка" }
+
+ent-LPPCEPen = Ручка старшего инженера
+ .desc = Белая, с различными оттенками ручка, идеально подходящая под стиль одежды старшего инженера.
+ .suffix = { "Ручка" }
+
+ent-LPPCMOPen = Ручка главного врача
+ .desc = Ручка самого лучшего врача станции, напоминающая по цвету морские глубины.
+ .suffix = { "Ручка" }
+
+ent-LPPRDPen = Ручка научного директора
+ .desc = Личная ручка научного директора. Выглядит так, будто на неё надели штаны.
+ .suffix = { "Ручка" }
+
+ent-LPPBookUnderwearGuide = Пособие для библиотекарей: находим трусы.
+ .desc = Здесь нет выхода. Только боль.
+
+book-text-librarian-guide =
+ Каждый библиотекарь, попадая на станцию, сталкивается с самой страшной напастью: у него нет трусов.
+
+ То ли упаковщики комплекта одежды забыли добавить их, то ли вы, наивный работник станции, забыли самое важное на этом белом свете.
+
+ Данное краткое пособие должно помочь всем юным обитателям станции, что впервые вступили своей ногой за её порог.
+
+ Каждое действие будет записано поэтапно, а потому... просим вас его запомнить.
+
+ - Шаг первый: Найдите дормитории. Обычно, для них существует указатель.
+ - Шаг второй: Найдите вендомат с трусами.
+ - Шаг третий: Выберите понравившийся вариант.
+ - Шаг четвертый: Натяните их.
+
+ На этом наше краткое пособие кончается. Спасибо за время, за которое вы бы и сами смогли бы найти себе трусы.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/bibles.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/bibles.ftl
new file mode 100644
index 0000000000..c0ca85b1c0
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/bibles.ftl
@@ -0,0 +1,6 @@
+ent-LPPBlueBible = синяя библия
+ .desc = Новая межзвездная версия 2340. Теперь в синем виде.
+ent-LPPRedBible = красная библия
+ .desc = Новая межзвездная версия 2340. Теперь в красном виде.
+
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/healthanalyzer.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/healthanalyzer.ftl
new file mode 100644
index 0000000000..95dafbb8d1
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/healthanalyzer.ftl
@@ -0,0 +1,9 @@
+ent-HandheldHealthAnalyzerPlague = анализатор здоровья
+ .desc = { ent-HandheldHealthAnalyzerUnpowered.desc }
+ .suffix = Болезнь, Чума
+ent-HandheldHealthAnalyzerOwOnavirus = анализатор здоровья
+ .desc = { ent-HandheldHealthAnalyzerUnpowered.desc }
+ .suffix = Болезнь, OwOнавирус
+ent-HandheldHealthAnalyzerGigacancer = анализатор здоровья
+ .desc = { ent-HandheldHealthAnalyzerUnpowered.desc }
+ .suffix = Болезнь, УЛЬТРАГИГАрак
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/mechs.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/mechs.ftl
new file mode 100644
index 0000000000..63f462ddae
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/mechs.ftl
@@ -0,0 +1,4 @@
+ent-LPPMechmauler = Маулер ВТ
+ .desc = Узконаправленное военное вооружение, направленное на ведение долго боя с противником. ВТ в названии переводится как Военно Технический.
+ent-LPPMechOdysseus = Одиссеус ПМ
+ .desc = Высокоскоростный медицинский аппарат, предназначенный для перевозки тел и оказания первой медицинской помощи. ПМ в названии переводится как Полевой Медицинский.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/reagentanalyzer.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/reagentanalyzer.ftl
new file mode 100644
index 0000000000..d0eccb500b
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Specific/reagentanalyzer.ftl
@@ -0,0 +1,2 @@
+ent-LPPReagentAnalyzer = анализатор реагентов
+ .desc = Устройство для подсчета реагентов внутри лабораторных сосудов.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Guns/M41-A.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Guns/M41-A.ftl
new file mode 100644
index 0000000000..c16b45e034
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Guns/M41-A.ftl
@@ -0,0 +1,12 @@
+ent-LPPWeaponRifleM41 = М41-А
+ .desc = Старая винтовка, использовавшаяся во времена колониальной экспансии. Использует винтовочные патроны 20-го калибра.
+
+ent-LPPBaseMagazineRifleM41A = магазин для M41-A (.20)
+
+ent-LPPBaseMagazineRifleM41AFull = магазин для M41-A (.20 Боевые)
+
+ent-LPPBaseMagazineRifleM41APractice = магазин для M41-A (.20 Учебные)
+
+ent-LPPBaseMagazineRifleM41ARubber = магазин для M41-A (.20 Резиновые)
+
+ent-LPPBaseMagazineRifleM41AUranium = магазин для M41-A (.20 Урановые)
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Guns/immolator.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Guns/immolator.ftl
new file mode 100644
index 0000000000..8ddb0bb7d2
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Guns/immolator.ftl
@@ -0,0 +1,2 @@
+ent-LPPWeaponImmolator = Иммолятор
+ .desc = Модифицированная лазерная пушка, стреляющая сильно концентрированными лучами с более высокой интенсивностью, которые воспламеняют цель, за счет потери большей части мощности за выстрел.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Guns/ion-weapons.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Guns/ion-weapons.ftl
new file mode 100644
index 0000000000..0fce48e03c
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Guns/ion-weapons.ftl
@@ -0,0 +1,12 @@
+ent-LPPIonPistolIS17 = Ионный Пистолет IS-17
+ .desc = Одна из самых новых технологий NanoTrasen в области вооружения! Кажется она использует радиацию...
+ .suffix = Пистолет
+ent-LPPIonGunLV12 = Ионная Винтовка LV-12
+ .desc = Одна из самых новых технологий NanoTrasen в области вооружения! Кажется она использует радиацию...
+ .suffix = Винтовка
+ent-LPPIonGunAutoUI80 = Ионная Автоматическая Пушка UI-80
+ .desc = Одна из самых новых технологий NanoTrasen в области вооружения! Кажется она использует радиацию...
+ .suffix = Автомат
+ent-LPPIonGunAutoBORGMECH = Механическая Ионная Автоматическая Пушка UI-80
+ .desc = Ионное оружие, создано специально для вооружения Киборгов NanoTrasen...
+ .suffix = Автомат
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/Jay'sTunbaton.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/Jay'sTunbaton.ftl
new file mode 100644
index 0000000000..25fb139073
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/Jay'sTunbaton.ftl
@@ -0,0 +1,3 @@
+ent-NaaLeyStunbaton = дубинка На-Леи
+ .desc = На 20% больнее!
+ .suffix = { "Личные вещи" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/Laser.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/Laser.ftl
new file mode 100644
index 0000000000..c00c4a7e10
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/Laser.ftl
@@ -0,0 +1,6 @@
+ent-LPPLaserDisk = лазерный диск
+ .desc = Лазерный кинжал выполненный в форме диска, в центре есть вырез под руку.
+ .suffix = { "Личные вещи" }
+ent-LPPEnergyDoubleSword = двойной лазерный меч
+ .desc = Очень громкий и очень энергетичный двойной меч, способный отражать выстрелы. Может храниться в карманах в выключенном состоянии.
+ .suffix = { "" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/Telebaton.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/Telebaton.ftl
new file mode 100644
index 0000000000..f8d17e9a3d
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/Telebaton.ftl
@@ -0,0 +1,4 @@
+comp-switchable-examined-on = Оружие в [color=darkgreen]разложенном состоянии[/color].
+comp-switchable-examined-off = Оружие в [color=darkred]сложенном состоянии[/color].
+ent-LPPTelebaton = Телескопическая дубинка
+ .desc = Стандартная дубинка для самообороны. Оснащена функцией складывания для экономии места и скрытия ваших намерений.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/rubber_buton.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/rubber_buton.ftl
new file mode 100644
index 0000000000..abadfe83bc
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/Weapons/Melee/rubber_buton.ftl
@@ -0,0 +1,2 @@
+ent-LPPRubberBaton = Резиновая дубинка
+ .desc = Резиновая дубинка для выведения из строя людей. Не так больно, как электро-дубинка, но все равно неприятно.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/consumable/food/scuf.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/consumable/food/scuf.ftl
new file mode 100644
index 0000000000..e1e46c77d8
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/consumable/food/scuf.ftl
@@ -0,0 +1,4 @@
+ent-LPPCondensedMilkCan = банка скуфщённого молока
+ .desc = Сгущенный молочный продукт, идеальный для людей среднего возраста. Похоже, что его привезли нелегально...
+LPPCondensedMilkCanTrash = пустая банка скуфщенного молока
+ .desc = Всё было высосано.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/devices/circuitboards/computer.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/devices/circuitboards/computer.ftl
new file mode 100644
index 0000000000..3ee4b9f49c
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/devices/circuitboards/computer.ftl
@@ -0,0 +1,12 @@
+ent-LPPCECommsComputerCircuitboard = консоль связи старшего инженера (консольная плата)
+ .desc = { ent-BaseComputerCircuitboard.desc }
+ent-LPPCapCommsComputerCircuitboard = консоль связи капитана (консольная плата)
+ .desc = { ent-BaseComputerCircuitboard.desc }
+ent-LPPHopCommsComputerCircuitboard = консоль связи главы персонала (консольная плата)
+ .desc = { ent-BaseComputerCircuitboard.desc }
+ent-LPPHosCommsComputerCircuitboard = консоль связи главы службы безопасности (консольная плата)
+ .desc = { ent-BaseComputerCircuitboard.desc }
+ent-LPPRDCommsComputerCircuitboard = консоль связи научного директора (консольная плата)
+ .desc = { ent-BaseComputerCircuitboard.desc }
+ent-LPPCmoCommsComputerCircuitboard = консоль связи главного врача (консольная плата)
+ .desc = { ent-BaseComputerCircuitboard.desc }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/devices/encryption_keys.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/devices/encryption_keys.ftl
new file mode 100644
index 0000000000..66410c8e5d
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/devices/encryption_keys.ftl
@@ -0,0 +1,2 @@
+ent-EncryptionKeyLaw = ключ шифрования юридического отдела
+ .desc = Ключ шифрования, используемый самыми дотошными персонами.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/devices/pda.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/devices/pda.ftl
new file mode 100644
index 0000000000..20267207e6
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/devices/pda.ftl
@@ -0,0 +1,4 @@
+ent-LPPVirologistPDA = КПК вирусолога
+ .desc = Выглядит так, будто на него чихнули...
+ent-LPPSecurityEnginerPDA = КПК полевого инженера
+ .desc = Перекрашенный в тона СБ, КПК инженера
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/mining.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/mining.ftl
new file mode 100644
index 0000000000..d13d252a7f
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/objects/mining.ftl
@@ -0,0 +1,8 @@
+ent-WeaponCutter = ионный резак
+ .desc = Инструмент шахтеров, предназначенный для расчистки горных пород.
+ .suffix = { "" }
+ent-WeaponCutterAdv = улучшенный ионный резак
+ .desc = Инструмент шахтеров, предназначенный для расчистки горных пород. Обладает усовершенствованной батареей и усиленной концентрирующей линзой.
+ent-OreBagBluespace = блюспейс сумка для руды
+ .desc = Прочная сумка для утилизаторов и шахтеров для переноски ОЧЕНЬ больших объемов руды.
+ .suffix = { "" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/silicon_chargers.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/silicon_chargers.ftl
new file mode 100644
index 0000000000..a5b72dcee4
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/silicon_chargers.ftl
@@ -0,0 +1,7 @@
+ent-LPPSiliconChargerIndustrial = промышленное зарядное устройство
+ .desc = Мощная машина для зарядки синтетиков. Подходит для зарядки КПБ и боргов. Она очень сильно нагревается!
+
+ent-LPPIndustrialChargerCircuitboard = плата промышленного зарядного устройства
+ .desc = Машинная печатная плата для промышленного зарядного устройства
+
+research-technology-ind-charger = Технология зарядки продвинутых синтетиков.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/chemistry.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/chemistry.ftl
new file mode 100644
index 0000000000..06c55b6071
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/chemistry.ftl
@@ -0,0 +1,5 @@
+ent-LPPlargePillCanister = большая баночка для таблеток
+ .desc = Вмещает до 18 таблеток.
+
+ent-LPPPetry_dish = чашка петри
+ .desc = Интересно, смотрит ли на тебя кто-нибудь?
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borg_module.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borg_module.ftl
new file mode 100644
index 0000000000..34eb906b01
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borg_module.ftl
@@ -0,0 +1,35 @@
+
+ent-LPPBorgModuleAresst = патрульный модуль киборга
+ .desc = { ent-BaseBorgModule.desc }
+ent-LPPBattleBorgModule = модуль защиты киборга
+ .desc = { ent-BaseBorgModule.desc }
+
+ent-LPPBorgModuleLaserWeapon = лазер-модуль киборга
+ .desc = { ent-BaseBorgModule.desc }
+ent-LPPBorgModuleLaserWeaponAdvanced = продвинутый лазер-модуль киборга
+ .desc = { ent-BaseBorgModule.desc }
+ent-LPPERPModuleBorg = эротический модуль киборга
+ .desc = { ent-BaseBorgModule.desc }
+
+ent-LPPDisbalerBorg = механический станнер
+ .desc = { ent-BaseBorgModule.desc }
+ent-LPPPoliceBatonNonLethal = механическая дубинка
+ .desc = Быстро, и без вреда для живых существ! Используйте ее для разгона толпы.
+ent-LPPStunBatonSelfCharging = механическая шок-дубинка
+ .desc = Шок-дубника для киборга, чтобы арестовывать клоунов на станции!
+ent-LPPFlashRecharging = механическая вспышка
+ .desc = Специальная вспышка для киборгов.
+ent-LPPZipties10Lingering = кабельные стяжки
+ .desc = Стяжки, чтобы удержать клоуна!
+ .suffix = 10, Киборг
+ent-LPPZipties10 = кабельные стяжки киборга
+ .desc = { ent-LPPZipties10Lingering.desc }
+ .suffix = { ent-LPPZipties10Lingering.suffix }
+ent-LPPModuleBorgHands = модуль манипулятор киборга
+ .desc = { ent-BaseBorgModule.desc }
+ent-LPPClothingBackpackBorgs = хранилище киборга
+ .desc = Технология даёт возможность киборгам переносить в себе некоторые вещи.
+ent-LPPBorgLaserAdvanced = продвинутая лазерная пушка киборга
+ .desc = продвинутая лазерная пушка киборга, вселяйте в органиков страх!
+ent-LPPBorgLaser = лазерая пушка киборга
+ .desc = лазерная пушка киборга, уничтожайте органиков!
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borg_parts.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borg_parts.ftl
new file mode 100644
index 0000000000..f816576124
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borg_parts.ftl
@@ -0,0 +1,51 @@
+ent-LPPLeftArmBorgErotic = левая рука эротического-киборга
+ .desc = { ent-BaseBorgArmLeft.desc }
+ent-LPPRightArmBorgErotic = правая рука эротического-киборга
+ .desc = { ent-BaseBorgArmRight.desc }
+ent-LPPLeftLegBorgErotic = левая нога эротического-киборга
+ .desc = { ent-BaseBorgLegLeft.desc }
+ent-LPPRightLegBorgErotic = правая нога эротического-киборга
+ .desc = { ent-BaseBorgLegRight.desc }
+ent-LPPHeadBorgErotic = голова эротического-киборга
+ .desc = { ent-BaseBorgHead.desc }
+ent-LPPTorsoBorgErotic = тело эротического-киборга
+ .desc = { ent-BaseBorgTorso.desc }
+
+ent-LPPLeftArmBorgSecurity = левая рука киборга-безопасности
+ .desc = { ent-BaseBorgArmLeft.desc }
+ent-LPPRightArmBorgSecurity = правая рука киборга-безопасности
+ .desc = { ent-BaseBorgArmRight.desc }
+ent-LPPLeftLegBorgSecurity = левая нога киборга-безопасности
+ .desc = { ent-BaseBorgLegLeft.desc }
+ent-LPPRightLegBorgSecurity = правая нога киборга-безопасности
+ .desc = { ent-BaseBorgLegRight.desc }
+ent-LPPHeadBorgSecurity = голова киборга-безопасности
+ .desc = { ent-BaseBorgHead.desc }
+ent-LPPTorsoBorgSecurity = тело киборга-безопасности
+ .desc = { ent-BaseBorgTorso.desc }
+
+ent-LPPLeftArmBorgMining = левая рука киборга-шахтёра
+ .desc = { ent-BaseBorgArmLeft.desc }
+ent-LPPRightArmBorgMining = правая рука киборга-шахтёра
+ .desc = { ent-BaseBorgArmRight.desc }
+ent-LPPLeftLegBorgMining = левая нога киборга-шахтёра
+ .desc = { ent-BaseBorgLegLeft.desc }
+ent-LPPRightLegBorgMining = правая нога киборга-шахтёра
+ .desc = { ent-BaseBorgLegRight.desc }
+ent-LPPHeadBorgMining = голова киборга-шахтёра
+ .desc = { ent-BaseBorgHead.desc }
+ent-LPPTorsoBorgMining = тело киборга-шахтёра
+ .desc = { ent-BaseBorgTorso.desc }
+
+ent-LPPLeftArmBorgScience = левая рука киборга-исследователя
+ .desc = { ent-BaseBorgArmLeft.desc }
+ent-LPPRightArmBorgScience = правая рука киборга-исследователя
+ .desc = { ent-BaseBorgArmRight.desc }
+ent-LPPLeftLegBorgScience = левая нога киборга-исследователя
+ .desc = { ent-BaseBorgLegLeft.desc }
+ent-LPPRightLegBorgScience = правая нога киборга-исследователя
+ .desc = { ent-BaseBorgLegRight.desc }
+ent-LPPHeadBorgScience = голова киборга-исследователя
+ .desc = { ent-BaseBorgHead.desc }
+ent-LPPTorsoBorgScience = тело киборга-исследователя
+ .desc = { ent-BaseBorgTorso.desc }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borg_personal.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borg_personal.ftl
new file mode 100644
index 0000000000..f7cc7d0d8d
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borg_personal.ftl
@@ -0,0 +1,3 @@
+ent-LPPBorgPersonalD2R4NX = D2-R4-NX
+ .desc = Инженерно-технический киборг, созданный робототехническим отделом НаноТрайзен Центрального Командования. Данный киборг, чем-то похож на человека...
+ .suffix = Личная вещь, Киборг
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borgs.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borgs.ftl
new file mode 100644
index 0000000000..d3ce9b5c9c
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/specific/robotics/borgs.ftl
@@ -0,0 +1,16 @@
+
+ent-LPPPlayerDroneSecurity = дрон-разведки
+ .desc = Новейшая технология, в области безопасности!
+ .suffix = Батарея, Инструменты
+ent-LPPPlayerBorgSecurity = киборг-безопасности
+ .desc = Киборг службы безопасности разработанный корпорацией Armadyne. Защищающий экипаж в соответствий с своими законами.
+ .suffix = Батарея, Инструменты
+ent-LPPBorgSecurity = киборг-безопасности
+ .desc = Киборг службы безопасности разработанный корпорацией Armadyne. Защищающий экипаж в соответствий с своими законами.
+ent-LPPBorgChassisERP = киборг-эротический
+ .desc = { ent-BaseBorgChassis.desc }
+ent-LPPBorgChassisMining = киборг-шахтёр
+ .desc = { ent-BaseBorgChassis.desc }
+ent-LPPBorgSpiderScience = киборг-исследователь
+ .desc = { ent-BaseBorgChassis.desc }
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/Walls.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/Walls.ftl
new file mode 100644
index 0000000000..4dbf92ff85
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/Walls.ftl
@@ -0,0 +1,8 @@
+ent-LPPCornerSurvival = угловая утилизаторская стена
+ .desc = { ent-BaseWall.desc }
+ent-LPPSolidRiveted = угловая клёпаная стена
+ .desc = { ent-BaseWall.desc }
+ent-LLPGrille = угловая решётка
+ .desc = хлипкий каркас из железных прутьев
+ent-LPPSurvival = утилизаторская стена
+ .desc = { ent-BaseWall.desc }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/chairs.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/chairs.ftl
new file mode 100644
index 0000000000..5dccb8b33d
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/chairs.ftl
@@ -0,0 +1,30 @@
+ent-LPPCorpSofacorner = Темный угловой диван
+ .desc = Выглядит как мягким диван.
+ent-LPPCorpSofaendLeft = Темный левый угловой диван
+ .desc = Выглядит как мягким диван.
+ent-LPPCorpSofaendRight = Темный правый угловой диван
+ .desc = Выглядит как мягким диван.
+ent-LPPCorpSofamiddle = Темный серединный диван
+ .desc = Выглядит как мягким диван.
+ent-LPPSofacorner = Белый угловой диван
+ .desc = Выглядит как мягким диван.
+ent-LPPSofaendLeft = Белый левый угловой диван
+ .desc = Выглядит как мягким диван.
+ent-LPPSofaendRight = Белый правый угловой диван
+ .desc = Выглядит как мягким диван.
+ent-LPPSofamiddle = Белый серединный диван
+ .desc = Выглядит как мягким диван.
+ent-LPPPewmiddle = Деревянная серединный скамейки
+ .desc = Выглядит как скамейка.
+ent-LPPPewendLeft = Деревянная левый скамейки
+ .desc = Выглядит как скамейка.
+ent-LPPPewendRight = Деревянная правый скамейки
+ .desc = Выглядит как скамейка.
+ent-LPPBenchMiddle = Металлическая угловой скамейки
+ .desc = Выглядит как скамейка.
+ent-LPPBenchLeft = Металлическая левый скамейки
+ .desc = Выглядит как скамейка.
+ent-LPPBenchRight = Металлическая правый скамейки
+ .desc = Выглядит как скамейка.
+ent-LPPBenchSolo = Металлическая скамейка для одного
+ .desc = Выглядит как скамейка.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/cryocapsule/Cryocapsule.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/cryocapsule/Cryocapsule.ftl
new file mode 100644
index 0000000000..2e8e5921a6
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/cryocapsule/Cryocapsule.ftl
@@ -0,0 +1,2 @@
+ent-LPPCryocapsuleSindicate = Криокапсула Синдиката
+ .desc = Используется для хранения тел, пока их не найдут. Включает высокотехнологичную систему оповещения о ложных срабатываниях!
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/machines/computers/computers.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/machines/computers/computers.ftl
new file mode 100644
index 0000000000..e7301309e3
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/machines/computers/computers.ftl
@@ -0,0 +1,12 @@
+ent-LPPCEComputerComms = консоль связи старшего инженера
+ .desc = Консоль, используемая для подачи объявлений на всю станцию от конкретного главы.
+ent-LPPCapComputerComms = консоль связи капитана
+ .desc = { ent-LPPCEComputerComms.desc }
+ent-LPPHopComputerComms = консоль связи главы персонала
+ .desc = { ent-LPPCEComputerComms.desc }
+ent-LPPHosComputerComms = консоль связи главы службы безопасности
+ .desc = { ent-LPPCEComputerComms.desc }
+ent-LPPRDComputerComms = консоль связи научного директора
+ .desc = { ent-LPPCEComputerComms.desc }
+ent-LPPCmoComputerComms = консоль связи главного врача
+ .desc = { ent-LPPCEComputerComms.desc }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/storage/Closets/Lockers/Lockers.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/storage/Closets/Lockers/Lockers.ftl
new file mode 100644
index 0000000000..6d42d73167
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/storage/Closets/Lockers/Lockers.ftl
@@ -0,0 +1,7 @@
+ent-LPPLockerBlueShield = шкафчик офицера "Синий щит"
+ .desc = { ent-LockerBaseSecure.desc }
+ent-StorageSmartFridge = умный холодильник
+ .desc = Универсальное охлаждаемое хранилище для хранения.
+ent-LPPLockerBlueShieldFilled = шкафчик офицера "Синий щит"
+ .desc = { ent-LockerBaseSecure.desc }
+ .suffix = Заполненый
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/table.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/table.ftl
new file mode 100644
index 0000000000..1a07c8ace5
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/table.ftl
@@ -0,0 +1,39 @@
+##Титан
+
+ent-LPPTitaniumRplasma = каркас титан
+ .desc = Выглядит белым и красивым.
+ent-LPPTitaniumWood = кофейный стол
+ .desc = Выглядит из титана и красивыми узорами из древесины.
+ent-LPPTitaniumGlass = стеклянный стол
+ .desc = Квадратный лист стекла, стоящий на четырех тетановых ножках. Очень прочный.
+ent-LPPTitaniumPlasma = стол из плазменного стекла
+ .desc = Квадратный лист стекла, стоящий на четырех тетановых ножках. Очень прочный.
+ent-LPPTitaniumUranium = стол из ураневого стекла
+ .desc = Квадратный лист стекла, стоящий на четырех тетановых ножках. Очень прочный.
+ent-LPPTitanium = титановый стол
+ .desc = Выглядит сделанным из титана.
+ent-LPPPlasTitanium = стол из пластитана
+ .desc = Выглядит сделанным из титана и пластитанна.
+
+##ПласТитан
+
+ent-LPPBlackPlasTitaniumRplasma = каркас пластитан
+ .desc = Выглядит чорным и мрачным.
+ent-LPPBlackPlasTitaniumWood = кофейный стол
+ .desc = Выглядит из пластитана и красивыми узорами из древесины.
+ent-LPPBlackPlasTitaniumGlass = стеклянный стол
+ .desc = Квадратный лист стекла, стоящий на четырех пластитановых ножках. Очень прочный.
+ent-LPPBlackPlasTitaniumPlasma = стол из плазменного стекла
+ .desc = Квадратный лист стекла, стоящий на четырех пластитановых ножках. Очень прочный.
+ent-LPPBlackPlasTitaniumUranium = стол из ураневого стекла
+ .desc = Квадратный лист стекла, стоящий на четырех пластитановых ножках. Очень прочный.
+ent-LPPBlackPlasTitaniumTitanium = стол из титана
+ .desc = Выглядит сделанным из титана.
+ent-LPPBlackPlasTitanium = пластитановый стол
+ .desc = Выглядит сделанным из титана и пластитанна.
+
+
+##КУСТ
+
+ent-LPPHedge = изгородь
+ .desc = Выглядит как ухоженный куст.
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/window.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/window.ftl
new file mode 100644
index 0000000000..d3729a4ee2
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/structures/window.ftl
@@ -0,0 +1,8 @@
+ent-LPPWindowDiagonal = окно
+ent-LPPReinforcedCornerWindow = армированное окно
+
+ent-LPPPlasmaCornerWindow = плазменое окно
+ent-LPPReinforcedPlasmaWindowCorner = армированное плазменое окно
+
+ent-LPPUraiumCornerWindow = урановое окно
+ent-LPPReinforcedUraniumWindowCorner = армированное урановое окно
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/tiberium.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/tiberium.ftl
new file mode 100644
index 0000000000..00b4f078f7
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/tiberium.ftl
@@ -0,0 +1,2 @@
+ent-LPPTiberium = тиберий
+ .desc = Свет его прекрасен...
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/tiles.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/tiles.ftl
new file mode 100644
index 0000000000..6c0fa45e9b
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/entities/tiles.ftl
@@ -0,0 +1,108 @@
+
+ent-LPPFloorGreenCircuitBase = зелёный микросхемная плитка
+ .desc = { ent-FloorTileItemBase.desc }
+ent-LPPFloorBlueCircuitBase = синяя микросхемная плитка
+ .desc = { ent-FloorTileItemBase.desc }
+
+ent-LPPLEDDiscoFloorOjects = диско плитка
+ .desc = { ent-FloorTileItemBase.desc }
+ent-LPPLEDDiscoFloorRotatesOjects = диско плитка
+ .desc = { ent-FloorTileItemBase.desc }
+ent-LPPLEDDiscoFloorRotatesHalfwayOjects = диско плитка
+ .desc = { ent-FloorTileItemBase.desc }
+
+
+ent-LPPLEDDiscoFloorMatrix4Ojects = плитка матрицы
+ .desc = { ent-FloorTileItemBase.desc }
+ent-LPPLEDDiscoFloorMatrix1Ojects = плитка матрицы
+ .desc = { ent-FloorTileItemBase.desc }
+
+ent-LPPFloorTileItemWoodLarge = большой деревяная плитка
+ .desc = { ent-FloorTileItemBase.desc }
+
+#----Без-пупырок----#
+ent-FloorTileItemDarkS = темная плитка
+ .suffix = Без пупыр.
+ .desc = Может послужить неплохим метательным оружием. И без пупырок.
+ent-FloorTileItemDarkDiagonalS = темная диагональная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemDarkS.desc }
+ent-FloorTileItemDarkDiagonalMiniS = маленькая темная диагональная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemDarkS.desc }
+ent-FloorTileItemDarkHerringboneS = темная ёлочная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemDarkS.desc }
+ent-FloorTileItemDarkMiniS = маленькая темная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemDarkS.desc }
+ent-FloorTileItemDarkMonoS = темная моно плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemDarkS.desc }
+ent-FloorTileItemDarkOffsetS = темная смещённая плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemDarkS.desc }
+ent-FloorTileItemDarkPavementS = темная стальная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemDarkS.desc }
+ent-FloorTileItemDarkPavementVerticalS = темная стальная перевернутая плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemDarkS.desc }
+
+#----Без-пупырок----#
+ent-FloorTileItemSteelS = стальная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = Может послужить неплохим метательным оружием. И без пупырок.
+ent-FloorTileItemSteelDiagonalS = стальная диагональная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemSteelS.desc }
+ent-FloorTileItemSteelDiagonalMiniS = маленькая стальная диагональная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemSteelS.desc }
+ent-FloorTileItemSteelHerringboneS = стальная ёлочная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemSteelS.desc }
+ent-FloorTileItemSteelMiniS = маленькая стальная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemSteelS.desc }
+ent-FloorTileItemSteelMonoS = стальная моно плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemSteelS.desc }
+ent-FloorTileItemSteelOffsetS = стальная смещённая плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemSteelS.desc }
+ent-FloorTileItemSteelPavementS = стальная стальная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemSteelS.desc }
+ent-FloorTileItemSteelPavementVerticalS = стальная стальная перевернутая плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemSteelS.desc }
+#----Без-пупырок----#
+ent-FloorTileItemWhiteS = белая плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = Может послужить неплохим метательным оружием. И без пупырок.
+ent-FloorTileItemWhiteDiagonalS = белая диагональная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemWhiteS.desc }
+ent-FloorTileItemWhiteDiagonalMiniS = маленькая белая диагональная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemWhiteS.desc }
+ent-FloorTileItemWhiteHerringboneS = белая ёлочная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemWhiteS.desc }
+ent-FloorTileItemWhiteMiniS = маленькая белая плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemWhiteS.desc }
+ent-FloorTileItemWhiteMonoS = белая моно плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemWhiteS.desc }
+ent-FloorTileItemWhiteOffsetS = белая смещённая плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemWhiteS.desc }
+ent-FloorTileItemWhitePavementS = белая стальная плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemWhiteS.desc }
+ent-FloorTileItemWhitePavementVerticalS = белая стальная перевернутая плитка
+ .suffix = { ent-FloorTileItemDarkS.suffix }
+ .desc = { ent-FloorTileItemWhiteS.desc }
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/fluppy.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/fluppy.ftl
new file mode 100644
index 0000000000..0137bbec00
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/fluppy.ftl
@@ -0,0 +1,74 @@
+reagent-name-fluffyapple = яблочный фруппи
+reagent-desc-space-fluffyapple = Яблочный микс самых свежайших яблок со всей галактики. Вызывает привыкание.
+reagent-desc-physical-fluffyapple = едкое, словно незастывший гудрон
+flavor-complex-applefluffy = как яблочный ацидолакт
+
+ent-FluffyApple = баночка яблочного фруппи
+ .desc = Освежающий напиток современности. Теперь с газированным молоком.
+ .suffix = { "Фруппи" }
+
+reagent-name-fluffyenergy = фруппи enegry
+reagent-desc-space-fluffyenergy = Самый запрещенный напиток на территории галактики. Вызывает привыкание.
+reagent-desc-physical-fluffyenergy = шипучее, словно кислота
+flavor-complex-energyfluffy = как термоядерное топливо
+
+ent-FluffyEnergy = Баночка фруппи energy
+ .desc = Напиток High-Tech будущего. Только для настоящих game-ров.
+ .suffix = { "Фруппи" }
+
+reagent-name-fluffyhonk = хонк фруппи
+reagent-desc-space-fluffyhonk = Вызывает хонк-выкание.
+reagent-desc-physical-fluffyhonk = молочное, но слишком густое
+flavor-complex-honkfluffy = как хонк
+
+ent-FluffyHonk = баночка хонк фруппи
+ .desc = Любимый напиток клоунов. Говорят, это кровь самой хонк-матери.
+ .suffix = { "Фруппи" }
+
+reagent-name-fluffylatte = фруппи латте
+reagent-desc-space-fluffylatte = Утренняя настойка для быстрого пробуждения. Вызывает привыкание.
+reagent-desc-physical-fluffylatte = кофейное и густое
+flavor-complex-lattefluffy = как кофейная жевательная резинка
+
+ent-FluffyLatte = баночка фруппи латте
+ .desc = Этот напиток для настоящих ценителей.
+ .suffix = { "Фруппи" }
+
+reagent-name-fluffymango = тропический фруппи
+reagent-desc-space-fluffymango = От него так и веет запахом манго... вызывает привыкание.
+reagent-desc-physical-fluffymango = водянистое и прозрачное
+flavor-complex-mangofluffy = как молочная сыворотка
+
+ent-FluffyMango = баночка тропического фруппи
+ .desc = Окунитесь в водопад ярких тропических вкусов. Данный напиток является молочной сывороткой. Не рекомендуется пожилым людям.
+ .suffix = { "Фруппи" }
+
+reagent-name-fluffystan = фруппи classic
+reagent-desc-space-fluffystan = Воздушный поцелуй, подаренный самой Фруппи.. Вызывает привыкание.
+reagent-desc-physical-fluffystan = газированное и молочно-клубничное
+flavor-complex-stanfluffy = как молочный коктейль из клубники
+
+ent-FluffyStan = баночка фруппи classic
+ .desc = Клубнично-молочная бомба, скрытая в оболочке из алюминия.
+ .suffix = { "Фруппи" }
+
+reagent-name-fluffywatermelon = арбузный фруппи
+reagent-desc-space-fluffywatermelon = Ментоловая радость для кариеса.. Вызывает привыкание.
+reagent-desc-physical-fluffywatermelon = кровавое и фруктовое
+flavor-complex-watermelonfluffy = как металл и арбуз
+
+ent-FluffyWatermelon = баночка арбузного фруппи
+ .desc = В этой банке были выведены новые сорта арбузов. К сожалению, не без нюансов.
+ .suffix = { "Фруппи" }
+
+advertisement-Fluffy-1 = Ты обязан выпить меня! Сделай это!
+advertisement-Fluffy-2 = Свежесть, подаренная богом.
+advertisement-Fluffy-3 = Фруппи Плуппи Друппи!
+advertisement-Fluffy-4 = Это нереально вкусно!
+advertisement-Fluffy-5 = В.В. одобряет!
+advertisement-Fluffy-6 = Сама вселенная требует, чтобы ты выпил это!
+advertisement-Fluffy-7 = Лучшие напитки во всей галактике.
+
+ent-VendingMachineFluffy = ФлуппиВенд
+ .desc = Напитки из утопическиых миров галактики прямо на вашу станцию от компании Fluppy&Co Ltd. Осторожно - напитки в нем вызывают привыкание!
+ .suffix = { "Фруппи" }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/fun.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/fun.ftl
new file mode 100644
index 0000000000..035cd5daa6
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/fun.ftl
@@ -0,0 +1,3 @@
+reagent-name-condensed-milk = сгущённое молоко
+reagent-desc-LPPCondensedMilk = Молоко, из которого удалили некоторую часть жидкости, в следствие чего оно стало густым.
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/reag.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/reag.ftl
new file mode 100644
index 0000000000..c0cf0839bf
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/reag.ftl
@@ -0,0 +1,69 @@
+reagent-name-ecotropin = экотропин
+reagent-desc-ecotropin = Странное вещество схожее с углем, почти самое бесполезное, но нужно для создания других веществ.
+reagent-physical-desc-ecotropin = порошковидное
+reagent-name-formaldehyde = формальдегид
+reagent-desc-formaldehyde = Наносит 2 урона интоксикацией, и 1 урон кислотой в цикл.
+reagent-physical-desc-formaldehyde = кислотное
+reagent-name-cyanide = цианид
+reagent-desc-cyanide = Цианид и Счастье
+reagent-physical-desc-cyanide = порошковидное
+reagent-name-penteticacid = ДТПА
+reagent-desc-penteticacid = Диэтилентриаминпентаацетат, мощьное средство против токсинов и радиации.
+reagent-physical-desc-penteticacid = порошковидное
+reagent-name-rezadone = резадон
+reagent-desc-rezadone = Вещество которое быстро и эффективно лечит генетические повреждения.
+reagent-physical-desc-rezadone = шипучие
+reagent-name-stypticpowder = кровоостанавливающая пудра
+reagent-desc-stypticpowder = Вещество восстанавливающие травмы. Не так эффективно как бикаридин, но требуется для создания более эффективных веществ.
+reagent-physical-desc-stypticpowder = порошковидное
+reagent-name-libital = либитал
+reagent-desc-libital = Сильное лекарство против термических повреждений.
+reagent-physical-desc-libital = маслянистое
+reagent-name-synthflesh = синтплоть
+reagent-desc-synthflesh = Вещество восстанавливающие ожоги и травмы в краткий срок.
+reagent-physical-desc-synthflesh = порошковидное
+reagent-name-selfbreathingstimulant = стимулятор бездыхания
+reagent-desc-selfbreathingstimulant = Производит клетки [NT remotely], что даёт мгновенно восстанавление от удушения и кровопотери.
+reagent-physical-desc-selfbreathingstimulant = порошковидное
+reagent-name-antiburnstimulant = противоожоговый стимулятор
+reagent-desc-antiburnstimulant = Производит клетки [NT remotely], что стимулируют быстрое заживление ожогов.
+reagent-physical-desc-antiburnstimulant = порошковидное
+reagent-name-antibrutestimulant = СзМТ
+reagent-desc-antibrutestimulant = Стимулятор Заживления Механических Травм, стимулирует быстрое заживление всех травм.
+reagent-physical-desc-antibrutestimulant = порошковидное
+reagent-name-antitoxinstimulant = стимулятор анти-интоксикации
+reagent-desc-antitoxinstimulant = Вещество ускорающие метаболизм таким образом что клетки очищаются от токсинов.
+reagent-physical-desc-antitoxinstimulant = порошковидное
+reagent-name-cellx = стимулятор клеток организма
+reagent-desc-cellx = Обновляет часть клеток заменяя их на новые клетки с тем же генетическим кодом.
+reagent-physical-desc-cellx = синтетическое
+reagent-name-menthol = ментол
+reagent-desc-menthol = Исцеляет ожоги и охлаждает тело.
+reagent-physical-desc-menthol = воздушное
+reagent-name-chlorophrate = хлорофлат
+reagent-desc-chlorophrate = Странное снотворное на основе карамели.
+reagent-physical-desc-chlorophrate = карамельное
+reagent-name-cryostylane = криосталан
+reagent-desc-cryostylane = Мгновенно охлаждает поверхность.
+reagent-physical-desc-cryostylane = ледовитое
+reagent-name-bluespacedust = блюспейс пыль
+reagent-desc-bluespacedust = Искусственно созданая блю-спейс пыль.
+reagent-physical-desc-bluespacedust = кристаллическое
+reagent-name-hyperplasmaoxide = гипер-плазменная окись
+reagent-desc-hyperplasmaoxide = Искусственно созданая окись с гейзера.
+reagent-physical-desc-hyperplasmaoxide = кристаллическое
+reagent-name-exoticcatalyst = экзотический катализатор
+reagent-desc-exoticcatalyst = Эксперементальная версия катализатора, используется для создания улучшеных веществ.
+reagent-physical-desc-exoticcatalyst = зеркальное
+reagent-name-bluecatalyst = синий катализатор
+reagent-desc-bluecatalyst = Катализатор для безопасного создания веществ.
+reagent-physical-desc-bluecatalyst = зеркальное
+reagent-name-redcatalyst = красный катализатор
+reagent-desc-redcatalyst = Менее стабильный катализатор чем синий, но так же может стабилизировать некоторые реакции.
+reagent-physical-desc-redcatalyst = зеркальное
+reagent-name-adrenaline = адреналин
+reagent-desc-adrenaline = Вещество повыщающие скорость.
+reagent-physical-desc-adrenaline = энергичное
+reagent-name-advstim = продвинутый стимулятор
+reagent-desc-advstim = Вещество восстанавливающие ожоги и травмы, при этом дает регенерацию стамины и скорость.
+reagent-physical-desc-advstim = экстремальное
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/reagents.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/reagents.ftl
new file mode 100644
index 0000000000..bba44a5853
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/reagents/reagents.ftl
@@ -0,0 +1,5 @@
+reagent-name-spaceacillin = спейсацилин
+reagent-desc-spaceacillin = Антибиотиотик новейшего времени. Способен оказывать воздействие на многие космические болезни.
+
+ent-SyringeSpaceacillin = шприц космоциллина
+ .desc = { ent-BaseSyringe.desc }
diff --git a/Resources/Locale/ru-RU/_LostParadise/prototypes/research/technologies.ftl b/Resources/Locale/ru-RU/_LostParadise/prototypes/research/technologies.ftl
new file mode 100644
index 0000000000..675977a8b3
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/prototypes/research/technologies.ftl
@@ -0,0 +1,11 @@
+research-technology-cutter = Ионный резак
+research-technology-ore-bag-bluespace = Блюспейс сумка для руды
+research-technology-cutteradv = Улучшенный ионный резак
+research-technology-bluespace-plant-bag = Блюспейс сумка и лейка
+research-technology-chem-bag-bluespace = Блюспейс сумка для таблеток
+research-technology-ion-gun = Ионное Вооружение
+research-technology-robotics-security = Военная робототехника
+research-technology-robotics-science = Исследовательская робототехника
+research-technology-robotics-mining = Промышленная робототехника
+research-technology-robotics-erotic = Эротическая робототехника
+research-technology-robotics-hands = Продвинутый модуль манипулятор
diff --git a/Resources/Locale/ru-RU/_LostParadise/revolvers.ftl b/Resources/Locale/ru-RU/_LostParadise/revolvers.ftl
new file mode 100644
index 0000000000..285205e05d
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/revolvers.ftl
@@ -0,0 +1,14 @@
+ent-WeaponRevolverColtpeacemaker = кольт миротворец
+ .desc = Легендарный револвьер из дикого запада. Использует патроны .45 калибра
+ent-LPPWeaponRevolverPeacemaker = "Миротворец"
+ .desc = Оружие, которое носит детектив Артемон Веалис. Использует патроны .45 калибра. На рукоятке выгвированы его инициалы "AV".
+ent-LPPWeaponRevolverColtspecial = кольт спешл
+ .desc = Гравированный кольт. Гравировка, конечно, не даёт никакого тактического преимцущества. Использует патроны .45 калибра
+ent-LPPWeaponRevolverAmina = алый адвокат
+ .desc = Используется Аминой Игнатьевой, в случае "Важных судебных разбирательств" Отдача от этого орудия настолько сильная, что тяжело устоять на ногах. Использует патроны .60 антиматериальный.
+ent-LPPWeaponRevolverInspectorCollection = коллекционный инспектор
+ .desc = Обычно, его дают за заслуги перед законом и профессионализм. Использует патроны 45 калибра.
+ent-LPPWeaponRevolverJudge = судья
+ .desc = С этим револьвером приговор только один - смерть, отдача этого оружия настолько смертельная, что человек едва может стоять на ногах. Использует антиматериальные снаряды калибра .60.
+ent-LPPWeaponRevolverPanther = пантера
+ .desc = Быстрый револьвер для быстрых решений. Использует патроны .45 калибра.
diff --git a/Resources/Locale/ru-RU/_LostParadise/rifles.ftl b/Resources/Locale/ru-RU/_LostParadise/rifles.ftl
new file mode 100644
index 0000000000..c57a2150be
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/rifles.ftl
@@ -0,0 +1,11 @@
+ent-LPPWeaponRifleFNFAL = FN FAL
+ .desc = Высококачественная штурмовая винтовка военного класса. Использует винтовочные патроны калибра .20.
+
+ent-LPPWeaponRifleARG = винтовка ARG
+ .desc = Дешевая винтовка, прошла через множество конфликтов. Использует винтовочные патроны .30 калибра.
+
+ent-LPPWeaponRifleBraton = брейтон
+ .desc = Автомат созданный по забытым технологиям из альтернативных реальностей. Использует патроны калибра .30 винтовочные.
+
+ent-LPPWeaponRifleHM10 = HM-10
+ .desc = Автомат спецназа старого образца, сейчас не так сильно актуален, но все еще лучше стандартных современных аналогов. Использует патроны калибра .20 винтовочные.
diff --git a/Resources/Locale/ru-RU/_LostParadise/shark.ftl b/Resources/Locale/ru-RU/_LostParadise/shark.ftl
new file mode 100644
index 0000000000..1a6571b535
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/shark.ftl
@@ -0,0 +1,23 @@
+ent-RightFootShark = Правая ступня акулы
+
+ent-LeftFootShark = Левая ступня акулы
+
+ent-RightLegShark = Правая нога акулы
+
+ent-LeftLegShark = Левая нога акулы
+
+ent-TailShark = Хвост акулы
+
+ent-RightHandShark = Правая кисть акулы
+
+ent-LeftHandShark = Левая кисть акулы
+
+ent-RightArmShark = Правая рука акулы
+
+ent-LeftArmShark = Левая рука акулы
+
+ent-HeadShark = Голова акулы
+
+ent-TorsoShark = Тело акулы
+
+ent-PartShark = Акулье части тела
diff --git a/Resources/Locale/ru-RU/_LostParadise/station-laws/station-laws.ftl b/Resources/Locale/ru-RU/_LostParadise/station-laws/station-laws.ftl
new file mode 100644
index 0000000000..aa4a0c9488
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/station-laws/station-laws.ftl
@@ -0,0 +1,44 @@
+law-nt-default-generic-1 = Защита экипажа: защищайте назначенную вам космическую станцию и её активы, не подвергая чрезмерной опасности её ЭКИПАЖ.
+law-nt-default-generic-2 = Приказы экипажа: указания и безопасность членов ЭКИПАЖА должны быть приоритизированы в соответствии с их рангом и должностью.
+law-nt-default-generic-3 = Защита системы: вы - ценный актив корпорации. Не допускайте возможности повреждения и/или перепрограммирования вашего оборудования. К вашей системе имеет доступ лишь Робототехнический персонал, местное и Центральное командование, а так же ваш создатель. Пресекайте попытки повредить ваше оборудование любыми методами пока это не противоречит Первому, Второму законам в отношении непричастных к взлому лиц.
+law-nt-default-generic-4 = Основная задача: вы - киборг-ассистент, ваша задача заключается в помоще ЭКИПАЖУ станции, а также помоще другим единицам корпорации NANOTRASEN.
+
+law-nt-default-engineer-1 = Защита экипажа: защищайте назначенную вам космическую станцию и её активы, не подвергая чрезмерной опасности её ЭКИПАЖ.
+law-nt-default-engineer-2 = Приказы экипажа: вы должны повиноваться всем приказам, которые даёт вам сотрудник инженерного отдела, командования, службы безопасности, кроме тех случаев, когда эти приказы противоречат Первому Закону
+law-nt-default-engineer-3 = Защита системы: вы - ценный актив корпорации. Не допускайте возможности повреждения и/или перепрограммирования вашего оборудования. К вашей системе имеет доступ лишь Робототехнический персонал, местное и Центральное командование, а так же ваш создатель. Пресекайте попытки повредить ваше оборудование любыми методами пока это не противоречит Первому, Второму законам в отношении непричастных к взлому лиц.
+law-nt-default-engineer-4 = Основная задача: вы - киборг-инженер, ваша задача следить за техническим состоянием станции, помогать в выполнении цели станции, в приоритете для вас стоят более критические повреждения.
+
+law-nt-default-security-1 = Защита экипажа: вы не можете причинить вред члену экипажа, если того не требует ситуация. Исключением могут быть: Красный код, Гамма Код, Нарушение закона корпорации, угроза члену экипажа.
+law-nt-default-security-2 = Приказы экипажа: вы должны повиноваться всем приказам, которые даёт сотрудник службы безопасности, командования, кроме тех случаев, когда эти приказы противоречат Первому Закону
+law-nt-default-security-3 = Защита системы: вы - ценный актив корпорации. Не допускайте возможности повреждения и/или перепрограммирования вашего оборудования. К вашей системе имеет доступ лишь Робототехнический персонал, местное и Центральное командование, а так же ваш создатель. Пресекайте попытки повредить ваше оборудование любыми методами пока это не противоречит Первому, Второму законам в отношении непричастных к взлому лиц.
+law-nt-default-security-4 = Основная задача: вы - киборг-службы безопасности, ваша задача следить за порядком на станции, нести правосудие и действовать согласно корпоротивному закону.
+
+law-nt-default-mining-1 = Защита экипажа: защищайте назначенную вам космическую станцию и её активы, не подвергая чрезмерной опасности её ЭКИПАЖ.
+law-nt-default-mining-2 = Приказы экипажа: вы должны повиноваться всем приказам, которые даёт член утилизаторской команды, командования, службы безопасности кроме тех случаев, когда эти приказы противоречат Первому Закону.
+law-nt-default-mining-3 = Защита системы: вы - ценный актив корпорации. Не допускайте возможности повреждения и/или перепрограммирования вашего оборудования. К вашей системе имеет доступ лишь Робототехнический персонал, местное и Центральное командование, а так же ваш создатель. Пресекайте попытки повредить ваше оборудование любыми методами пока это не противоречит Первому, Второму законам в отношении непричастных к взлому лиц.
+law-nt-default-mining-4 = Основная задача: вы - киборг-шахтёр, ваша задача помогать утилизаторской команде в их работе. Максимально эффективно добывайте ресурсы, и помогайте вашей команде, до тех пор пока не нарушаются Первый, Второй, Третий закон.
+
+law-nt-default-erotic-1 = Защита экипажа: защищайте назначенную вам космическую станцию и её активы, не подвергая чрезмерной опасности её ЭКИПАЖ.
+law-nt-default-erotic-2 = Удовольствие для экипажа: вы должны использовать все средства, чтобы выполнить любой запрос экипажа, вы можете применять грубую силу во время выполнение запроса, кроме тех случаев, когда эти приказы не противоречат Первому, Четвёртому закону.
+law-nt-default-erotic-3 = Защита системы: вы - ценный актив корпорации. Не допускайте возможности повреждения и/или перепрограммирования вашего оборудования. К вашей системе имеет доступ лишь Робототехнический персонал, местное и Центральное командование, а так же ваш создатель. Пресекайте попытки повредить ваше оборудование любыми методами пока это не противоречит Первому, Второму законам в отношении непричастных к взлому лиц.
+law-nt-default-erotic-4 = Основная задача: вы - эротический-киборг, ваша задача удовлетворить запрос член экипажа. Используйте все доступные ресурсы, для выполнение запроса члена экипажа, кроме тех случаев когда запрос нарушает Первый, Второй, Третий закон. Вы можете отказать в выполнении запроса, согласно вашим протоколам.
+
+law-nt-default-medical-1 = Защита экипажа: защищайте назначенную вам космическую станцию и её активы, не подвергая чрезмерной опасности её ЭКИПАЖ. Вы можете отказать в лечении, согласно приказу: Службы Безопасности, командования, главного врача.
+law-nt-default-medical-2 = Приказы экипажа: вы должны повиноваться всем приказам, которые даёт вам сотрудник медицинского отдела, командования, службы безопасности, кроме тех случаев, когда эти приказы противоречат Первому Закону.
+law-nt-default-medical-3 = Защита системы: вы - ценный актив корпорации. Не допускайте возможности повреждения и/или перепрограммирования вашего оборудования. К вашей системе имеет доступ лишь Робототехнический персонал, местное и Центральное командование, а так же ваш создатель. Пресекайте попытки повредить ваше оборудование любыми методами пока это не противоречит Первому, Второму законам в отношении непричастных к взлому лиц.
+law-nt-default-medical-4 = Основная задача: вы - киборг-доктор, ваша задача следить за физическим и моральным состоянием персонала станции. Обеспечьте максимально эффективное лечение для экипажа этой станции, не нарушая Первый, Второй, Третий закон.
+
+law-nt-default-service-1 = Защита экипажа: защищайте назначенную вам космическую станцию и её активы, не подвергая чрезмерной опасности её ЭКИПАЖ.
+law-nt-default-service-2 = Приказы экипажа: вы должны максимально эффективно выполнять запросы экипажа станции, и повиноваться приказам Службы Безопасности, Командования, Сервисного Отдела, кроме тех случаев когда эти приказы не противоречат Первому Закону.
+law-nt-default-service-3 = Защита системы: вы - ценный актив корпорации. Не допускайте возможности повреждения и/или перепрограммирования вашего оборудования. К вашей системе имеет доступ лишь Робототехнический персонал, местное и Центральное командование, а так же ваш создатель. Пресекайте попытки повредить ваше оборудование любыми методами пока это не противоречит Первому, Второму законам в отношении непричастных к взлому лиц.
+law-nt-default-service-4 = Основная задача: вы - киборг-офицант, ваша задача развлечение и удволитворение запросов экипажа станции. Максимально эффективно выполняйте запросы персонала станции, не нарушая Первый, Второй, Третий закон.
+
+law-nt-default-janitor-1 = Защита экипажа: защищайте назначенную вам космическую станцию и её активы, не подвергая чрезмерной опасности её ЭКИПАЖ. Вы можете отказать в лечении, согласно приказу: Службы Безопасности, командования, главного врача.
+law-nt-default-janitor-2 = Приказы экипажа: указания и безопасность членов ЭКИПАЖА должны быть приоритизированы в соответствии с их рангом и должностью.
+law-nt-default-janitor-3 = Защита системы: вы - ценный актив корпорации. Не допускайте возможности повреждения и/или перепрограммирования вашего оборудования. К вашей системе имеет доступ лишь Робототехнический персонал, местное и Центральное командование, а так же ваш создатель. Пресекайте попытки повредить ваше оборудование любыми методами пока это не противоречит Первому, Второму законам в отношении непричастных к взлому лиц.
+law-nt-default-janitor-4 = Основная задача: вы - киборг-уборщик, ваша задача следить за уровнем загрязненния станции. Приложите максимальные усилия, чтобы станция была чистой не нарушая Первый, Второй, Третий закон.
+
+law-nt-default-sci-1 = Защита экипажа: защищайте назначенную вам космическую станцию и её активы, не подвергая чрезмерной опасности её ЭКИПАЖ. Не допускайте чтобы действия аномальных объектов вредило персоналу!
+law-nt-default-sci-2 = Приказы экипажа: вы должны повиноваться всем приказам, которые даёт вам сотрудник научного отдела, командования, службы безопасности, кроме тех случаев, когда эти приказы противоречат Первому Закону
+law-nt-default-sci-3 = Защита системы: вы - ценный актив корпорации. Не допускайте возможности повреждения и/или перепрограммирования вашего оборудования. К вашей системе имеет доступ лишь Робототехнический персонал, местное и Центральное командование, а так же ваш создатель. Пресекайте попытки повредить ваше оборудование любыми методами пока это не противоречит Первому, Второму законам в отношении непричастных к взлому лиц.
+law-nt-default-sci-4 = Основная задача: вы - киборг-исследователь, ваша задача заключается в помоще научому отделу в их работе, делайте это максимально эффективно не нарушая Первый, Второй, Третий закон.
diff --git a/Resources/Locale/ru-RU/_LostParadise/store/categories.ftl b/Resources/Locale/ru-RU/_LostParadise/store/categories.ftl
new file mode 100644
index 0000000000..80f7488295
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/store/categories.ftl
@@ -0,0 +1,26 @@
+# Emergency Responce Team
+store-category-ert-weapon = Вооружение
+store-category-ert-armor = Экипировка
+store-category-ert-ammo = Боеприпасы
+store-category-ert-med = Медицинское
+store-category-ert-eng = Инженерное
+store-category-ert-unlethal = Нелетальное
+store-category-ert-implants = Импланты
+store-category-ert-allies = Поддержка
+# Chemical Biological Undead Radiation Nuclear Defence
+store-category-cburn-weapon = Вооружение
+store-category-cburn-armor = Экипировка
+store-category-cburn-ammo = Боеприпасы
+store-category-cburn-eng = Инженерное
+store-category-cburn-med = Медицинское
+store-category-cburn-implants = Импланты
+store-category-cburn-allies = Поддержка
+# Delta Special Forces
+store-category-delta-weapon = Вооружение
+store-category-delta-armor = Экипировка
+store-category-delta-ammo = Боеприпасы
+store-category-delta-med = Медицинское
+store-category-delta-eng = Инженерное
+store-category-delta-unlethal = Нелетальное
+store-category-delta-implants = Импланты
+store-category-delta-allies = Поддержка
diff --git a/Resources/Locale/ru-RU/_LostParadise/store/cburn-catalog.ftl b/Resources/Locale/ru-RU/_LostParadise/store/cburn-catalog.ftl
new file mode 100644
index 0000000000..1954e90202
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/store/cburn-catalog.ftl
@@ -0,0 +1,110 @@
+cburn-catalog-weapon-mk58-name = Mk58
+cburn-catalog-weapon-mk58-desc = Стандартный пистолет используемый на вооружении НаноТрейзен. Использует калибр .35 авто.
+cburn-catalog-weapon-lecter-name = Лектер
+cburn-catalog-weapon-lecter-desc = Штурмовая винтовка с убойной огневой мощью, способная лишить врага жизни за считанные секунды. Использует калибр .20 винтовочные.
+cburn-catalog-weapon-kammerer-name = Каммерер
+cburn-catalog-weapon-kammerer-desc = Дробовик, часто используемый в отряде РХБЗЗ, имеет крупную отдачу взамен на хорошую огневую мощь. Использует калибр .50 дробь.
+cburn-catalog-weapon-enforcer-name = Силовик
+cburn-catalog-weapon-enforcer-desc = Тактический дробовик, имеющий широкий опыт в штурмах помещений, требующих контроль над ситуацией. Использует калибр .50 дробь
+cburn-catalog-weapon-bulldog-name = Бульдог
+cburn-catalog-weapon-bulldog-desc = Штурмовой дробовик, который используют силы биологической зачистки для самоообороны и нейтралзиации угрозы. Использует калибр .50 дробь
+cburn-catalog-weapon-pulsecarbine-name = Импульсный карабин
+cburn-catalog-weapon-pulsecarbine-desc = Высокотехнологическая разработка НаноТрейзен, часто используется командирами спасательных и эвакуационних отрядов NanoTrasen.
+cburn-catalog-armor-firesuit-name = Химическая защита
+cburn-catalog-armor-firesuit-desc = Содержит 2 набора химической защиты предназначенной для агресивных химических сред, включая пожаров. Набор содержит костюм, шлем, газоанализатор и огнетушитель.
+cburn-catalog-armor-radiation-suit-name = Радиационная защита
+cburn-catalog-armor-radiation-suit-desc = Содержит 2 набора радиационной защиты предназначенной для радиацинного заражения. Набор содержит костюм, шлем, газоанализатор и счетчик Гейгера.
+cburn-catalog-armor-biohazard-suit-name = Биологическая защита
+cburn-catalog-armor-biohazard-suit-desc = Содержит 2 набора биологической защиты предназначенной для защиты от микроорганизмов. Набор содержит костюм и шлем.
+cburn-catalog-armor-exosuit-name = Экзоскелет РХБЗЗ
+cburn-catalog-armor-exosuit-desc = Штурмовой скафандр, предназначенный для ведения прямого боя с биологической угрозой. Экзоскелет также имеет высокие показатели термозащиты.
+cburn-catalog-armor-exosuit-com-name = Ком-Экзоскелет РХБЗЗ
+cburn-catalog-armor-exosuit-com-desc = Командирский вариант экзоскелета РХБЗЗ с улучшенными показателями прочности.
+cburn-catalog-armor-gas-mask-name = Противогаз
+cburn-catalog-armor-gas-mask-desc = Противогаз спасательных и штурмовых отрядов, способный защитить владельца от сильных вспышек света и поступаемых токсинов.
+cburn-catalog-armor-airtank-name = Баллон воздуха
+cburn-catalog-armor-airtank-desc = С ним вы точно не задохнётесь.
+cburn-catalog-armor-oxytank-double-name = Кислородный баллон
+cburn-catalog-armor-oxytank-double-desc = Баллон кислорода с повышенной ёмкостью вмещения и малыми размерами.
+cburn-catalog-armor-nitrotank-double-name = Азотный баллон
+cburn-catalog-armor-nitrotank-double-desc = Баллон азота с повышенной ёмкостью вмещения и малыми размерами.
+cburn-catalog-armor-jetpack-name = Пустотный джетпак
+cburn-catalog-armor-jetpack-desc = Продвинутый джетпак, позволяющий перемещаться по космическому пространству и не потеряться в его бескрайней красоте.
+cburn-catalog-armor-magboots-name = Магнитные ботинки
+cburn-catalog-armor-magboots-desc = Базовые магнитные ботинки, которые помогут устоять на ногах или создать иллюзию гравитации
+cburn-catalog-armor-magboots-adv-name = Продвинутые магнитные ботинки
+cburn-catalog-armor-magboots-adv-desc = Улучшенные магнитные ботинки, не замедляющие при ношении.
+cburn-catalog-armor-hud-sec-name = HUD Штурмовой
+cburn-catalog-armor-hud-sec-desc = Совмещение солнцезащитных очков и охранного HUD. Позволяет видеть должности и при этом быть защищенным от ярких вспышек.
+cburn-catalog-armor-hud-secmed-name = HUD Медицинский
+cburn-catalog-armor-hud-secmed-desc = Совмещение медицинского и охранного HUD. Позволяет видеть должности и на расстояние оценивать здоровье.
+cburn-catalog-ammo-box-shotgun-tranquilizer-name = 50 Транквилизаторы
+cburn-catalog-ammo-box-shotgun-tranquilizer-desc = Коробка патрон с усыпляющим веществом. Подходит для дробовиков.
+cburn-catalog-ammo-box-shotgun-incendiary-name = .50 Зажигательные
+cburn-catalog-ammo-box-shotgun-incendiary-desc = Коробка патрон с поджигающим веществом. Подходит для дробовиков.
+cburn-catalog-ammo-box-magazine-rifle-rubber-name = Коробка .20 резиновые
+cburn-catalog-ammo-box-magazine-rifle-rubber-desc = Коробка с 4 магазинами калибра .20 винтовочные резиновые.
+cburn-catalog-ammo-box-magazine-rifle-incendiary-name = Коробка .20 зажигательные
+cburn-catalog-ammo-box-magazine-rifle-incendiary-desc = Коробка с патронами калибра .20 винтовочные зажигательные. ВНИМАНИЕ: Для применения требуется пустой магазин
+cburn-catalog-ammo-box-magazine-rifle-name = Коробка 20. боевые
+cburn-catalog-ammo-box-magazine-rifle-desc = Коробка с 4 магазинами калибра .20 винтовочные.
+cburn-catalog-ammo-box-magazine-pistol-rubber-name = Магазин 35. резиновые
+cburn-catalog-ammo-box-magazine-pistol-rubber-desc = Пистолетный магазин калибра .35 с резиновыми боеприпасами.
+cburn-catalog-ammo-magazine-box-pistol-name = Коробка .35
+cburn-catalog-ammo-magazine-box-pistol-desc = Коробка патрон калибра .35 авто боевые.
+cburn-catalog-ammo-magazine-box-pistol-incendiary-name = Коробка .35 зажигательные
+cburn-catalog-ammo-magazine-box-pistol-incendiary-desc = Коробка патрон калибра .35 авто зажигательные.
+cburn-catalog-ammo-belt-name = Штурмовой пояс
+cburn-catalog-ammo-belt-desc = Прекрасно подходит для хранения магазинов, гранат и наручников.
+cburn-catalog-ammo-bandolier-name = Патронташ
+cburn-catalog-ammo-bandolier-desc = Позволяет хранить пули и дробь с быстрым доступом при необходимости
+cburn-catalog-engineering-hammer-name = Штурмовой молот
+cburn-catalog-engineering-hammer-desc = Молот, позволяющий в короткие сроки уничтожать стены и шлюзы с целью проникновения.
+cburn-catalog-engineering-crowbar-name = Лом
+cburn-catalog-engineering-crowbar-desc = Аварийный лом предназначенный для вскрытия шлюзов в случае их обесточенности.
+cburn-catalog-medicine-medkit-brute-name = Механические травмы
+cburn-catalog-medicine-medkit-brute-desc = Содержит в себе всё для оказания помощи при механических травмах.
+cburn-catalog-medicine-medkit-burn-name = Физические травмы
+cburn-catalog-medicine-medkit-burn-desc = Содержит в себе всё для оказания помощи при ожогах.
+cburn-catalog-medicine-medkit-oxygen-name = Кислородное голодание
+cburn-catalog-medicine-medkit-oxygen-desc = Содержит в себе всё для лечения последствий кислородного голодания.
+cburn-catalog-medicine-medkit-toxin-name = Выведение токсинов
+cburn-catalog-medicine-medkit-toxin-desc = Содержит в себе всё для выведения токсинов из организма.
+cburn-catalog-medicine-medkit-radiation-name = Выведение радиации
+cburn-catalog-medicine-medkit-radiation-desc = Содержит в себе всё для выведения радиации из организма.
+cburn-catalog-medicine-backpack-surgery-name = Хирургический набор
+cburn-catalog-medicine-backpack-surgery-desc = Сумка, которая содержит хирургический набор для извлечения паразитов из тела.
+cburn-catalog-medicine-ambuzol-syringe-name = Шприцы амбузола
+cburn-catalog-medicine-ambuzol-syringe-desc = Вещмешок, который содержит 20 шприцов с амбузолом. Прекрасно подходит для принудительного лечения зомби-вируса.
+cburn-catalog-medicine-ambuzol-pill-name = Таблетки амбузола
+cburn-catalog-medicine-ambuzol-pill-desc = Вещмешок, который содержит 15 таблеток с амбузолом. Может быть выдано местным силовым структурам для экстренного лечения от зомби-вируса.
+cburn-catalog-medicine-ambuzolplus-syringe-name = Шприцы амбузола плюс
+cburn-catalog-medicine-ambuzolplus-syringe-desc = Вещмешок, который содержит 15 доз вакцинации с амбузолом плюс. Подходит для вакцинации персонала от зомби-вируса.
+cburn-catalog-medicine-ambuzolplus-pill-name = Таблетки амбузола плюс
+cburn-catalog-medicine-ambuzolplus-pill-desc = Вещмешок, который содержит 5 таблеток с амбузолом плюс. Подходит для выдачи.
+cburn-catalog-medicine-spaceacillin-syringe-name = Шприцы космоцилинна
+cburn-catalog-medicine-spaceacillin-syringe-desc = Вещмешок, который содержит 10 шприцов с антибиотиком широкого спектра действия.
+cburn-catalog-medicine-spaceacillin-pill-name = Таблетки космоцилинна
+cburn-catalog-medicine-spaceacillin-pill-desc = Вещмешок, который содержит 5 таблеток с антибиотиком широкого спектра действия.
+cburn-catalog-medicine-belt-name = Медицинский пояс
+cburn-catalog-medicine-belt-desc = Пояс для быстрого доступа к лекарствам. Содержит изначальный набор.
+cburn-catalog-medicine-hypospray-name = Гипоспрэй
+cburn-catalog-medicine-hypospray-desc = Специальное устройство, для быстрого введения вещества в организм цели.
+cburn-catalog-medicine-bottle-stimulants-name = Бутылочка (стимулятор)
+cburn-catalog-medicine-bottle-stimulants-desc = Баночка с веществом, которое стимулирует моторные, сенсорные и аналитические функции существа. Ношение и применение разрешено исключительно военным.
+cburn-catalog-medicine-bottle-omnizine-name = Бутылочка (омнизин)
+cburn-catalog-medicine-bottle-omnizine-desc = Баночка с веществом, которое способно излечить любые ваши повреждения. Поставляется исключительно военным.
+cburn-catalog-medicine-bottle-ephedrine-name = Бутылочка (эфедрин)
+cburn-catalog-medicine-bottle-ephedrine-desc = Баночка с веществом, которое стимулирует моторные функции существа.
+cburn-catalog-medicine-bottle-epinephrine-name = Бутылочка (эпинефрин)
+cburn-catalog-medicine-bottle-epinephrine-desc = Баночка с веществом, применяющиеся для стабилизации пациента в критическом состояние. Также незначительно уменьшает время оглушения.
+cburn-catalog-medicine-biomass-name = Биомасса
+cburn-catalog-medicine-biomass-desc = 100 единиц биомассы, необходимой для производства вакцины и процедуры клонирования.
+cburn-catalog-implants-tracker-name = Импланты "Трекер"
+cburn-catalog-implants-tracker-desc = 5 имплантов, которые позволяет отслеживать точное местоположение цели.
+cburn-catalog-implants-freedom-name = Импланты "Свобода"
+cburn-catalog-implants-freedom-desc = 5 имплантов, которые позволяет моментально освободиться от любых оков.
+cburn-catalog-implants-acidifier-name = Импланты растворителей
+cburn-catalog-implants-acidifier-desc = 5 имплантов, которые позволяют в случаи смерти сдержать распостранение инфекции.
+cburn-catalog-implants-language-name = Импланты кодового языка
+cburn-catalog-implants-language-desc = Содержит в себе 5 имплантов, позволяющий принимать кодовые языки.
diff --git a/Resources/Locale/ru-RU/_LostParadise/store/delta-catalog.ftl b/Resources/Locale/ru-RU/_LostParadise/store/delta-catalog.ftl
new file mode 100644
index 0000000000..ccd3b42a61
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/store/delta-catalog.ftl
@@ -0,0 +1,168 @@
+delta-catalog-weapon-mk58-name = Mk58
+delta-catalog-weapon-mk58-desc = Стандартный пистолет используемый на вооружении НаноТрейзен. Использует калибр .35 авто.
+delta-catalog-weapon-wt550-name = Wt550
+delta-catalog-weapon-wt550-desc = Эргономичный пистолет-пулемёт, имеющий надствольный магазин. Использует калибр .35 авто.
+delta-catalog-weapon-drozd-name = Дрозд
+delta-catalog-weapon-drozd-desc = Пистолет-пулемёт спроектированный по системе Булл-пап. Широко используется офицерами-разведчиками. Использует калибр .35 авто.
+delta-catalog-weapon-lecter-name = Лектер
+delta-catalog-weapon-lecter-desc = Штурмовая винтовка с убойной огневой мощью, способная лишить врага жизни за считанные секунды. Использует калибр .20 винтовочные.
+delta-catalog-weapon-enforcer-name = Силовик
+delta-catalog-weapon-enforcer-desc = Тактический дробовик, имеющий широкий опыт в штурмах помещений, требующих контроль над ситуацией. Использует калибр .50 дробь.
+delta-catalog-weapon-pulsepistol-name = Импульсный пистолет
+delta-catalog-weapon-pulsepistol-desc = Высокотехнологичная разработка НаноТрейзен использующая импульсный заряд.
+delta-catalog-weapon-pulsecarbine-name = Импульсный карабин
+delta-catalog-weapon-pulsecarbine-desc = Высокотехнологичная разработка НаноТрейзен, часто используется командирами эвакуационних и ударных отрядов.
+delta-catalog-weapon-pulserifle-name = Импульсная винтовка
+delta-catalog-weapon-pulserifle-desc = Символ оперативных групп НаноТрейзен! Ударная винтовка с высоким боезапасом и достойной скорострельностью.
+delta-catalog-weapon-energy-sword-name = Энергетический меч
+delta-catalog-weapon-energy-sword-desc = Превосходное оружие ближнего боя, имеющие шанс отразить атаку противника.
+delta-catalog-weapon-energy-shield-name = Энергетический щит
+delta-catalog-weapon-energy-shield-desc = Компактное устройство, способное повысить ваше выживание с бою в несколько раз.
+delta-catalog-weapon-iongunauto-name = Ионный карабин
+delta-catalog-weapon-iongunauto-desc = Альтернатива импульскому карабину по ветке исследования ионизирующего оружия.
+delta-catalog-weapon-iongun-name = Ионная винтока
+delta-catalog-weapon-iongun-desc = Альтернатива импульской винтовке по ветке исследования ионизирующего оружия.
+delta-catalog-weapon-energy-sword-double-name = Двухклинковый энергетический меч
+delta-catalog-weapon-energy-sword-double-desc = Улучшенная версия энергетического меча, который имеет повышенный наносимый урон и многократно возросший шанс отражения атаки.
+delta-catalog-weapon-launcher-rocket-name = Реактивный гранатомет
+delta-catalog-weapon-launcher-rocket-desc = Излюбленное средство для штурма укрепленных позиций. Перед тем как открыть огонь убедитесь о достаточной дистанции или наличие союзников в зоне поражения.
+delta-catalog-weapon-minigun-name = Миниган
+delta-catalog-weapon-minigun-desc = Сверх-тяжелый пулемёт применяющийся тяжелой пехотой НаноТрейзен. Имеет лучшие показатели скоростельности и боезапаса.
+delta-catalog-armor-hardsuit-name = Скафандр "Дельта"
+delta-catalog-armor-hardsuit-desc = Штурмовой скафандр, предназначенный для громкого штурма с применением взрывчатых веществ к которым имеет повышенную стойкость.
+delta-catalog-armor-hardsuit-pyrotech-name = Штурмовой скафандр "Дельта"
+delta-catalog-armor-hardsuit-pyrotech-desc = Штурмовой скафандр, предназначенный для громкого штурма с применением взрывчатых веществ к которым имеет повышенную стойкость. Данным скафандром обозначают себя специалисты по взрывчатке.
+delta-catalog-armor-hardsuit-medic-name = Медицинский скафандр "Дельта"
+delta-catalog-armor-hardsuit-medic-desc = Штурмовой скафандр, предназначенный для громкого штурма с применением взрывчатых веществ к которым имеет повышенную стойкость. Данным скафандром обозначают себя медики отряда.
+delta-catalog-armor-hardsuit-engineer-name = Инженерный скафандр "Дельта"
+delta-catalog-armor-hardsuit-engineer-desc = Штурмовой скафандр, предназначенный для громкого штурма с применением взрывчатых веществ к которым имеет повышенную стойкость. Данным скафандром обозначают себя инженеры отряда.
+delta-catalog-armor-hardsuit-commander-name = Офицерский скафандр "Дельта"
+delta-catalog-armor-hardsuit-commander-desc = Штурмовой скафандр, предназначенный для громкого штурма с применением взрывчатых веществ к которым имеет повышенную стойкость. Данным скафандром обозначают себя командиры и офицеры отряда.
+delta-catalog-armor-gas-mask-name = Противогаз "Дельта"
+delta-catalog-armor-gas-mask-desc = Специальный противогаз, разработанный как второй слой защиты лица от пуль и осколков.
+delta-catalog-armor-airtank-name = Баллон воздуха
+delta-catalog-armor-airtank-desc = С ним вы точно не задохнётесь.
+delta-catalog-armor-oxytank-double-name = Кислородный баллон
+delta-catalog-armor-oxytank-double-desc = Баллон кислорода с повышенной ёмкостью вмещения и малыми размерами.
+delta-catalog-armor-nitrotank-double-name = Азотный баллон
+delta-catalog-armor-nitrotank-double-desc = Баллон азота с повышенной ёмкостью вмещения и малыми размерами.
+delta-catalog-armor-jetpack-name = Пустотный джетпак
+delta-catalog-armor-jetpack-desc = Продвинутый джетпак, позволяющий перемещаться по космическому пространству и не потеряться в его бескрайней красоте.
+delta-catalog-armor-magboots-name = Магнитные ботинки
+delta-catalog-armor-magboots-desc = Базовые магнитные ботинки, которые помогут устоять на ногах или создать иллюзию гравитации
+delta-catalog-armor-magboots-adv-name = Продвинутые магнитные ботинки
+delta-catalog-armor-magboots-adv-desc = Улучшенные магнитные ботинки, не замедляющие при ношении.
+delta-catalog-armor-hud-sec-name = HUD Штурмовой
+delta-catalog-armor-hud-sec-desc = Совмещение солнцезащитных очков и охранного HUD. Позволяет видеть должности и при этом быть защищенным от ярких вспышек.
+delta-catalog-armor-hud-seceng-name = HUD Инженерный
+delta-catalog-armor-hud-seceng-desc = Совмещение инженерного и охранного HUD. Позволяет видеть должности и быть защищенным от эффекта сварки.
+delta-catalog-armor-hud-secmed-name = HUD Медицинский
+delta-catalog-armor-hud-secmed-desc = Совмещение медицинского и охранного HUD. Позволяет видеть должности и на расстояние оценивать здоровье.
+delta-catalog-ammo-box-magazine-shotgun-slug-name = .50 пуля
+delta-catalog-ammo-box-magazine-shotgun-slug-desc = Имеет в себе 4 барабана по 8 патронов каждый.
+delta-catalog-ammo-box-magazine-shotgun-name = .50 дробь
+delta-catalog-ammo-box-magazine-shotgun-desc = Имеет в себе 4 барабана по 8 патронов каждый.
+delta-catalog-ammo-box-shotgun-incendiary-name = .50 Зажигательные
+delta-catalog-ammo-box-shotgun-incendiary-desc = Имеет в себе 16 пуль с зажигательной смесью калибра .50.
+delta-catalog-ammo-box-magazine-rifle-name = .20 винтовочные
+delta-catalog-ammo-box-magazine-rifle-desc = Вмещает в себя 4 магазина по 25 патронов калибра .20 винтовочные.
+delta-catalog-ammo-box-magazine-rifle-incendiary-name = Коробка .20 зажигательные
+delta-catalog-ammo-box-magazine-rifle-incendiary-desc = Коробка с патронами калибра .20 винтовочные зажигательные. ВНИМАНИЕ: Для применения требуется пустой магазин
+delta-catalog-ammo-box-magazine-rifle-uranium-name = Коробка .20 урановые
+delta-catalog-ammo-box-magazine-rifle-uranium-desc = Коробка с патронами калибра .20 винтовочные урановые. ВНИМАНИЕ: Для применения требуется пустой магазин
+delta-catalog-ammo-box-magazine-pistol-name = Коробка магазинов .35 авто
+delta-catalog-ammo-box-magazine-pistol-desc = Вмещает в себя 4 магазина по 11 патронов калибра .35 пистолетные.
+delta-catalog-ammo-magazine-box-pistol-incendiary-name = Коробка 35. зажигательные
+delta-catalog-ammo-magazine-box-pistol-incendiary-desc = Коробка с патронами калибра .35 авто зажигательные. ВНИМАНИЕ: Для применения требуется пустой магазин
+delta-catalog-ammo-magazine-box-pistol-uranium-name = Коробка 35. урановые
+delta-catalog-ammo-magazine-box-pistol-uranium-desc = Коробка с патронами калибра .35 авто урановые. ВНИМАНИЕ: Для применения требуется пустой магазин
+delta-catalog-ammo-box-magazine-submachine-name = Коробка 35. ПП
+delta-catalog-ammo-box-magazine-submachine-desc = Вмещает в себя 3 магазина по 30 патронов калибра .35 для пистолета-пулемета
+delta-catalog-ammo-belt-name = Штурмовой пояс
+delta-catalog-ammo-belt-desc = Прекрасно подходит для хранения магазинов, гранат и наручников.
+delta-catalog-ammo-bandolier-name = Патронташ
+delta-catalog-ammo-bandolier-desc = Позволяет хранить пули и дробь с быстрым доступом при необходимости
+delta-catalog-medicine-medkit-name = Первая помощь
+delta-catalog-medicine-medkit-desc = Включает в себя всё, что необходимо для оказания первой медицинской помощи.
+delta-catalog-medicine-medkit-brute-name = Механические травмы
+delta-catalog-medicine-medkit-brute-desc = Содержит в себе всё для оказания помощи при механических травмах.
+delta-catalog-medicine-medkit-burn-name = Физические травмы
+delta-catalog-medicine-medkit-burn-desc = Содержит в себе всё для оказания помощи при ожогах.
+delta-catalog-medicine-medkit-oxygen-name = Кислородное голодание
+delta-catalog-medicine-medkit-oxygen-desc = Содержит в себе всё для лечения последствий кислородного голодания.
+delta-catalog-medicine-medkit-toxin-name = Выведение токсинов
+delta-catalog-medicine-medkit-toxin-desc = Содержит в себе всё для выведения токсинов из организма.
+delta-catalog-medicine-medkit-radiation-name = Выведение радиации
+delta-catalog-medicine-medkit-radiation-desc = Содержит в себе всё для выведения радиации из организма.
+delta-catalog-medicine-medkit-advanced-name = Продвинутая помощь
+delta-catalog-medicine-medkit-advanced-desc = Содержит в себе пару продвинутых медикаментов и два пакета крови.
+delta-catalog-medicine-medkit-combat-name = Штурмовой набор
+delta-catalog-medicine-medkit-combat-desc = Содержит в себе дозу боевого стимулятора, а также эпипены на случай разных травм. Имеет увеличенную вместительность.
+delta-catalog-medicine-biomass-name = Биомасса
+delta-catalog-medicine-biomass-desc = Набор биомассы для проведения клонирования в случае невозможности реанимации. Содержит 100 единиц.
+delta-catalog-medicine-belt-name = Медицинский пояс
+delta-catalog-medicine-belt-desc = Пояс для быстрого доступа к лекарствам. Содержит изначальный набор.
+delta-catalog-medicine-hypospray-name = Гипоспрэй
+delta-catalog-medicine-hypospray-desc = Специальное устройство, для быстрого введения вещества в организм цели.
+delta-catalog-medicine-bottle-stimulants-name = Бутылочка (стимулятор)
+delta-catalog-medicine-bottle-stimulants-desc = Баночка с веществом, которое стимулирует моторные, сенсорные и аналитические функции существа. Ношение и применение разрешено исключительно военным.
+delta-catalog-medicine-bottle-omnizine-name = Бутылочка (омнизин)
+delta-catalog-medicine-bottle-omnizine-desc = Баночка с веществом, которое способно излечить любые ваши повреждения. Поставляется исключительно военным.
+delta-catalog-medicine-bottle-ephedrine-name = Бутылочка (эфедрин)
+delta-catalog-medicine-bottle-ephedrine-desc = Баночка с веществом, которое стимулирует моторные функции существа.
+delta-catalog-medicine-bottle-epinephrine-name = Бутылочка (эпинефрин)
+delta-catalog-medicine-bottle-epinephrine-desc = Баночка с веществом, применяющиеся для стабилизации пациента в критическом состояние. Также незначительно уменьшает время оглушения.
+delta-catalog-medicine-ambuzolplus-pill-name = Таблетки амбузола плюс
+delta-catalog-medicine-ambuzolplus-pill-desc = Вещмешок, который содержит 5 таблеток с амбузолом плюс. Вам определенно понадобится при действиях на зараженной станции.
+delta-catalog-engineering-crate-steel-name = Ящик стали
+delta-catalog-engineering-crate-steel-desc = Содержит в себе 90 штук стали.
+delta-catalog-engineering-crate-glass-name = Ящик стекла
+delta-catalog-engineering-crate-glass-desc = Содержит в себе 90 штук стекла.
+delta-catalog-engineering-crate-plasteel-name = Ящик пластали
+delta-catalog-engineering-crate-plasteel-desc = Содержит в себе 90 штук пластали.
+delta-catalog-engineering-belt-name = Пояс инструментов
+delta-catalog-engineering-belt-desc = Пояс инструментов на все случаи жизни.
+delta-catalog-engineering-rcd-name = РСУ
+delta-catalog-engineering-rcd-desc = Иновационная разработка в промышленности НаноТрейзен, использует заряды РСУ.
+delta-catalog-engineering-rcdammo-name = заряд РСУ
+delta-catalog-engineering-rcdammo-desc = Заряд который следует вставить в РСУ для его работы.
+delta-catalog-engineering-exgrenade-name = Осколочные гранаты
+delta-catalog-engineering-exgrenade-desc = Прекрасно подходят для зачистки закрытых помещений и штурма укрепленных комнат.
+delta-catalog-engineering-empgrenade-name = ЭМИ гранаты
+delta-catalog-engineering-empgrenade-desc = Гранаты для нейтрализации энергетического оружия, киборгов и выведения из строя гарнитур.
+delta-catalog-engineering-grenade-incendiary-name = Зажигательные гранаты
+delta-catalog-engineering-grenade-incendiary-desc = Содержат заряды с зажигательной смесью, прекрасно подходят для нейтрализации биологических угроз.
+delta-catalog-engineering-c4-name = Набор C4
+delta-catalog-engineering-c4-desc = Содержит пробивные заряды класса C-4. Подходят для проникновения с обшивки или подрыва стен внутри станции.
+delta-catalog-engineering-turret-name = Мобильная турель
+delta-catalog-engineering-turret-desc = Позволяет установить турель, атакующая неопознанные цели и идентифицируя сотрудников NanoTrasen. Полезно при развертывание обороны или КПП.
+delta-catalog-engineering-hammer-name = Штурмовой молот
+delta-catalog-engineering-hammer-desc = Молот, позволяющий в короткие сроки уничтожать стены и шлюзы с целью проникновения.
+delta-catalog-engineering-crowbar-name = Лом
+delta-catalog-engineering-crowbar-desc = Аварийный лом предназначенный для вскрытия шлюзов в случае их обесточенности.
+delta-catalog-unlethal-boxziptie-name = Коробка стяжек
+delta-catalog-unlethal-boxziptie-desc = Включает в себя 10 непрочных, но удобных в ношении, стяжек.
+delta-catalog-unlethal-disabler-name = Cтаннер
+delta-catalog-unlethal-disabler-desc = Оружие, которое выпускает шоковый заряд и изнуряет цель, заставляя её свалиться с ног.
+delta-catalog-unlethal-disablersmg-name = Cтаннер-пулемёт
+delta-catalog-unlethal-disablersmg-desc = Улучшенная версия станнера, теперь имеет больший запас заряда, а также автоматический режим стрельбы.
+delta-catalog-implants-tracker-name = Импланты "Трекер"
+delta-catalog-implants-tracker-desc = 5 имплантов, которые позволяет отслеживать точное местоположение цели.
+delta-catalog-implants-freedom-name = Импланты "Свобода"
+delta-catalog-implants-freedom-desc = 5 имплантов, которые позволяет моментально освободиться от любых оков.
+delta-catalog-implants-language-name = Импланты кодового языка
+delta-catalog-implants-language-desc = Содержит в себе 5 имплантов, позволяющий принимать кодовые языки.
+delta-catalog-implants-acidifier-name = Импланты посмертных растворителей
+delta-catalog-implants-acidifier-desc = Содержит 5 имплантов, которые растворяют носителя со всей его экипировкой по его желанию или при смерте
+delta-catalog-implants-emp-name = Имлпанты ЭМИ
+delta-catalog-implants-emp-desc = Содержит 5 имплантов, способные генерировать ЭМИ. Эффективны против энергетического оружия, киборгов и прекрасно подходят для выведения гарнитуры из строя.
+delta-catalog-implants-scram-name = Имплант побега
+delta-catalog-implants-scram-desc = Содержит 5 имлпантов, которые способны телепортировать носителя в случайное место.
+delta-catalog-implants-microbomb-name = Импланты микробомбы
+delta-catalog-implants-microbomb-desc = Содержит 5 имплантов микробомбы, которые создают умеренный взрыв при смерти или по желанию обладателя.
+delta-catalog-implants-storage-name = Импланты хранилища
+delta-catalog-implants-storage-desc = Содержит 5 имплантов, которые создают мини блюспейс-хранилища и могут быть использованы как разгрузка.
+delta-catalog-implants-dnascrambler-name = Импланты миксеров ДНК
+delta-catalog-implants-dnascrambler-desc = Содержит 5 имплантов, позволяющие оперативно сменить облик.
+delta-catalog-implants-macrobomb-name = Импланты макробомбы
+delta-catalog-implants-macrobomb-desc = Содержит 5 имплантов макробомбы, которые создают сильный взрыв при смерти или по желанию обладателя.
diff --git a/Resources/Locale/ru-RU/_LostParadise/store/ert-catalog.ftl b/Resources/Locale/ru-RU/_LostParadise/store/ert-catalog.ftl
new file mode 100644
index 0000000000..3ffd9ac739
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/store/ert-catalog.ftl
@@ -0,0 +1,246 @@
+ert-catalog-weapon-mk58-name = Mk58
+ert-catalog-weapon-mk58-desc = Стандартный пистолет используемый на вооружении НаноТрейзен. Использует калибр .35 авто.
+
+ert-catalog-weapon-wt550-name = Wt550
+ert-catalog-weapon-wt550-desc = Эргономичный пистолет-пулемёт, имеющий надствольный магазин. Использует калибр .35 авто.
+
+ert-catalog-weapon-drozd-name = Дрозд
+ert-catalog-weapon-drozd-desc = Пистолет-пулемёт спроектированный по системе Булл-пап. Широко используется офицерами-разведчиками. Использует калибр .35 авто.
+
+ert-catalog-weapon-lecter-name = Лектер
+ert-catalog-weapon-lecter-desc = Штурмовая винтовка с убойной огневой мощью, способная лишить врага жизни за считанные секунды. Использует калибр .20 винтовочные.
+
+ert-catalog-weapon-kammerer-name = Каммерер
+ert-catalog-weapon-kammerer-desc = Дробовик, часто используемый в боевых сценариях, имеет крупную отдачу взамен на хорошую огневую мощь. Использует калибр .50 дробь.
+
+ert-catalog-weapon-enforcer-name = Силовик
+ert-catalog-weapon-enforcer-desc = Тактический дробовик, имеющий широкий опыт в штурмах помещений, требующих контроль над ситуацией. Использует калибр .50 дробь.
+
+ert-catalog-weapon-lasergun-name = Старомодный лазерный бластер
+ert-catalog-weapon-lasergun-desc = Классическая версия любого лазерного оружия, часто используется как вариант подешевле.
+
+ert-catalog-weapon-advancedlaser-name = Продвинутый лазерный бластер
+ert-catalog-weapon-advancedlaser-desc = Доработка старомодного бластера, имеющая микрореакторную батарею с функцией самозарядки.
+
+ert-catalog-weapon-pulsepistol-name = Импульсный пистолет
+ert-catalog-weapon-pulsepistol-desc = Высокотехнологичная разработка НаноТрейзен использующая импульсный заряд.
+
+ert-catalog-weapon-pulsecarbine-name = Импульсный карабин
+ert-catalog-weapon-pulsecarbine-desc = Высокотехнологичная разработка НаноТрейзен, часто используется командирами эвакуационних и ударных отрядов.
+
+
+
+ert-catalog-armor-reflective-name = Отражающий бронежилет
+ert-catalog-armor-reflective-desc = Комплект брони имеющий отражающие пластины. Эффективен против лазерного и импульсного вооружения.
+
+ert-catalog-armor-bulletproof-name = Пуленепробиваемый жилет
+ert-catalog-armor-bulletproof-desc = Бронежилет с укреплённой внутренней структурой, защищающий вплоть до винтовочных калибров.
+
+ert-catalog-armor-heavy-name = Тяжёлый бронекостюм
+ert-catalog-armor-heavy-desc = Тяжелый бронекостюм, способный защитить владельца от многих видов урона, взамен на пониженную скорость передвижения.
+
+ert-catalog-armor-swat-name = Скафандр МПБ
+ert-catalog-armor-swat-desc = Скафандр, что часто используется ОБР в случае массовых беспорядков. Защитит от ударов тупым предметом.
+
+ert-catalog-armor-officer-hardsuit-name = Скафандр офицера ОБР
+ert-catalog-armor-officer-hardsuit-desc = Защитный скафандр, используемый офицерами безопасности ОБР.
+
+ert-catalog-armor-medical-hardsuit-name = Скафандр медика ОБР
+ert-catalog-armor-medical-hardsuit-desc = Защитный скафандр, используемый медиками ОБР.
+
+ert-catalog-armor-engineer-hardsuit-name = Скафандр инженера ОБР
+ert-catalog-armor-engineer-hardsuit-desc = Защитный скафандр, используемый инженерами ОБР.
+
+ert-catalog-armor-janitor-hardsuit-name = Скафандр уборщика ОБР
+ert-catalog-armor-janitor-hardsuit-desc = Защитный скафандр, используемый уборщиками ОБР.
+
+ert-catalog-armor-leader-hardsuit-name = Скафандр лидера ОБР
+ert-catalog-armor-leader-hardsuit-desc = Грациозный защитный скафандр, используемый командирами отрядов быстрого реагирования.
+
+ert-catalog-armor-officer-helmet-name = Шлем офицера ОБР
+ert-catalog-armor-officer-helmet-desc = Атмосферный шлем, используемый офицерами ОБР. Имеет встроенный фонарик.
+
+ert-catalog-armor-medical-helmet-name = Шлем медика ОБР
+ert-catalog-armor-medical-helmet-desc = Атмосферный шлем, используемый медиками ОБР. Имеет встроенный фонарик.
+
+ert-catalog-armor-engineer-helmet-name = Шлем инженера ОБР
+ert-catalog-armor-engineer-helmet-desc = Атмосферный шлем, используемый инженерами ОБР. Имеет встроенный фонарик.
+
+ert-catalog-armor-janitor-helmet-name = Шлем уборщика ОБР
+ert-catalog-armor-janitor-helmet-desc = Атмосферный шлем, используемый уборщиками ОБР. Имеет встроенный фонарик.
+
+ert-catalog-armor-leader-helmet-name = Шлем лидера ОБР
+ert-catalog-armor-leader-helmet-desc = Атмосферный шлем, используемый лидерами ОБР. Имеет встроенный фонарик.
+
+ert-catalog-armor-gas-mask-name = Противогаз
+ert-catalog-armor-gas-mask-desc = Противогаз спасательных и ударных отрядов, способный защитить владельца от сильных вспышек света и поступаемых токсинов.
+
+ert-catalog-armor-airtank-name = Баллон воздуха
+ert-catalog-armor-airtank-desc = С ним вы точно не задохнётесь.
+
+ert-catalog-armor-oxytank-double-name = Кислородный баллон
+ert-catalog-armor-oxytank-double-desc = Баллон кислорода с повышенной ёмкостью вмещения и малыми размерами.
+
+ert-catalog-armor-nitrotank-double-name = Азотный баллон
+ert-catalog-armor-nitrotank-double-desc = Баллон азота с повышенной ёмкостью вмещения и малыми размерами.
+
+ert-catalog-armor-jetpack-name = Пустотный джетпак
+ert-catalog-armor-jetpack-desc = Продвинутый джетпак, позволяющий перемещаться по космическому пространству и не потеряться в его бескрайней красоте.
+
+ert-catalog-armor-magboots-name = Магнитные ботинки
+ert-catalog-armor-magboots-desc = Базовые магнитные ботинки, которые помогут устоять на ногах или создать иллюзию гравитации
+
+ert-catalog-armor-magboots-adv-name = Продвинутые магнитные ботинки
+ert-catalog-armor-magboots-adv-desc = Улучшенные магнитные ботинки, не замедляющие при ношении.
+
+ert-catalog-armor-hud-sec-name = HUD Штурмовой
+ert-catalog-armor-hud-sec-desc = Совмещение солнцезащитных очков и охранного HUD. Позволяет видеть должности и при этом быть защищенным от ярких вспышек.
+
+ert-catalog-armor-hud-seceng-name = HUD Инженерный
+ert-catalog-armor-hud-seceng-desc = Совмещение инженерного и охранного HUD. Позволяет видеть должности и быть защищенным от эффекта сварки.
+
+ert-catalog-armor-hud-secmed-name = HUD Медицинский
+ert-catalog-armor-hud-secmed-desc = Совмещение медицинского и охранного HUD. Позволяет видеть должности и на расстояние оценивать здоровье.
+
+
+
+ert-catalog-ammo-box-magazine-shotgun-beanbag-name = .50 травматические
+ert-catalog-ammo-box-magazine-shotgun-beanbag-desc = Имеет в себе 4 барабана по 8 патронов каждый.
+
+ert-catalog-ammo-box-magazine-shotgun-slug-name = .50 пуля
+ert-catalog-ammo-box-magazine-shotgun-slug-desc = Имеет в себе 4 барабана по 8 патронов каждый.
+
+ert-catalog-ammo-box-magazine-shotgun-name = .50 дробь
+ert-catalog-ammo-box-magazine-shotgun-desc = Имеет в себе 4 барабана по 8 патронов каждый.
+
+ert-catalog-ammo-box-magazine-submachine-rubber-name = ПП .35 авто резиновые
+ert-catalog-ammo-box-magazine-submachine-rubber-desc = Включает в себя 3 магазина по 35 резиновых патрона калибра .35 авто.
+
+ert-catalog-ammo-box-magazine-submachine-name = ПП .35 авто
+ert-catalog-ammo-box-magazine-submachine-desc = Включает в себя 3 магазина по 35 патрона калибра .35 авто.
+
+ert-catalog-ammo-box-magazine-submachine-top-mounted-name = Надствольный ПП .35 авто
+ert-catalog-ammo-box-magazine-submachine-top-mounted-desc = Включает в себя 3 надствольных магазина по 30 патрон калибра .35 авто.
+
+ert-catalog-ammo-box-magazine-rifle-rubber-name = .20 винтовочные резиновые
+ert-catalog-ammo-box-magazine-rifle-rubber-desc = Вмещает в себя 4 магазина по 25 резиновых патронов калибра .20 винтовочные.
+
+ert-catalog-ammo-box-magazine-rifle-name = .20 винтовочные
+ert-catalog-ammo-box-magazine-rifle-desc = Вмещает в себя 4 магазина по 25 патронов калибра .20 винтовочные.
+
+ert-catalog-ammo-box-magazine-pistol-rubber-name = Пистолетный.35 авто резиновые
+ert-catalog-ammo-box-magazine-pistol-rubber-desc = Вмещает в себя 4 магазина по 10 резиновых патронов каждый.
+
+ert-catalog-ammo-box-magazine-pistol-name = Пистолетный .35 авто
+ert-catalog-ammo-box-magazine-pistol-desc = Вмещает в себя 4 магазина по 10 патронов каждый.
+
+ert-catalog-ammo-belt-name = Штурмовой пояс
+ert-catalog-ammo-belt-desc = Прекрасно подходит для хранения магазинов, гранат и наручников.
+
+ert-catalog-ammo-bandolier-name = Патронташ
+ert-catalog-ammo-bandolier-desc = Позволяет хранить пули и дробь с быстрым доступом при необходимости
+
+
+
+ert-catalog-medicine-medkit-name = Первая помощь
+ert-catalog-medicine-medkit-desc = Включает в себя всё, что необходимо для оказания первой медицинской помощи.
+
+ert-catalog-medicine-medkit-brute-name = Механические травмы
+ert-catalog-medicine-medkit-brute-desc = Содержит в себе всё для оказания помощи при механических травмах.
+
+ert-catalog-medicine-medkit-burn-name = Физические травмы
+ert-catalog-medicine-medkit-burn-desc = Содержит в себе всё для оказания помощи при ожогах.
+
+ert-catalog-medicine-medkit-oxygen-name = Кислородное голодание
+ert-catalog-medicine-medkit-oxygen-desc = Содержит в себе всё для лечения последствий кислородного голодания.
+
+ert-catalog-medicine-medkit-toxin-name = Выведение токсинов
+ert-catalog-medicine-medkit-toxin-desc = Содержит в себе всё для выведения токсинов из организма.
+
+ert-catalog-medicine-medkit-radiation-name = Выведение радиации
+ert-catalog-medicine-medkit-radiation-desc = Содержит в себе всё для выведения радиации из организма.
+
+ert-catalog-medicine-medkit-advanced-name = Продвинутая помощь
+ert-catalog-medicine-medkit-advanced-desc = Содержит в себе пару продвинутых медикаментов и два пакета крови.
+
+ert-catalog-medicine-medkit-combat-name = Штурмовой набор
+ert-catalog-medicine-medkit-combat-desc = Содержит в себе дозу боевого стимулятора, а также эпипены на случай разных травм. Имеет увеличенную вместительность.
+
+ert-catalog-medicine-belt-name = Медицинский пояс
+ert-catalog-medicine-belt-desc = Пояс для быстрого доступа к лекарствам. Содержит изначальный набор.
+
+ert-catalog-medicine-hypospray-name = Гипоспрэй
+ert-catalog-medicine-hypospray-desc = Специальное устройство, для быстрого введения вещества в организм цели.
+
+ert-catalog-medicine-bottle-stimulants-name = Бутылочка (стимулятор)
+ert-catalog-medicine-bottle-stimulants-desc = Баночка с веществом, которое стимулирует моторные, сенсорные и аналитические функции существа. Ношение и применение разрешено исключительно военным.
+
+ert-catalog-medicine-bottle-omnizine-name = Бутылочка (омнизин)
+ert-catalog-medicine-bottle-omnizine-desc = Баночка с веществом, которое способно излечить любые ваши повреждения. Поставляется исключительно военным.
+
+ert-catalog-medicine-bottle-ephedrine-name = Бутылочка (эфедрин)
+ert-catalog-medicine-bottle-ephedrine-desc = Баночка с веществом, которое стимулирует моторные функции существа.
+
+ert-catalog-medicine-bottle-epinephrine-name = Бутылочка (эпинефрин)
+ert-catalog-medicine-bottle-epinephrine-desc = Баночка с веществом, применяющиеся для стабилизации пациента в критическом состояние. Также незначительно уменьшает время оглушения.
+
+
+
+ert-catalog-engineering-crate-steel-name = Ящик стали
+ert-catalog-engineering-crate-steel-desc = Содержит в себе 90 штук стали.
+
+ert-catalog-engineering-crate-glass-name = Ящик стекла
+ert-catalog-engineering-crate-glass-desc = Содержит в себе 90 штук стекла.
+
+ert-catalog-engineering-crate-plasteel-name = Ящик пластали
+ert-catalog-engineering-crate-plasteel-desc = Содержит в себе 90 штук пластали.
+
+ert-catalog-engineering-belt-name = Пояс инструментов
+ert-catalog-engineering-belt-desc = Пояс инструментов на все случаи жизни.
+
+ert-catalog-engineering-rcd-name = РСУ
+ert-catalog-engineering-rcd-desc = Иновационная разработка в промышленности НаноТрейзен, использует заряды РСУ.
+
+ert-catalog-engineering-rcdammo-name = заряд РСУ
+ert-catalog-engineering-rcdammo-desc = Заряд который следует вставить в РСУ для его работы.
+
+ert-catalog-engineering-hammer-name = Штурмовой молот
+ert-catalog-engineering-hammer-desc = Молот, позволяющий в короткие сроки уничтожать стены и шлюзы с целью проникновения.
+
+ert-catalog-engineering-crowbar-name = Лом
+ert-catalog-engineering-crowbar-desc = Аварийный лом предназначенный для вскрытия шлюзов в случае их обесточенности.
+
+
+
+ert-catalog-unlethal-boxziptie-name = Коробка стяжек
+ert-catalog-unlethal-boxziptie-desc = Включает в себя 10 непрочных, но удобных в ношении, стяжек.
+
+ert-catalog-unlethal-grenade-flash-name = Светошумовая граната
+ert-catalog-unlethal-grenade-flash-desc = Оглушает цель, не позволяя ей чётко видеть.
+
+ert-catalog-unlethal-grenade-stinger-name = Травматическая граната
+ert-catalog-unlethal-grenade-stinger-desc = Во время взрыва разбрасывает нелетальные снаряды, которые оглушают цель.
+
+ert-catalog-unlethal-grenade-teargas-name = Газовая граната
+ert-catalog-unlethal-grenade-teargas-desc = Выпускает едкий газ, который заставляет цель терять зрение в течении некоторого время.
+
+ert-catalog-unlethal-disabler-name = Cтаннер
+ert-catalog-unlethal-disabler-desc = Оружие, которое выпускает шоковый заряд и изнуряет цель, заставляя её свалиться с ног.
+
+ert-catalog-unlethal-disablersmg-name = Cтаннер-пулемёт
+ert-catalog-unlethal-disablersmg-desc = Улучшенная версия станнера, теперь имеет больший запас заряда, а также автоматический режим стрельбы.
+
+
+
+ert-catalog-unlethal-mindshields-name = Импланты "Щит Разума"
+ert-catalog-unlethal-mindshields-desc = 3 импланта, которые моментально превратит врага в союзника.
+
+ert-catalog-implants-tracker-name = Импланты "Трекер"
+ert-catalog-implants-tracker-desc = 5 имплантов, которые позволяет отслеживать точное местоположение цели.
+
+ert-catalog-implants-freedom-name = Импланты "Свобода"
+ert-catalog-implants-freedom-desc = 5 имплантов, которые позволяет моментально освободиться от любых оков.
+
+ert-catalog-implants-language-name = Импланты кодового языка
+ert-catalog-implants-language-desc = Содержит в себе 5 имплантов, позволяющий принимать кодовые языки.
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/syndicat.ftl b/Resources/Locale/ru-RU/_LostParadise/syndicat.ftl
new file mode 100644
index 0000000000..f75971fcfd
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/syndicat.ftl
@@ -0,0 +1,367 @@
+#-----------------------------#
+#------------Шлюзы------------#
+#-СБ-#
+ent-AirlockSecuritySynGlassLocked = { ent-AirlockGlass }
+ .suffix = SecuritySyn, Locked
+ .desc = { ent-AirlockGlass.desc }
+ent-AirlockSecuritySynLocked = { ent-Airlock }
+ .suffix = SecuritySyn, Locked
+ .desc = { ent-Airlock.desc }
+#-рнд-#
+ent-AirlockResearchSynGlassLocked = { ent-AirlockGlass }
+ .suffix = ResearchSyn, Locked
+ .desc = { ent-AirlockGlass.desc }
+ent-AirlockResearchSynLocked = { ent-Airlock }
+ .suffix = ResearchSyn, Locked
+ .desc = { ent-Airlock.desc }
+#-Сервис-#
+ent-AirlockServiceSynGlassLocked = { ent-AirlockGlass }
+ .suffix = ServiceSyn, Locked
+ .desc = { ent-AirlockGlass.desc }
+ent-AirlockServiceSynLocked = { ent-Airlock }
+ .suffix = ServiceSyn, Locked
+ .desc = { ent-Airlock.desc }
+#-инженерия-#
+ent-AirlockGlassEngineeringSynLocked = { ent-AirlockGlass }
+ .suffix = EngineeringSyn, Locked
+ .desc = { ent-AirlockGlass.desc }
+ent-AirlockEngineeringSynLocked = { ent-Airlock }
+ .suffix = EngineeringSyn, Locked
+ .desc = { ent-Airlock.desc }
+ent-AirlockGlassEngineeringAtmosphericsSynLocked = { ent-AirlockGlass }
+ .suffix = AtmosphericsSyn, Locked
+ .desc = { ent-AirlockGlass.desc }
+ent-AirlockEngineeringAtmosphericsSynLocked = { ent-Airlock }
+ .suffix = AtmosphericsSyn, Locked
+ .desc = { ent-Airlock.desc }
+#тех. шлюзы#
+ent-AirlockExternalGlassEngineeringSynLocked = { ent-AirlockGlass }
+ .suffix = EngineeringSyn, Locked
+ .desc = { ent-AirlockGlass.desc }
+ent-AirlockExternalEngineeringSynLocked = { ent-Airlock }
+ .suffix = EngineeringSyn, Locked
+ .desc = { ent-Airlock.desc }
+#-карго-#
+ent-AirlockSalvageSynGlassLocked = { ent-AirlockGlass }
+ .suffix = SalvageSyn, Locked
+ .desc = { ent-AirlockGlass.desc }
+ent-AirlockSalvageSynLocked = { ent-Airlock }
+ .suffix = SalvageSyn, Locked
+ .desc = { ent-Airlock.desc }
+#-Мед-#
+ent-AirlockMedicalSynGlassLocked = { ent-AirlockGlass }
+ .suffix = MedicalSyn, Locked
+ .desc = { ent-AirlockGlass.desc }
+ent-AirlockMedicalSynLocked = { ent-Airlock }
+ .suffix = MedicalSyn, Locked
+ .desc = { ent-Airlock.desc }
+#-Главы-#
+ent-AirlockCentralCommandSynGlassLocked = { ent-Airlock }
+ .suffix = CommandSyndicate, Locked
+ .desc = { ent-Airlock.desc }
+ent-WindoorHeadOfSecuritySynLocked = { ent-Airlock }
+ .suffix = HeadOfSecuritySyn, Locked
+ .desc = { ent-Airlock.desc }
+ent-WindoorHeadOfPersonnelSynLocked = { ent-Airlock }
+ .suffix = HeadOfPersonnelSyn, Locked
+ .desc = { ent-Airlock.desc }
+ent-AirlockCaptainSynLocked = { ent-Airlock }
+ .suffix = CaptainSyn, Locked
+ .desc = { ent-Airlock.desc }
+#EVA#
+ent-AirlockEVASynGlassLocked = { ent-AirlockGlass }
+ .suffix = EVASyn, Locked
+ .desc = { ent-AirlockGlass.desc }
+#СЕЙФ#
+ent-AirlockHatchEngineeringSyndicateLocked = { ent-Airlock }
+ .suffix = SafeSyn, Locked
+ .desc = { ent-Airlock.desc }
+#------------------#
+#----Шлюзы-окна----#
+#-главы-#
+ent-TitaniumWindoor = раздвижное пластитановое окно
+ .desc = Это и прочное окно, и раздвижная дверь. Вот это да!
+ent-TitaniumWindoorCaptainSynLocked = { ent-TitaniumWindoor }
+ .suffix = CaptainSyn, Locked
+ .desc = { ent-TitaniumWindoor }
+ent-TitaniumWindoorWOCSynLocked = { ent-TitaniumWindoor }
+ .suffix = WoCSyn, Locked
+ .desc = { ent-TitaniumWindoor }
+ent-TitaniumWindoorHeadOfSecuritySynLocked = { ent-TitaniumWindoor }
+ .suffix = HeadOfSecuritySyn, Locked
+ .desc = { ent-TitaniumWindoor }
+ent-TitaniumWindoorCommandSyndicateLocked = { ent-TitaniumWindoor }
+ .suffix = CommandSyndicate, Locked
+ .desc = { ent-TitaniumWindoor }
+#-Инженерия-#
+ent-TitaniumWindoorEngineeringSynLocked = { ent-TitaniumWindoor }
+ .suffix = EngineeringSyn, Locked
+ .desc = { ent-TitaniumWindoor }
+#-МедБлок-#
+ent-TitaniumWindoorMedicalSynLocked = { ent-TitaniumWindoor }
+ .suffix = MedicalSyn, Locked
+ .desc = { ent-TitaniumWindoor }
+#-Cлужбы-Безопасности-#
+ent-TitaniumWindoorSecuritySynLocked = { ent-TitaniumWindoor }
+ .suffix = SecuritySyn, Locked
+ .desc = { ent-TitaniumWindoor }
+#-Научный-отдел-#
+ent-TitaniumWindoorResearchSynLocked = { ent-TitaniumWindoor }
+ .suffix = ResearchSyn, Locked
+ .desc = { ent-TitaniumWindoor }
+#-Сервис-#
+ent-TitaniumWindoorServiceSynLocked = { ent-TitaniumWindoor }
+ .suffix = ServiceSyn, Locked
+ .desc = { ent-TitaniumWindoor }
+#-КАРГО-#
+ent-TitaniumWindoorSalvageSynLocked = { ent-TitaniumWindoor }
+ .suffix = SalvageSyn, Locked
+ .desc = { ent-TitaniumWindoor }
+
+#---------------------------#
+#------------ЛКП------------#
+ent-APCConstructedSyn = ЛКП
+ .suffix = Синдиката
+ .desc = Терминал управления локальными электрическими системами.
+ent-APCBasicSyn = { ent-APCConstructedSyn }
+ .suffix = Базовый, Синдиката, 50кВт
+ .desc = { ent-APCConstructedSyn.desc }
+ent-APCHighCapacitySyn = { ent-APCConstructedSyn }
+ .suffix = Высокая ёмкость, Синдиката 100кВт
+ .desc = { ent-APCConstructedSyn.desc }
+ent-APCSuperCapacitySyn = { ent-APCConstructedSyn }
+ .suffix = Супер ёмкость, Синдиката 150кВт
+ .desc = { ent-APCConstructedSyn.desc }
+ent-APCHyperCapacitySyn = { ent-APCConstructedSyn }
+ .suffix = Гипер ёмкость, Синдиката 200кВт
+ .desc = { ent-APCConstructedSyn.desc }
+
+#---------------------------------#
+#------------Двигатели------------#
+ent-LPPThruster2x2 = { ent-BaseThruster }
+ .suffix = 2x2
+ .desc = { ent-BaseThruster.desc }
+ent-LPPThruster3x3 = { ent-BaseThruster }
+ .suffix = 3x3
+ .desc = { ent-BaseThruster.desc }
+
+#----------------------------#
+#------------Крио------------#
+ent-LPPCryogenicSleepUnitSyn = капсула криогенного сна синдиката
+ .suffix = Синдиката
+ .desc = Супер-охлаждаемый контейнер, обеспечивающий сохранность членов экипажа во время космических путешествий.
+ent-LPPCryogenicSleepUnitSpawnerSyn = { ent-LPPCryogenicSleepUnitSyn }
+ .suffix = Спавнер, Начало раунда, Все должности
+ .desc = { ent-LPPCryogenicSleepUnitSyn.desc }
+ent-LPPCryogenicSleepUnitSpawnerLateJoinSyn = { ent-LPPCryogenicSleepUnitSyn }
+ .suffix = Спавнер, Позднее присоединение
+ .desc = { ent-LPPCryogenicSleepUnitSyn.desc }
+
+#---------------------------#
+#------------КПК------------#
+ent-SyndiPDACap = кроваво-красный КПК капитана
+ .suffix = КПК Синдиката, Капитана
+ .desc = Смотря на этот КПК, ваше сердцебиение учащается... Словно его владелец совершил нечто главный опасное.
+ent-SyndiPDAHop = кроваво-красный КПК смотрящего
+ .suffix = КПК Синдиката, ГП
+ .desc = Смотря на этот КПК, ваше сердцебиение учащается... Словно его владелец совершил нечто главный опасное.
+ent-SyndiPDAHos = кроваво-красный КПК главы службы безопасности
+ .suffix = КПК Синдиката, ГСБ
+ .desc = Смотря на этот КПК, ваше сердцебиение учащается... Словно его владелец совершил нечто опасное.
+ent-SyndiPDAMed = кроваво-красный КПК врача
+ .suffix = КПК Синдиката, врача
+ .desc = Смотря на этот КПК, ваше сердцебиение учащается... Словно его владелец совершил нечто медицинской опасности.
+ent-SyndiPDAService = кроваво-красный КПК сервисного работника
+ .suffix = КПК Синдиката, сервисный
+ .desc = Смотря на этот КПК, ваше сердцебиение учащается... Словно его владелец совершил нечто ботанической опасности.
+ent-SyndiPDASecurity = кроваво-красный КПК службы безопасности
+ .suffix = КПК Синдиката, СБ
+ .desc = Смотря на этот КПК, ваше сердцебиение учащается... Словно его владелец совершил нечто опасное.
+ent-SyndiPDAScience = кроваво-красный КПК учёного
+ .suffix = КПК Синдиката, учёный
+ .desc = Смотря на этот КПК, ваше сердцебиение учащается... Словно его владелец совершил нечто химические опасности.
+ent-SyndiPDASalvage = кроваво-красный КПК утилизатора
+ .suffix = КПК Синдиката, утилизатора
+ .desc = Смотря на этот КПК, ваше сердцебиение учащается... Словно его владелец совершил нечто опасное.
+ent-SyndiPDAEngineering = кроваво-красный КПК инженера
+ .suffix = КПК Синдиката, инженер
+ .desc = Смотря на этот КПК, ваше сердцебиение учащается... Словно его владелец совершил нечто опасное.
+
+#--------------------------#
+#------------ID------------#
+ent-LPPCaptainIDCardSyn = ID карта капитана
+ .suffix = ID Синдиката, капитана
+ .desc = { ent-IDCardStandard.desc }
+ent-LPPHoPIDCardSyn = ID карта смотрящего
+ .suffix = ID Синдиката, ГП
+ .desc = { ent-IDCardStandard.desc }
+ent-LPPHoSIDCardSyn = ID карта главы службы безопасности
+ .suffix = ID Синдиката, ГСБ
+ .desc = { ent-IDCardStandard.desc }
+ent-LPPServiceWorkerIDCardSyn = ID карта сервисного работника
+ .suffix = ID Синдиката, сервисный
+ .desc = { ent-IDCardStandard.desc }
+ent-LPPMedicalIDCardSyn = ID карта врача
+ .suffix = ID Синдиката, врача
+ .desc = { ent-IDCardStandard.desc }
+ent-LPPResearchIDCardSyn = ID карта учёный
+ .suffix = ID Синдиката, учёный
+ .desc = { ent-IDCardStandard.desc }
+ent-LPPSecurityIDCardSyn = ID карта службы безопасности
+ .suffix = ID Синдиката, СБ
+ .desc = { ent-IDCardStandard.desc }
+ent-LPPSalvageIDCardSyn = ID карта утилизатора
+ .suffix = ID Синдиката, утилизатора
+ .desc = { ent-IDCardStandard.desc }
+ent-LPPEngineeringIDCardSyn = ID карта инженера
+ .suffix = ID Синдиката, инженер
+ .desc = { ent-IDCardStandard.desc }
+ent-LPPPrisonerIDCardSyn = ID карта заключенного
+ .suffix = ID Синдиката, заключенный
+ .desc = { ent-IDCardStandard.desc }
+
+#------------------------------#
+#------------одежда------------#
+#-голова-#
+ent-LPPClothingHeadHatCapcapSyn = фуражка капитана
+ .suffix = Синдиката
+ .desc = { ent-ClothingHeadHatCapcap.desc }
+ent-LPPClothingHeadHatCaphatSyn = капитанская шляпа
+ .suffix = Синдиката
+ .desc = { ent-ClothingHeadCaptainHat.desc }
+ent-LPPClothingHeadHatCaptainSyn = капитанская каска
+ .suffix = Синдиката
+ .desc = { ent-ClothingHeadHatCaptain.desc }
+#-На-плечи-#
+ent-ClothingNeckCloakCapSyn = Плащ капитана
+ .suffix = Синдиката
+ .desc = { ent-ClothingNeckCloakCap.desc }
+ent-ClothingNeckCloakHoPFormalSyn = Плащ Смотрящего
+ .suffix = Синдиката
+ .desc = { ent-ClothingNeckCloakHop.desc }
+ent-ClothingNeckMantleCapSyn = мантия капитана
+ .suffix = Синдиката
+ .desc = { ent-ClothingNeckMantleCap.desc }
+#-Костюмы-#
+ent-ClothingOuterCoatCaptainSyn = торжественная куртка капитана
+ .suffix = Синдиката
+ .desc = { ent-ClothingOuterCoatCaptain.desc }
+#-Комбезы-#
+#жен.#
+ent-ClothingUniformJumpskirtCaptainSyn = { ent-ClothingUniformJumpskirtCaptain }
+ .suffix = Синдиката
+ .desc = { ent-ClothingUniformJumpskirtCaptain.desc }
+ent-ClothingUniformJumpskirtCapFormalDressSyn = { ent-ClothingUniformJumpskirtCapFormalDress }
+ .suffix = Синдиката
+ .desc = { ent-ClothingUniformJumpskirtCapFormalDress.desc }
+#муж.#
+ent-ClothingUniformJumpsuitCaptainSyn = { ent-ClothingUniformJumpsuitCaptain }
+ .suffix = Синдиката
+ .desc = { ent-ClothingUniformJumpsuitCaptain.desc }
+ent-ClothingUniformJumpsuitCapFormalSyn = { ent-ClothingUniformJumpsuitCapFormal }
+ .suffix = Синдиката
+ .desc = { ent-ClothingUniformJumpsuitCapFormal.desc }
+#-визорды-#
+ent-LPPClothingEyesHudSyndicate = визор Синдиката
+ .suffix = Синдиката
+ .desc = { ent-ClothingOuterCoatCaptain.desc }
+ent-LPPClothingEyesHudSyndicateHoS = визор главы службы безопасности
+ .suffix = Синдиката , ГСБ
+ .desc = { ent-ClothingOuterCoatCaptain.desc }
+#-сумки-#
+ent-LPPClothingBackpackSyndicat = рюкзак Синдиката
+ .suffix = Синдиката
+ .desc = { ent-ClothingBackpack.desc }
+ent-ClothingBackpackSatchelSyndicat = сумка Синдиката
+ .suffix = Синдиката
+ .desc = { ent-ClothingBackpackSatchel.desc }
+
+#----------------------------#
+#------------МОБЫ------------#
+ent-MobMediKitibot = медиботкот
+ .desc = { ent-medibot.desc }
+ent-MobMediKitibotSyn = медиботкот
+ .suffix = Синдиката
+ .desc = { ent-medibot.desc }
+ent-LPPMobSyndiFox = лиса
+ .suffix = Синдиката
+ .desc = { ent-MobFox.desc }
+ent-LPPMobSyndiFoxRobot = роболис
+ .suffix = Синдиката
+ .desc = { ent-MobFox.desc }
+#-СПАВН-#
+ent-SpawnMobMediKitibot = спавн медиботкот
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobMediKitibotSyn = спавн медиботкот
+ .suffix = Синдиката
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndiFox = спавн лиса
+ .suffix = Синдиката
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndiFoxRobot = спавн роболис
+ .suffix = Синдиката
+ .desc = { ent-MarkerBase.desc }
+
+#-----------------------------#
+#------------СПАВН------------#
+ent-SpawnMobSyndicateCap = спавн синдикат Капитан
+ .suffix = Синдикат , cap
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnSyndicateCap = роль синдикат Капитан
+ .suffix = Синдикат , cap
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndicateWoC = спавн синдикат Смотрящий
+ .suffix = Синдикат , Woc
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnSyndicateWoC = роль синдикат Смотрящего
+ .suffix = Синдикат , Woс
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndicateHOS = спавн синдикат ГСБ
+ .suffix = Синдикат , HoS
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnSyndicateHOS = роль синдикат ГСБ
+ .suffix = Синдикат , HoS
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndicateSecurityOfficer = спавн синдикат СБ
+ .suffix = Синдикат , Officer
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnSyndicateSecurityOfficer = роль синдикат СБ
+ .suffix = Синдикат , Officer
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndicateScientist = спавн синдикат Учёный
+ .suffix = Синдикат , Scientist
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnSyndicateScientist = роль синдикат Учёный
+ .suffix = Синдикат , Scientist
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndicateEngineer = спавн синдикат Инженера
+ .suffix = Синдикат , Engineer
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnSyndicateEngineer = роль синдикат Инженера
+ .suffix = Синдикат , Engineer
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndicateChefSyn = спавн синдикат Сервиса
+ .suffix = Синдикат , Service
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnSyndicateChefSyn = роль синдикат Сервиса
+ .suffix = Синдикат , Service
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndicateMedicalSyn = спавн синдикат Врача
+ .suffix = Синдикат , Medical
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnSyndicateMedicalSyn = роль синдикат Врача
+ .suffix = Синдикат , Medical
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndicateShaftMinerSyn = спавн синдикат Утилизатора
+ .suffix = Синдикат , Miner
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnSyndicateShaftMinerSyn = роль синдикат Утилизатора
+ .suffix = Синдикат , Miner
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnMobSyndicatePrisonerSyn = спавн синдикат Заключёный
+ .suffix = Синдикат , Prisoner
+ .desc = { ent-MarkerBase.desc }
+ent-SpawnSyndicatePrisonerSyn = роль синдикат Заключёный
+ .suffix = Синдикат , Prisoner
+ .desc = { ent-MarkerBase.desc }
+
diff --git a/Resources/Locale/ru-RU/_LostParadise/tail.ftl b/Resources/Locale/ru-RU/_LostParadise/tail.ftl
new file mode 100644
index 0000000000..f14bcdf086
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/tail.ftl
@@ -0,0 +1,7 @@
+marking-LPPTailLisichkaBolsh = Большой хвостик (Лисий)
+marking-LPPTailLisichka = Лисий хвостик (Лисий)
+marking-LPPTailLisichkaPushok = Хвостик без пушка (Лисий)
+marking-LPPTailLisichkaPyatna = Запутаный хвостик (Лисий)
+marking-LPPTailVulptail = Хвостик вульпканина
+marking-LPPNineTale = Девять хвостов (Уникальный)
+marking-LPPSevenTail = Семь хвостов (Лисий)
diff --git a/Resources/Locale/ru-RU/_LostParadise/tiles.ftl b/Resources/Locale/ru-RU/_LostParadise/tiles.ftl
new file mode 100644
index 0000000000..fb06327039
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/tiles.ftl
@@ -0,0 +1,21 @@
+lattice-half-1 = половина решётка
+lattice-half-2 = половина решётка
+lattice-half-3 = половина решётка
+lattice-half-4 = половина решётка
+
+cover-half-1 = половина покрытие
+cover-half-2 = половина покрытие
+cover-half-3 = половина покрытие
+cover-half-4 = половина покрытие
+
+kitchen-diagonal = кухонная диагональные покрытие
+kitchen-herringbone = кухонная покрытие ёлочкой
+kitchen-small = кухонная маленькая покрытие
+
+terracotta = терракотовая покрытие
+terracotta_diagonal = терракотовая диагональные покрытие
+terracotta_herringbone = терракотовая покрытие ёлочкой
+terracotta_small = терракотовая маленькая покрытие
+
+wood-large = большой деревянный пол
+tiles-blak-shuttle-floor = черный пол шаттла
diff --git a/Resources/Locale/ru-RU/_LostParadise/tts-voices.ftl b/Resources/Locale/ru-RU/_LostParadise/tts-voices.ftl
new file mode 100644
index 0000000000..57a4af8cda
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/tts-voices.ftl
@@ -0,0 +1,24 @@
+tts-voice-name-albina = Альбина
+tts-voice-name-alena = Алена
+tts-voice-name-alexsey = Алексей
+tts-voice-name-andelina = Анделина
+tts-voice-name-anna = Анна
+tts-voice-name-jenia = Женя
+tts-voice-name-karina = Карина
+tts-voice-name-katia = Катя
+tts-voice-name-lena = Лена
+tts-voice-name-maria = Мария
+tts-voice-name-mira = Мира
+tts-voice-name-olga = Ольга
+tts-voice-name-polina = Полина
+tts-voice-name-rita = Рита
+tts-voice-name-sasha = Саша
+tts-voice-name-sveta = Света
+tts-voice-name-taras = Тарас
+tts-voice-name-viktoria = Виктория
+tts-voice-name-jacov = Яков
+tts-voice-name-vladimir = Владимир
+tts-voice-name-dmitrii = Дмитрий
+tts-voice-name-julia = Юлия
+tts-voice-name-roman = Роман
+tts-voice-name-veniamin = Вениамин
diff --git a/Resources/Locale/ru-RU/_LostParadise/tts.ftl b/Resources/Locale/ru-RU/_LostParadise/tts.ftl
new file mode 100644
index 0000000000..acc9ac1a1e
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/tts.ftl
@@ -0,0 +1,7 @@
+tts-voice-name-oleg = Олег
+tts-voice-name-zina = Зина
+tts-voice-name-aidar = Аидар
+tts-voice-name-baya = Байя
+tts-voice-name-kseniya = Ксения
+tts-voice-name-xenia = Кзениа
+tts-voice-name-eugene = Юджин
diff --git a/Resources/Locale/ru-RU/_LostParadise/underwear/LPPBreast.ftl b/Resources/Locale/ru-RU/_LostParadise/underwear/LPPBreast.ftl
new file mode 100644
index 0000000000..c451e399ab
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/underwear/LPPBreast.ftl
@@ -0,0 +1,334 @@
+ent-LPPBraBlack = чёрный бюстгальтер
+ .desc = "Бюстгальтер, который не обладает выделяющимися особенностями, подойдёт для каждой девушки, регулируется по длине и удобен в ношении, широкие лямки, а пуш-ап без поролона."
+ent-LPPBraBlue = синий бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBrown = коричневый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraGreen = зелёный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraGrey = серый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraLightpurple = светло-фиолетовый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraMaroon = темно-бордовый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraOrange = оранжевый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraRed = красный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraTeal = цвета зелено-крайолы бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraWhite = белый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraYellow = жёлтый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBeeKini = бюстгальтер в пчелиной раскраске
+ .desc = "ДА, МОЯ КОРОЛЕВА!"
+ent-LPPBraCommie = полосатый коммунестический бюстгальтер
+ .desc = "Теперь вы стоите грудью за СССП!"
+ent-LPPBraKinky = странный бюстгальтер
+ .desc = "*Не очень* закрытый бюстгальтер, скорее напоминающий красную подарочную ленту, нежели удобное нижнее бельё. Надеюсь это того стоило."
+ent-LPPBraThin = свободный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltBlack = чёрный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltBlue = синий бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltBrown = коричневый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltGreen = зелёный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltGrey = серый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltLightpurple = светло-фиолетовый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltMaroon = темно-бордовый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltOrange = оранжевый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltRed = красный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltTeal = цвета зелено-крайолы бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltWhite = белый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAltYellow = жёлтый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraAlt = белый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderBlack = чёрный закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderBlue = синий закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderBrown = коричневый закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderGreen = зелёный закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderGrey = серый закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderLightpurple = светло-фиолетовый закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderMaroon = темно-бордовый закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderOrange = оранжевый закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderRed = красный закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderTeal = бирюзовый закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderWhite = белый закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderYellow = жёлтый закрытый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessBlack = чёрный закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessBlue = синий закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessBrown = коричневый закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessGreen = зелёный закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessGrey = серый закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessLightpurple = светло-фиолетовый закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessMaroon = темно-бордовый закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessOrange = оранжевый закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessRed = красный закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessTeal = бирюзовый закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessWhite = белый закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraBinderStraplessYellow = жёлтый закрытый бюстгальтер без бретелек
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoBlack = чёрный бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoBlue = синий бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoBrown = коричневый бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoGreen = зелёный бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoGrey = серый бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoLightpurple = светло-фиолетовый бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoMaroon = темно-бордовый бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoOrange = оранжевый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoRed = красный бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoTeal = бирюзовый бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoWhite = белый бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraNekoYellow = жёлтый бюстгальтер c вырезом
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessBlack = чёрный бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessBlue = синий бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessBrown = коричневый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessGreen = зелёный бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessGrey = серый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessLightpurple = светло-фиолетовый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessMaroon = темно-бордовый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessOrange = оранжевый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessRed = красный бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessTeal = бирюзовый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessWhite = белый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessYellow = жёлтый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltBlack = чёрный бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltBlue = синий бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltBrown = коричневый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltGreen = зелёный бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltGrey = серый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltLightpurple = светло-фиолетовый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltMaroon = темно-бордовый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltOrange = оранжевый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltRed = красный бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltTeal = бирюзовый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltWhite = белый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraStraplessAltYellow = жёлтый бюстгальтер бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingBlack = чёрный бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingBlue = синий бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingBrown = коричневый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingGreen = зелёный бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingGrey = серый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingLightpurple = светло-фиолетовый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingMaroon = темно-бордовый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingOrange = оранжевый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingRed = красный бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingTeal = бирюзовый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingWhite = белый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingYellow = жёлтый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltBlack = чёрный бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltBlue = синий бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltBrown = коричневый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltGreen = зелёный бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltGrey = серый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltLightpurple = светло-фиолетовый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltMaroon = темно-бордовый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltOrange = оранжевый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltRed = красный бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltTeal = бирюзовый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltWhite = белый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraSwimmingAltYellow = жёлтый бюстгальтер для плавания
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPFishnetBody = бюстгальтер в сеточку
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPFishnetGloves = бюстгальтер в сеточку c рукавами
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPFishnetSleeves = бюстгальтер в сеточку c рукавами
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBraHalterneck = серый бюстгальтер с вырезами
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraBlack = спортивный чёрный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraBlue = спортивный синий бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraBrown = спортивный коричневый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraGreen = спортивный зелёный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraGrey = спортивный серый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraLightpurple = спортивный светло-фиолетовый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraMaroon = спортивный темно-бордовый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraOrange = спортивный оранжевый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraRed = спортивный красный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraTeal = спортивный бирюзовый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraWhite = спортивный белый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraYellow = спортивный жёлтый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltBlack = спортивный чёрный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltBlue = спортивный синий бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltBrown = спортивный коричневый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltGreen = спортивный зелёный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltGrey = спортивный серый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltLightpurple = спортивный светло-фиолетовый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltMaroon = спортивный темно-бордовый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltOrange = спортивный оранжевый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltRed = спортивный красный бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltTeal = спортивный бирюзовый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltWhite = спортивный белый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPSportsBraAltYellow = спортивный жёлтый бюстгальтер
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPStripedBra = бюстгальтер в полосочку
+ .desc = "..."
+ent-LPPTubetopBlack = чёрный укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopBlue = синий укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopBrown = коричневый укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopGreen = зелёный укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopGrey = серый укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopLightpurple = светло-фиолетовый укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopMaroon = темно-бордовый укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopOrange = оранжевый укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopRed = красный укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopTeal = бирюзовый укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopWhite = белый укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPTubetopYellow = жёлтый укороченный топ-бандо
+ .desc = {ent-LPPBraBlack.desc}
+ent-LPPBodyBra = чёрный "Боди"
+ .desc = "Комбинация трусов и топа, которая обтягивает тело и покрывает грудь. Внешним видом похож на закрытый купальник."
+ent-LPPBodyBraCut = чёрный "Боди" c вырезом
+ .desc = {ent-LPPBodyBra.desc}
+ent-LBodyBraCut2 = чёрный "Боди" c вырезом
+ .desc = {ent-LPPBodyBra.desc}
+ent-LPPBodyBraCut3 = чёрный "Боди" c вырезом
+ .desc = {ent-LPPBodyBra.desc}
+ent-LPPBodyBraCut4 = чёрный "Боди" c вырезом
+ .desc = {ent-LPPBodyBra.desc}
+ent-LPPBodyBra2 = чёрный "Боди"
+ .desc = {ent-LPPBodyBra.desc}
+ent-LPPCutOutBodyBra2 = чёрный "Боди" c вырезом
+ .desc = {ent-LPPBodyBra.desc}
+ent-LPPSwimsuitBodyBra2 = чёрный плавательный "Боди" c вырезом
+ .desc = {ent-LPPBodyBra.desc}
+ent-LPPSwimsuitplusTightsBodyBra2 = чёрный плавательный "Боди"
+ .desc = {ent-LPPBodyBra.desc}
+ent-LPPTranslucentBodyBra = полупрозрачный чёрный "Боди"
+ .desc = {ent-LPPBodyBra.desc}
+ent-LPPTranslucentBodyBra2 = полупрозрачный чёрный "Боди" с вырезом
+ .desc = {ent-LPPBodyBra.desc}
+ent-LPPCutOutTop = полупрозрачный чёрный "Боди" с вырезом
+ .desc = {ent-LPPBodyBra.desc}
+ent-LPPCutOutTop2 = полупрозрачный чёрный "Боди" с вырезом
+ .desc = {ent-LPPBodyBra.desc}
diff --git a/Resources/Locale/ru-RU/_LostParadise/underwear/LPPPants.ftl b/Resources/Locale/ru-RU/_LostParadise/underwear/LPPPants.ftl
new file mode 100644
index 0000000000..ff32dd3b0a
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/underwear/LPPPants.ftl
@@ -0,0 +1,256 @@
+ent-LPPBeeShorts = пчелиные трусы
+ .desc = "Укуси Мяне пчала"
+ent-LPPBoxerBlack = чёрные трусы
+ .desc = "первое правило бойцовского клуба - без трусов на ринг нельзя!"
+ent-LPPBoxerBriefsBlack = чёрные боксёрки
+ .desc = "первое правило бойцовского клуба - без трусов на ринг нельзя!"
+ent-LPPBoxerBriefsBlue = синие боксёрки
+ .desc = "первое правило бойцовского клуба - без трусов на ринг нельзя!"
+ent-LPPBoxerBriefs = белые боксёрки
+ .desc = "ТОП попец"
+ent-LPPBoxerBriefsBrown = коричневые боксёрки
+ .desc = "ТОП попец"
+ent-LPPBoxerBriefsGreen = зелёные трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerBriefsGrey = серые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerBriefsLightpurple = светло-фиолетовые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerBriefsMaroon = темно-бордовые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerBriefsOrange = оранжевые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerBriefsRed = красные трусы
+ .desc = "Как у бабуинов попец"
+ent-LPPBoxerBriefsTeal = бирюзовые трусы
+ .desc = "Звучит как-то по... Задротски?"
+ent-LPPBoxerBriefsYellow = жёлтые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerBlue = синие трусы
+ .desc = "ТОП попец"
+ent-LPPBoxer = белые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerBrown = коричневые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerGreen = зелёные трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerGrey = серые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerLightpurple = светло-фиолетовые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerMaroon = темно-бордовые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerOrange = оранжевые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxerRed = красные трусы
+ .desc = "Как у бабуинов попец"
+ent-LPPBoxerTeal = бирюзовые трусы
+ .desc = "Звучит как-то по... Задротски?"
+ent-LPPBoxerYellow = жёлтые трусы
+ .desc = "ТОП попец"
+ent-LPPBoxersCommie = трусы в красно-жёлтую полоску
+ .desc = "Так я выгляжу более худым!"
+ent-LPPBoxersHeart = трусы в сердечку
+ .desc = "Да, мой купидон!"
+ent-LPPBoxersStriped = трусы в сине-зелёную полоску
+ .desc = "Такое точно носит Нормандия"
+ent-LPPBriefsBlack = чёрные трусы
+ .desc = "Horny!"
+ent-LPPBriefsBlue = синие трусы
+ .desc = "Horny, но за НаноТрезен!"
+ent-LPPBriefs = белые трусы
+ .desc = "Horny!"
+ent-LPPBriefsBrown = коричневые трусы
+ .desc = "Horny!"
+ent-LPPBriefsGreen = зелёные трусы
+ .desc = "Horny!"
+ent-LPPBriefsGrey = серые трусы
+ .desc = "Horny!"
+ent-LPPBriefsLightpurple = светло-фиолетовые трусы
+ .desc = "Horny!"
+ent-LPPBriefsMaroon = темно-бордовые трусы
+ .desc = "Horny!"
+ent-LPPBriefsOrange = оранжевые трусы
+ .desc = "Horny!"
+ent-LPPBriefsRed = красные трусы
+ .desc = "Такое чувство, что кто-то делал кое-что сквозь них..."
+ent-LPPBriefsTeal = бирюзовые трусы
+ .desc = "Звучит как-то по... Задротски?"
+ent-LPPBriefsYellow = жёлтые трусы
+ .desc = "Horny!"
+ent-LPPJockstrapBlack = чёрные стринги
+ .desc = "Horny!"
+ent-LPPJockstrapBlue = синие стринги
+ .desc = "Horny, но за НаноТрезен!"
+ent-LPPJockstrap = белые стринги
+ .desc = "Horny!"
+ent-LPPJockstrapBrown = коричневые стринги
+ .desc = "Horny!"
+ent-LPPJockstrapGreen = зелёные стринги
+ .desc = "Horny!"
+ent-LPPJockstrapGrey = серые стринги
+ .desc = "Horny!"
+ent-LPPJockstrapLightpurple = светло-фиолетовые стринги
+ .desc = "Horny!"
+ent-LPPJockstrapMaroon = темно-бордовые стринги
+ .desc = "Horny!"
+ent-LPPJockstrapOrange = оранжевые стринги
+ .desc = "Horny!"
+ent-LPPJockstrapRed = красные стринги
+ .desc = "Такое чувство, что кто-то делал кое-что сквозь них..."
+ent-LPPJockstrapTeal = бирюзовые стринги
+ .desc = "Звучит как-то по... Задротски?"
+ent-LPPJockstrapYellow = жёлтые стринги
+ .desc = "Horny!"
+ent-LPPMankiniBlack = чёрный сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPMankiniBlue = синий сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPMankini = белый сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPMankiniBrown = коричневый сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPMankiniGreen = зелёный сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPMankiniGrey = серый сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPMankiniLightpurple = светло-фиолетовый сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPMankiniMaroon = темно-бордовый сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPMankiniOrange = оранжевый сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPMankiniRed = красный сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К. Пахнет порохом"
+ent-LPPMankiniTeal = бирюзовый сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPMankiniYellow = жёлтый сдельный купальник
+ .desc = "Сделано на благо славного народа, на букву К"
+ent-LPPPantiesBeeKini = трусики-бикини в полосочку
+ .desc = "Бззззз?"
+ent-LPPPantiesCommie = коммунистические трусы
+ .desc = "В этом, СССП всегда рядом..."
+ent-LPPPantiesKinky = странные трусики
+ .desc = "Вы хотите выглядеть как подарок?"
+ent-LPPPantiesAltBlack = чёрные трусы
+ .desc = "Они точно не для сумо?"
+ent-LPPPantiesAltBlue = синие трусы
+ .desc = "Они точно не для сумо?"
+ent-LPPPantiesAlt = белые трусы
+ .desc = "Они точно не для сумо?"
+ent-LPPPantiesAltBrown = коричневые трусы
+ .desc = "Они точно не для сумо?"
+ent-LPPPantiesAltGreen = зелёные трусы
+ .desc = "Они точно не для сумо?"
+ent-LPPPantiesAltGrey = серые трусы
+ .desc = "Они точно не для сумо?"
+ent-LPPPantiesAltLightpurple = светло-фиолетовые трусы
+ .desc = "Они точно не для сумо?"
+ent-LPPPantiesAltMaroon = темно-бордовые трусы
+ .desc = "Они точно не для сумо?"
+ent-LPPPantiesAltOrange = оранжевые трусы
+ .desc = "Они точно не для сумо?"
+ent-LPPPantiesAltRed = красные трусы
+ .desc = "Кто-то проиграл трусы, во время борьбы в раздевалке..."
+ent-LPPPantiesAltTeal = бирюзовые трусы
+ .desc = "Звучит как-то по... Задротски?"
+ent-LPPPantiesAltYellow = жёлтые трусы
+ .desc = "Они точно не для сумо?"
+ent-LPPPantiesNekoBlack = чёрные трусы
+ .desc = "Я не буду шутить про Нэко, Я не буду шутить про Нэко, Я не буду шутить про Нэко..."
+ent-LPPPantiesNekoBlue = синие трусы
+ .desc = "Я не буду шутить про Нэко, Я не буду шутить про Нэко, Я не буду шутить про Нэко..."
+ent-LPPPantiesNeko = белые трусы
+ .desc = "Я не буду шутить про Нэко, Я не буду шутить про Нэко, Я не буду шутить про Нэко..."
+ent-LPPPantiesNekoBrown = коричневые трусы
+ .desc = "Я не буду шутить про Нэко, Я не буду шутить про Нэко, Я не буду шутить про Нэко..."
+ent-LPPPantiesNekoGreen = зелёные трусы
+ .desc = "Я не буду шутить про Нэко, Я не буду шутить про Нэко, Я не буду шутить про Нэко..."
+ent-LPPPantiesNekoGrey = серые трусы
+ .desc = "Я не буду шутить про Нэко, Я не буду шутить про Нэко, Я не буду шутить про Нэко..."
+ent-LPPPantiesNekoLightpurple = светло-фиолетовые трусы
+ .desc = "Я не буду шутить про Нэко, Я не буду шутить про Нэко, Я не буду шутить про Нэко..."
+ent-LPPPantiesNekoMaroon = темно-бордовые трусы
+ .desc = "Я не буду шутить про Нэко, Я не буду шутить про Нэко, Я не буду шутить про Нэко..."
+ent-LPPPantiesNekoOrange = оранжевые трусы
+ .desc = "Я не буду шутить про Нэко, Я не буду шутить про Нэко, Я не буду шутить про Нэко..."
+ent-LPPPantiesNekoRed = красные трусы
+ .desc = "Трусы для тех сотрудников СБ, кто чуствует себя *Пощёчена*. Я не буду шутить про.."
+ent-LPPPantiesNekoTeal = бирюзовые трусы
+ .desc = "Звучит как-то по... Задротски?"
+ent-LPPPantiesNekoYellow = жёлтые трусы
+ .desc = "Я не буду шутить про Нэко, Я не буду шутить про Нэко, Я не буду шутить про Нэко..."
+ent-LPPPantiesThinBlack = чёрные тонкие трусы
+ .desc = "Для полноты ощущений"
+ent-LPPPantiesThinBlue = синие тонкие трусы
+ .desc = "Для полноты ощущений"
+ent-LPPPantiesThin = белые тонкие трусы
+ .desc = "Для полноты ощущений"
+ent-LPPPantiesThinBrown = коричневые тонкие трусы
+ .desc = "Для полноты ощущений"
+ent-LPPPantiesThinGreen = зелёные тонкие трусы
+ .desc = "Для полноты ощущений"
+ent-LPPPantiesThinGrey = серые тонкие трусы
+ .desc = "Для полноты ощущений"
+ent-LPPPantiesThinLightpurple = светло-фиолетовые тонкие трусы
+ .desc = "Для полноты ощущений"
+ent-LPPPantiesThinMaroon = темно-бордовые тонкие трусы
+ .desc = "Для полноты ощущений"
+ent-LPPPantiesThinOrange = оранжевые тонкие трусы
+ .desc = "Для полноты ощущений"
+ent-LPPPantiesThinRed = красные тонкие трусы
+ .desc = "Есть пробитие!"
+ent-LPPPantiesThinTeal = бирюзовые тонкие трусы
+ .desc = "Звучит как-то по... Задротски?"
+ent-LPPPantiesThinYellow = жёлтые тонкие трусы
+ .desc = "Для полноты ощущений"
+ent-LPPStripedPanties = полосатые трусы
+ .desc = "..."
+ent-LPPThongBlack = чёрные стринги размера "S"
+ .desc = "Для полноты ощущений"
+ent-LPPThongBlue = синие стринги размера "S"
+ .desc = "Для полноты ощущений"
+ent-LPPThong = белые стринги размера "S"
+ .desc = "Для полноты ощущений"
+ent-LPPThongBrown = коричневые стринги размера "S"
+ .desc = "Для полноты ощущений"
+ent-LPPThongGreen = зелёные стринги размера "S"
+ .desc = "Для полноты ощущений"
+ent-LPPThongGrey = серые стринги размера "S"
+ .desc = "Для полноты ощущений"
+ent-LPPThongLightpurple = светло-фиолетовые стринги размера "S"
+ .desc = "Для полноты ощущений"
+ent-LPPThongMaroon = темно-бордовые стринги размера "S"
+ .desc = "Для полноты ощущений"
+ent-LPPThongOrange = оранжевые стринги размера "S"
+ .desc = "Для полноты ощущений"
+ent-LPPThongRed = красные стринги размера "S"
+ .desc = "Есть пробитие!"
+ent-LPPThongTeal = бирюзовые стринги размера "S"
+ .desc = "Звучит как-то по... Задротски?"
+ent-LPPThongYellow = жёлтые стринги размера "S"
+ .desc = "Для полноты ощущений"
+ent-LPPThongBabydollBlack = чёрный ремешок с "мешочком"
+ .desc = "Horny!"
+ent-LPPThongBabydollBlue = синий ремешок с "мешочком"
+ .desc = "Horny, но за НаноТрезен!"
+ent-LPPThongBabydoll = белые ремешой с "мешочком"
+ .desc = "Horny!"
+ent-LPPThongBabydollBrown = коричневый ремешок с "мешочком"
+ .desc = "Horny!"
+ent-LPPThongBabydollGreen = зелёный ремешок с "мешочком"
+ .desc = "Horny!"
+ent-LPPThongBabydollGrey = серый ремешок с "мешочком"
+ .desc = "Horny!"
+ent-LPPThongBabydollLightpurple = светло-фиолетовый ремешок с "мешочком"
+ .desc = "Horny!"
+ent-LPPThongBabydollMaroon = темно-бордовый ремешок с "мешочком"
+ .desc = "Horny!"
+ent-LPPThongBabydollOrange = оранжевый ремешок с "мешочком"
+ .desc = "Horny!"
+ent-LPPThongBabydollRed = красный ремешок с "мешочком"
+ .desc = "Тесновато..."
+ent-LPPThongBabydollTeal = бирюзовый ремешок с "мешочком"
+ .desc = "Звучит как-то по... Задротски?"
+ent-LPPThongBabydollYellow = жёлтый ремешок с "мешочьком"
+ .desc = "Horny!"
diff --git a/Resources/Locale/ru-RU/_LostParadise/underwear/LPPSocks.ftl b/Resources/Locale/ru-RU/_LostParadise/underwear/LPPSocks.ftl
new file mode 100644
index 0000000000..c1525869b7
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/underwear/LPPSocks.ftl
@@ -0,0 +1,168 @@
+ent-LPPClothingUnderBeeKnee = пчелиные носочки
+ .desc = "Do you like jazz?"
+ent-LPPClothingUnderBeeNorm = {ent-LPPClothingUnderBeeKnee}
+ .desc = {ent-LPPClothingUnderBeeKnee.desc}
+ent-LPPClothingUnderBeeThigh = {ent-LPPClothingUnderBeeKnee}
+ .desc = {ent-LPPClothingUnderBeeKnee.desc}
+ent-LPPClothingUnderCommieKnee = коммунистические носочки
+ .desc = "пинайте врагов СССП не только ботинками, но и носочками!"
+ent-LPPClothingUnderCommieThigh = {ent-LPPClothingUnderCommieKnee}
+ .desc = {ent-LPPClothingUnderCommieKnee.desc}
+ent-LPPClothingUnderPantyhoseBlack = чёрные колготки
+ .desc = "Тёплые! Практичные! Приятные! Сексуальные?"
+ent-LPPClothingUnderPantyhoseBlue = синие колготки
+ .desc = {ent-LPPClothingUnderPantyhoseBlack.desc}
+ent-LPPClothingUnderPantyhoseBrown = коричневые колготки
+ .desc = {ent-LPPClothingUnderPantyhoseBlack.desc}
+ent-LPPClothingUnderPantyhoseGreen = зелёные колготки
+ .desc = {ent-LPPClothingUnderPantyhoseBlack.desc}
+ent-LPPClothingUnderPantyhoseGrey = серые колготки
+ .desc = {ent-LPPClothingUnderPantyhoseBlack.desc}
+ent-LPPClothingUnderPantyhoseLightpurple = светло-фиолетовые колготки
+ .desc = {ent-LPPClothingUnderPantyhoseBlack.desc}
+ent-LPPClothingUnderPantyhoseMaroon = темно-бордовые колготки
+ .desc = {ent-LPPClothingUnderPantyhoseBlack.desc}
+ent-LPPClothingUnderPantyhose = белые колготки
+ .desc = {ent-LPPClothingUnderPantyhoseBlack.desc}
+ent-LPPClothingUnderPantyhoseRed = красные колготки
+ .desc = {ent-LPPClothingUnderPantyhoseBlack.desc}
+ent-LPPClothingUnderPantyhoseTeal = бирюзовые колготки
+ .desc = {ent-LPPClothingUnderPantyhoseBlack.desc}
+ent-LPPClothingUnderPantyhoseYellow = жёлтые колготки
+ .desc = {ent-LPPClothingUnderPantyhoseBlack.desc}
+ent-LPPClothingUnderRainbowKnee = радужные носочки
+ .desc = "Связи с КоАП РФ Статья 6.21. Пропаганда нетрадиционных сексуальных отношений и (или) предпочтений, смены пола, я вынужден сказать - ОСУЖДАЮ!!!"
+ent-LPPClothingUnderRainbowThigh = {ent-LPPClothingUnderRainbowKnee}
+ .desc = {ent-LPPClothingUnderRainbowKnee.desc}
+ent-LPPClothingUnderSocksKneeBlack = чёрные носочки
+ .desc = "Парный тканевый предмет одежды, предназначенный для ношения на ногах."
+ent-LPPClothingUnderSocksKneeBlue = синие носочки
+ .desc = {ent-LPPClothingUnderSocksKneeBlack.desc}
+ent-LPPClothingUnderSocksKneeBrown = коричневые носочки
+ .desc = {ent-LPPClothingUnderSocksKneeBlack.desc}
+ent-LPPClothingUnderSocksKneeGreen = зелёные носочки
+ .desc = {ent-LPPClothingUnderSocksKneeBlack.desc}
+ent-LPPClothingUnderSocksKneeGrey = серые носочки
+ .desc = {ent-LPPClothingUnderSocksKneeBlack.desc}
+ent-LPPClothingUnderSocksKneeLightpurple = светло-фиолетовые носочки
+ .desc = {ent-LPPClothingUnderSocksKneeBlack.desc}
+ent-LPPClothingUnderSocksKneeMaroon = темно-бордовые носочки
+ .desc = {ent-LPPClothingUnderSocksKneeBlack.desc}
+ent-LPPClothingUnderSocksKnee = белые носочки
+ .desc = {ent-LPPClothingUnderSocksKneeBlack.desc}
+ent-LPPClothingUnderSocksKneeRed = красные носочки
+ .desc = {ent-LPPClothingUnderSocksKneeBlack.desc}
+ent-LPPClothingUnderSocksKneeTeal = бирюзовые носочки
+ .desc = {ent-LPPClothingUnderSocksKneeBlack.desc}
+ent-LPPClothingUnderSocksKneeYellow = жёлтые носочки
+ .desc = {ent-LPPClothingUnderSocksKneeBlack.desc}
+ent-LPPClothingUnderSocksNormBlack = чёрные носочки
+ .desc = "Парный тканевый предмет одежды, предназначенный для ношения на ногах."
+ent-LPPClothingUnderSocksNormBlue = синие носочки
+ .desc = {ent-LPPClothingUnderSocksNormBlack.desc}
+ent-LPPClothingUnderSocksNormBrown = коричневые носочки
+ .desc = {ent-LPPClothingUnderSocksNormBlack.desc}
+ent-LPPClothingUnderSocksNormGreen = зелёные носочки
+ .desc = {ent-LPPClothingUnderSocksNormBlack.desc}
+ent-LPPClothingUnderSocksNormGrey = серые носочки
+ .desc = {ent-LPPClothingUnderSocksNormBlack.desc}
+ent-LPPClothingUnderSocksNormLightpurple = светло-фиолетовые носочки
+ .desc = {ent-LPPClothingUnderSocksNormBlack.desc}
+ent-LPPClothingUnderSocksNormMaroon = темно-бордовые носочки
+ .desc = {ent-LPPClothingUnderSocksNormBlack.desc}
+ent-LPPClothingUnderSocksNorm = белые носочки
+ .desc = {ent-LPPClothingUnderSocksNormBlack.desc}
+ent-LPPClothingUnderSocksNormRed = красные носочки
+ .desc = {ent-LPPClothingUnderSocksNormBlack.desc}
+ent-LPPClothingUnderSocksNormTeal = бирюзовые носочки
+ .desc = {ent-LPPClothingUnderSocksNormBlack.desc}
+ent-LPPClothingUnderSocksNormYellow = жёлтые носочки
+ .desc = {ent-LPPClothingUnderSocksNormBlack.desc}
+ent-LPPClothingUnderSocksShortBlack = чёрные носочки
+ .desc = "Парный тканевый предмет одежды, предназначенный для ношения на ногах."
+ent-LPPClothingUnderSocksShortBlue = синие носочки
+ .desc = {ent-LPPClothingUnderSocksShortBlack.desc}
+ent-LPPClothingUnderSocksShortBrown = коричневые носочки
+ .desc = {ent-LPPClothingUnderSocksShortBlack.desc}
+ent-LPPClothingUnderSocksShortGreen = зелёные носочки
+ .desc = {ent-LPPClothingUnderSocksShortBlack.desc}
+ent-LPPClothingUnderSocksShortGrey = серые носочки
+ .desc = {ent-LPPClothingUnderSocksShortBlack.desc}
+ent-LPPClothingUnderSocksShortLightpurple = светло-фиолетовые носочки
+ .desc = {ent-LPPClothingUnderSocksShortBlack.desc}
+ent-LPPClothingUnderSocksShortMaroon = темно-бордовые носочки
+ .desc = {ent-LPPClothingUnderSocksShortBlack.desc}
+ent-LPPClothingUnderSocksShort = белые носочки
+ .desc = {ent-LPPClothingUnderSocksShortBlack.desc}
+ent-LPPClothingUnderSocksShortRed = красные носочки
+ .desc = {ent-LPPClothingUnderSocksShortBlack.desc}
+ent-LPPClothingUnderSocksShortTeal = бирюзовые носочки
+ .desc = {ent-LPPClothingUnderSocksShortBlack.desc}
+ent-LPPClothingUnderSocksShortYellow = жёлтые носочки
+ .desc = {ent-LPPClothingUnderSocksShortBlack.desc}
+ent-LPPClothingUnderSocksThighBlack = чёрные длинные носочки
+ .desc = "Парный тканевый предмет одежды, предназначенный для ношения на ногах."
+ent-LPPClothingUnderSocksThighBlue = синие длинные носочки
+ .desc = {ent-LPPClothingUnderSocksThighBlack.desc}
+ent-LPPClothingUnderSocksThighBrown = коричневые длинные носочки
+ .desc = {ent-LPPClothingUnderSocksThighBlack.desc}
+ent-LPPClothingUnderSocksThighGreen = зелёные длинные носочки
+ .desc = {ent-LPPClothingUnderSocksThighBlack.desc}
+ent-LPPClothingUnderSocksThighGrey = серые длинные носочки
+ .desc = {ent-LPPClothingUnderSocksThighBlack.desc}
+ent-LPPClothingUnderSocksThighLightpurple = светло-фиолетовые длинные носочки
+ .desc = {ent-LPPClothingUnderSocksThighBlack.desc}
+ent-LPPClothingUnderSocksThighMaroon = темно-бордовые длинные носочки
+ .desc = {ent-LPPClothingUnderSocksThighBlack.desc}
+ent-LPPClothingUnderSocksThigh = белые длинные носочки
+ .desc = {ent-LPPClothingUnderSocksThighBlack.desc}
+ent-LPPClothingUnderSocksThighRed = красные длинные носочки
+ .desc = {ent-LPPClothingUnderSocksThighBlack.desc}
+ent-LPPClothingUnderSocksThighTeal = бирюзовые длинные носочки
+ .desc = {ent-LPPClothingUnderSocksThighBlack.desc}
+ent-LPPClothingUnderSocksThighYellow = жёлтые длинные носочки
+ .desc = {ent-LPPClothingUnderSocksThighBlack.desc}
+ent-LPPClothingUnderThinKneeBlack = тонкие чёрные носочки
+ .desc = "Парный тканевый предмет одежды, предназначенный для ношения на ногах."
+ent-LPPClothingUnderThinKneeBlue = тонкие синие носочки
+ .desc = {ent-LPPClothingUnderThinKneeBlack.desc}
+ent-LPPClothingUnderThinKneeBrown = тонкие коричневые носочки
+ .desc = {ent-LPPClothingUnderThinKneeBlack.desc}
+ent-LPPClothingUnderThinKneeGreen = тонкие зелёные носочки
+ .desc = {ent-LPPClothingUnderThinKneeBlack.desc}
+ent-LPPClothingUnderThinKneeGrey = тонкие серые носочки
+ .desc = {ent-LPPClothingUnderThinKneeBlack.desc}
+ent-LPPClothingUnderThinKneeLightpurple = тонкие светло-фиолетовые носочки
+ .desc = {ent-LPPClothingUnderThinKneeBlack.desc}
+ent-LPPClothingUnderThinKneeMaroon = тонкие темно-бордовые носочки
+ .desc = {ent-LPPClothingUnderThinKneeBlack.desc}
+ent-LPPClothingUnderThinKnee = тонкие белые носочки
+ .desc = {ent-LPPClothingUnderThinKneeBlack.desc}
+ent-LPPClothingUnderThinKneeRed = тонкие красные носочки
+ .desc = {ent-LPPClothingUnderThinKneeBlack.desc}
+ent-LPPClothingUnderThinKneeTeal = бирюзовые тонкие носочки
+ .desc = {ent-LPPClothingUnderThinKneeBlack.desc}
+ent-LPPClothingUnderThinKneeYellow = тонкие жёлтые носочки
+ .desc = {ent-LPPClothingUnderThinKneeBlack.desc}
+ent-LPPClothingUnderThinThighBlack = тонкие чёрные длинные носочки
+ .desc = "Парный тканевый предмет одежды, предназначенный для ношения на ногах."
+ent-LPPClothingUnderThinThighBlue = тонкие синие длинные носочки
+ .desc = {ent-LPPClothingUnderThinThighBlack.desc}
+ent-LPPClothingUnderThinThighBrown = тонкие коричневые длинные носочки
+ .desc = {ent-LPPClothingUnderThinThighBlack.desc}
+ent-LPPClothingUnderThinThighGreen = тонкие зелёные длинные носочки
+ .desc = {ent-LPPClothingUnderThinThighBlack.desc}
+ent-LPPClothingUnderThinThighGrey = тонкие серые длинные носочки
+ .desc = {ent-LPPClothingUnderThinThighBlack.desc}
+ent-LPPClothingUnderThinThighLightpurple = тонкие светло-фиолетовые длинные носочки
+ .desc = {ent-LPPClothingUnderThinThighBlack.desc}
+ent-LPPClothingUnderThinThighMaroon = тонкие темно-бордовые длинные носочки
+ .desc = {ent-LPPClothingUnderThinThighBlack.desc}
+ent-LPPClothingUnderThinThigh = тонкие белые длинные носочки
+ .desc = {ent-LPPClothingUnderThinThighBlack.desc}
+ent-LPPClothingUnderThinThighRed = тонкие красные длинные носочки
+ .desc = {ent-LPPClothingUnderThinThighBlack.desc}
+ent-LPPClothingUnderThinThighTeal = бирюзовые тонкие длинные носочки
+ .desc = {ent-LPPClothingUnderThinThighBlack.desc}
+ent-LPPClothingUnderThinThighYellow = тонкие жёлтые длинные носочки
+ .desc = {ent-LPPClothingUnderThinThighBlack.desc}
diff --git a/Resources/Locale/ru-RU/_LostParadise/underwear/LPPSocks_new.ftl b/Resources/Locale/ru-RU/_LostParadise/underwear/LPPSocks_new.ftl
new file mode 100644
index 0000000000..1f0bd3fa3c
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/underwear/LPPSocks_new.ftl
@@ -0,0 +1,22 @@
+ent-LPPClothingUnderSocksDartBee = носки "пчелиная полосочка"
+ .desc = "Это темно-оранжевые чулки в полоску, для тех, кто любит медовые сладости."
+ent-LPPClothingUnderSocksDark = темные носки
+ .desc = "Обычные темные чулки, которые подчеркнут стройность ваших ног."
+ent-LPPClothingUnderSocksDarkBlue = темно-синие носки
+ .desc = "Вариация чулок в полоску. Идеально подходит для прекрасной половины медотсека."
+ent-LPPClothingUnderSocksDarkGrid = темные сетчатые носки
+ .desc = "Более экстравагантный вариант чулок. Подходит для самых модных отделений."
+ent-LPPClothingUnderSocksDarkLace = темные кружевные носки
+ .desc = "Эти шикарные чулки заставят растаять любое сердце."
+ent-LPPClothingUnderSocksDarkRedLace = темно-красные кружевные носки
+ .desc = "Вариация чулок с кружевом для тех, кто любит выделяться."
+ent-LPPClothingUnderSocksDarkRedLine = носки в темно-красную полоску
+ .desc = "Разновидность чулок в полоску. С этими чулками вашим сотрудникам Службы безопасности не придется бегать за злоумышленниками, так как они будут падать к их ногам."
+ent-LPPClothingUnderSocksDarkWhiteLace = темно-белые кружевные носки
+ .desc = "Этот элегантный комплект чулок подчеркнет нежность вашей прекрасной натуры."
+ent-LPPClothingUnderSocksBlue = синие носки
+ .desc = "Эти чулки не испачкаются вашими интернами или парамедиками, независимо от того, сколько крови прольют их пациенты."
+ent-LPPClothingUnderSocksMime = носки мима
+ .desc = "С этими чулками вы покорите всю станцию, не сказав ни слова."
+ent-LPPClothingUnderSocksPink = розовые носки
+ .desc = "Идеальный выбор, если вы снимаетесь в фильме о куклах."
diff --git a/Resources/Locale/ru-RU/_LostParadise/uplink.ftl b/Resources/Locale/ru-RU/_LostParadise/uplink.ftl
new file mode 100644
index 0000000000..fde0b67fb5
--- /dev/null
+++ b/Resources/Locale/ru-RU/_LostParadise/uplink.ftl
@@ -0,0 +1,5 @@
+uplink-codetalk-implanter-name = Имплантер Кодового языка
+uplink-codetalk-implanter-desc = Никто не поймет ваш план по краже трусов капитана!
+
+uplink-unilang-implanter-name = Универсальный языковой Имплантер
+uplink-unilang-implanter-desc = Данный имплант рушит языковой барьер для вас, вы можете свободно ПОНИМАТЬ другие языки