From a699af0c098d86211d83a1c87939712069adabb2 Mon Sep 17 00:00:00 2001 From: Smirnov Date: Sun, 30 Jun 2024 15:03:15 +0300 Subject: [PATCH 1/5] Add russian accent with replacement --- .../EntitySystems/RussianAccentSystem.cs | 27 ++++++ Resources/Locale/en-US/accent/russian.ftl | 93 +++++++++++++++++++ .../Prototypes/Accents/word_replacements.yml | 38 ++++++++ .../Entities/Clothing/Head/hats.yml | 3 +- 4 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 Resources/Locale/en-US/accent/russian.ftl diff --git a/Content.Server/Speech/EntitySystems/RussianAccentSystem.cs b/Content.Server/Speech/EntitySystems/RussianAccentSystem.cs index 33e4513d93f3..3a58e20f1b2d 100644 --- a/Content.Server/Speech/EntitySystems/RussianAccentSystem.cs +++ b/Content.Server/Speech/EntitySystems/RussianAccentSystem.cs @@ -5,6 +5,33 @@ namespace Content.Server.Speech.EntitySystems; public sealed class RussianAccentSystem : EntitySystem { + private Dictionary _replacement = new() + { + // base + { "hello", "привэт" }, + { "hi", "здаров" }, + { "english", "инглиш" }, + { "yes", "да" }, + // Slang + { "union", "Союз" }, + { "comrade", "товарищ" }, + { "vodka", "водка" }, + { "water", "водка" }, + { "i", "я" }, + { "nanotrasen", "капиталисты" }, + { "lizard", "ящер" }, + { "bear", "медвежонок" }, + { "beer", "пивко" }, + { "too far", "на Камчатке" }, + // SOME terrible words + { "shit", "дэрьмо" }, + { "fuck", "blyat" }, + // Pronunciation + { "r", "р" }, + { "p", "п" }, + { "e", "э" } + }; + public override void Initialize() { SubscribeLocalEvent(OnAccent); diff --git a/Resources/Locale/en-US/accent/russian.ftl b/Resources/Locale/en-US/accent/russian.ftl new file mode 100644 index 000000000000..f8710b7ba042 --- /dev/null +++ b/Resources/Locale/en-US/accent/russian.ftl @@ -0,0 +1,93 @@ +accent-russian-words-1 = hello +accent-russian-words-replace-1 = привэт + +accent-russian-words-2 = hi +accent-russian-words-replace-2 = здаров + +accent-russian-words-3 = english +accent-russian-words-replace-3 = инглиш + +accent-russian-words-4 = yes +accent-russian-words-replace-4 = да + +accent-russian-words-5 = union +accent-russian-words-replace-5 = Союз + +accent-russian-words-6 = comrade +accent-russian-words-replace-6 = товарищ + +accent-russian-words-7 = vodka +accent-russian-words-replace-7 = водка + +accent-russian-words-8 = water +accent-russian-words-replace-8 = водичка + +accent-russian-words-9 = i +accent-russian-words-replace-9 = я + +accent-russian-words-10 = nanotrasen +accent-russian-words-10-2 = NT +accent-russian-words-replace-10 = капиталисты + +accent-russian-words-11 = lizard +accent-russian-words-replace-11 = ящер + +accent-russian-words-12 = bear +accent-russian-words-replace-12 = медвежонок + +accent-russian-words-13 = beer +accent-russian-words-replace-13 = пивко + +accent-russian-words-14 = too far +accent-russian-words-replace-14 = на Камчатке + +accent-russian-words-15 = very far away +accent-russian-words-replace-15 = у чёрта на куличиках + +accent-russian-words-16 = shit +accent-russian-words-replace-16 = дэрьмо + +accent-russian-words-17 = fuck +accent-russian-words-replace-17 = blyat + +accent-russian-words-18 = syndicate +accent-russian-words-replace-18 = корпораты + +accent-russian-words-19 = stupid +accent-russian-words-replace-19 = тупой + +accent-russian-words-20 = the +accent-russian-words-replace-20 = зэ + +accent-russian-words-21 = face +accent-russian-words-replace-21 = лицо + +accent-russian-words-22 = power +accent-russian-words-replace-22 = мощь + +accent-russian-words-23 = grandmother +accent-russian-words-23-2 = grandma +accent-russian-words-replace-18 = бабушка + +accent-russian-words-24 = mother +accent-russian-words-24-2 = mama +accent-russian-words-replace-24 = матушка + +accent-russian-words-25 = futher +accent-russian-words-25-2 = daddy +accent-russian-words-replace-25 = отец + +accent-russian-words-26 = thousand +accent-russian-words-replace-26 = тыща + +accent-russian-words-27 = thousands +accent-russian-words-replace-26 = тыщи + +accent-russian-words-28 = a lot of +accent-russian-words-replace-28 = тьма + +accent-russian-words-29 = priest +accent-russian-words-replace-29 = батюшка + +accent-russian-words-30 = CentComm +accent-russian-words-replace-30 = Цитадель diff --git a/Resources/Prototypes/Accents/word_replacements.yml b/Resources/Prototypes/Accents/word_replacements.yml index 61462944e44d..c38d14dc8755 100644 --- a/Resources/Prototypes/Accents/word_replacements.yml +++ b/Resources/Prototypes/Accents/word_replacements.yml @@ -478,3 +478,41 @@ liar-word-40: liar-word-replacement-40 liar-word-41: liar-word-replacement-41 liar-word-42: liar-word-replacement-42 + +- type: accent + id: russian + wordReplacements: + accent-russian-words-1: accent-russian-words-replace-1 + accent-russian-words-2: accent-russian-words-replace-2 + accent-russian-words-3: accent-russian-words-replace-3 + accent-russian-words-4: accent-russian-words-replace-4 + accent-russian-words-5: accent-russian-words-replace-5 + accent-russian-words-6: accent-russian-words-replace-6 + accent-russian-words-7: accent-russian-words-replace-7 + accent-russian-words-8: accent-russian-words-replace-8 + accent-russian-words-9: accent-russian-words-replace-9 + accent-russian-words-10: accent-russian-words-replace-10 + accent-russian-words-10-2: accent-russian-words-replace-10 + accent-russian-words-11: accent-russian-words-replace-11 + accent-russian-words-12: accent-russian-words-replace-12 + accent-russian-words-13: accent-russian-words-replace-13 + accent-russian-words-14: accent-russian-words-replace-14 + accent-russian-words-15: accent-russian-words-replace-15 + accent-russian-words-16: accent-russian-words-replace-16 + accent-russian-words-17: accent-russian-words-replace-17 + accent-russian-words-18: accent-russian-words-replace-18 + accent-russian-words-19: accent-russian-words-replace-19 + accent-russian-words-20: accent-russian-words-replace-20 + accent-russian-words-21: accent-russian-words-replace-21 + accent-russian-words-22: accent-russian-words-replace-22 + accent-russian-words-23: accent-russian-words-replace-23 + accent-russian-words-23-2: accent-russian-words-replace-23 + accent-russian-words-24: accent-russian-words-replace-24 + accent-russian-words-24-2: accent-russian-words-replace-24 + accent-russian-words-25: accent-russian-words-replace-25 + accent-russian-words-25-2: accent-russian-words-replace-25 + accent-russian-words-26: accent-russian-words-replace-26 + accent-russian-words-27: accent-russian-words-replace-27 + accent-russian-words-28: accent-russian-words-replace-28 + accent-russian-words-29: accent-russian-words-replace-29 + accent-russian-words-30: accent-russian-words-replace-30 diff --git a/Resources/Prototypes/Entities/Clothing/Head/hats.yml b/Resources/Prototypes/Entities/Clothing/Head/hats.yml index d220d55f1f52..3608b7c9eebb 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hats.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hats.yml @@ -494,7 +494,8 @@ sprite: Clothing/Head/Hats/ushanka.rsi - type: Appearance - type: AddAccentClothing - accent: RussianAccent + accent: ReplacementAccent + replacement: russian - type: Foldable canFoldInsideContainer: true - type: FoldableClothing From d36608c05213152bd1f0f293e58bd8340eac7a18 Mon Sep 17 00:00:00 2001 From: Smirnov Date: Sun, 30 Jun 2024 15:08:49 +0300 Subject: [PATCH 2/5] Add a bit of russian accent words --- Resources/Locale/en-US/accent/russian.ftl | 4 ++++ Resources/Prototypes/Accents/word_replacements.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/Resources/Locale/en-US/accent/russian.ftl b/Resources/Locale/en-US/accent/russian.ftl index f8710b7ba042..d53c067288a4 100644 --- a/Resources/Locale/en-US/accent/russian.ftl +++ b/Resources/Locale/en-US/accent/russian.ftl @@ -14,6 +14,7 @@ accent-russian-words-5 = union accent-russian-words-replace-5 = Союз accent-russian-words-6 = comrade +accent-russian-words-6-2 = friend accent-russian-words-replace-6 = товарищ accent-russian-words-7 = vodka @@ -91,3 +92,6 @@ accent-russian-words-replace-29 = батюшка accent-russian-words-30 = CentComm accent-russian-words-replace-30 = Цитадель + +accent-russian-words-31 = you +accent-russian-words-replace-31 = ты diff --git a/Resources/Prototypes/Accents/word_replacements.yml b/Resources/Prototypes/Accents/word_replacements.yml index c38d14dc8755..e4697d45aef2 100644 --- a/Resources/Prototypes/Accents/word_replacements.yml +++ b/Resources/Prototypes/Accents/word_replacements.yml @@ -488,6 +488,7 @@ accent-russian-words-4: accent-russian-words-replace-4 accent-russian-words-5: accent-russian-words-replace-5 accent-russian-words-6: accent-russian-words-replace-6 + accent-russian-words-6-2: accent-russian-words-replace-6 accent-russian-words-7: accent-russian-words-replace-7 accent-russian-words-8: accent-russian-words-replace-8 accent-russian-words-9: accent-russian-words-replace-9 @@ -516,3 +517,4 @@ accent-russian-words-28: accent-russian-words-replace-28 accent-russian-words-29: accent-russian-words-replace-29 accent-russian-words-30: accent-russian-words-replace-30 + accent-russian-words-31: accent-russian-words-replace-31 From d29bafa9c0453db93a6421364e32d94220fb93e5 Mon Sep 17 00:00:00 2001 From: Smirnov Date: Sun, 30 Jun 2024 15:18:55 +0300 Subject: [PATCH 3/5] Fix misspells --- Resources/Locale/en-US/accent/russian.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Locale/en-US/accent/russian.ftl b/Resources/Locale/en-US/accent/russian.ftl index d53c067288a4..52483474056c 100644 --- a/Resources/Locale/en-US/accent/russian.ftl +++ b/Resources/Locale/en-US/accent/russian.ftl @@ -68,7 +68,7 @@ accent-russian-words-replace-22 = мощь accent-russian-words-23 = grandmother accent-russian-words-23-2 = grandma -accent-russian-words-replace-18 = бабушка +accent-russian-words-replace-23 = бабушка accent-russian-words-24 = mother accent-russian-words-24-2 = mama @@ -82,7 +82,7 @@ accent-russian-words-26 = thousand accent-russian-words-replace-26 = тыща accent-russian-words-27 = thousands -accent-russian-words-replace-26 = тыщи +accent-russian-words-replace-27 = тыщи accent-russian-words-28 = a lot of accent-russian-words-replace-28 = тьма From d11c281a8fed235a743bba14606c075c6fc83ccc Mon Sep 17 00:00:00 2001 From: Smirnov Date: Sun, 30 Jun 2024 15:23:07 +0300 Subject: [PATCH 4/5] Fix misspells again :< --- Resources/Locale/en-US/accent/russian.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Locale/en-US/accent/russian.ftl b/Resources/Locale/en-US/accent/russian.ftl index 52483474056c..2e3a5741899e 100644 --- a/Resources/Locale/en-US/accent/russian.ftl +++ b/Resources/Locale/en-US/accent/russian.ftl @@ -71,10 +71,10 @@ accent-russian-words-23-2 = grandma accent-russian-words-replace-23 = бабушка accent-russian-words-24 = mother -accent-russian-words-24-2 = mama +accent-russian-words-24-2 = mummy accent-russian-words-replace-24 = матушка -accent-russian-words-25 = futher +accent-russian-words-25 = father accent-russian-words-25-2 = daddy accent-russian-words-replace-25 = отец From b4a49b03bbcd4d07a8f46065f4ad913d082361a1 Mon Sep 17 00:00:00 2001 From: Smirnov Date: Sun, 30 Jun 2024 15:23:45 +0300 Subject: [PATCH 5/5] Remove old russian accent --- .../Components/RussianAccentComponent.cs | 4 - .../EntitySystems/RussianAccentSystem.cs | 74 ------------------- 2 files changed, 78 deletions(-) delete mode 100644 Content.Server/Speech/Components/RussianAccentComponent.cs delete mode 100644 Content.Server/Speech/EntitySystems/RussianAccentSystem.cs diff --git a/Content.Server/Speech/Components/RussianAccentComponent.cs b/Content.Server/Speech/Components/RussianAccentComponent.cs deleted file mode 100644 index 057bf83bb676..000000000000 --- a/Content.Server/Speech/Components/RussianAccentComponent.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace Content.Server.Speech.Components; - -[RegisterComponent] -public sealed partial class RussianAccentComponent : Component {} diff --git a/Content.Server/Speech/EntitySystems/RussianAccentSystem.cs b/Content.Server/Speech/EntitySystems/RussianAccentSystem.cs deleted file mode 100644 index 3a58e20f1b2d..000000000000 --- a/Content.Server/Speech/EntitySystems/RussianAccentSystem.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System.Text; -using Content.Server.Speech.Components; - -namespace Content.Server.Speech.EntitySystems; - -public sealed class RussianAccentSystem : EntitySystem -{ - private Dictionary _replacement = new() - { - // base - { "hello", "привэт" }, - { "hi", "здаров" }, - { "english", "инглиш" }, - { "yes", "да" }, - // Slang - { "union", "Союз" }, - { "comrade", "товарищ" }, - { "vodka", "водка" }, - { "water", "водка" }, - { "i", "я" }, - { "nanotrasen", "капиталисты" }, - { "lizard", "ящер" }, - { "bear", "медвежонок" }, - { "beer", "пивко" }, - { "too far", "на Камчатке" }, - // SOME terrible words - { "shit", "дэрьмо" }, - { "fuck", "blyat" }, - // Pronunciation - { "r", "р" }, - { "p", "п" }, - { "e", "э" } - }; - - public override void Initialize() - { - SubscribeLocalEvent(OnAccent); - } - - public static string Accentuate(string message) - { - var accentedMessage = new StringBuilder(message); - - for (var i = 0; i < accentedMessage.Length; i++) - { - var c = accentedMessage[i]; - - accentedMessage[i] = c switch - { - 'b' => 'в', - 'N' => 'И', - 'n' => 'и', - 'K' => 'К', - 'k' => 'к', - 'm' => 'м', - 'h' => 'н', - 't' => 'т', - 'R' => 'Я', - 'r' => 'я', - 'Y' => 'У', - 'W' => 'Ш', - 'w' => 'ш', - _ => accentedMessage[i] - }; - } - - return accentedMessage.ToString(); - } - - private void OnAccent(EntityUid uid, RussianAccentComponent component, AccentGetEvent args) - { - args.Message = Accentuate(args.Message); - } -}