Soulash 2

Soulash 2

Translation into Russian
 This topic has been pinned, so it's probably important
Wesser  [developer] 23 Oct, 2024 @ 2:49pm
Как перевести мод на русский?
Эта модификация позволяет перевести любой контент, доступный для замены, на русский язык, несмотря на то, что игра не поддерживает кириллицу напрямую.

Мы решили эту проблему, перерисовав некоторые символы латинского алфавита и заменив их на кириллические. Это дает возможность отображать текст на русском языке, используя нестандартный шрифт.

Ниже приведен полный список соответствий между латинскими символами и русскими буквами, которые используются в моде. Для корректного отображения русского текста в игре, вам необходимо использовать символы из таблицы.

Таблица заменяющих символов
Русская буква
Заменяющий символ
Заменяющий символ нижнего регистра
А
Č
č
Б
Á
á
В
Â
â
Г
Ã
ã
Д
Ä
ä
Е
Å
å
Ж
Æ
æ
З
Ç
ç
И
È
è
Й
É
é
К
Ê
ê
Л
Ë
ë
М
Ì
ì
Н
Í
í
О
Î
î
П
Ï
ï
Р
Ð
ð
С
Ñ
ñ
Т
Ò
ò
У
Ó
ó
Ф
Ô
ô
Х
Õ
õ
Ц
Ö
ö
Ч
Ø
ø
Ш
Ù
ù
Щ
Ú
ú
Ъ
Û
û
Ы
Ü
ü
Ь
Ý
ý
Э
Þ
þ
Ю
Ć
ć
Я
Đ
đ

Осторожно!
  • В данной таблице отсутствует буква "Ё". Перед использованием мода рекомендуется заменить все символы "Ё" на "Е" в текстах.
  • Некорректное отображение ширины символов: Из-за особенностей шрифта, игра может неправильно отображать ширину некоторых символов. Будьте внимательны при форматировании текста.
  • Проблема с вылетами: Игра может вылетать при редактировании текста на кириллице, особенно при удалении символов. Рекомендуется избегать использования кириллицы в названиях и соблюдать осторожность при редактировании текстов.

Если хотите автоматически перевести текст из кириллицы в латинский и обратно можете вставить этот код в любой online компилятор c#:
using System;using System.Collections.Generic;using System.Text.RegularExpressions;using System.Text;namespace MyNameSpace{public class Translit{static Dictionary<char,char> EnglishToRussianMap=new Dictionary<char,char>(){{'А','Č'},{'Б','Á'},{'В','Â'},{'Г','Ã'},{'Д','Ä'},{'Е','Å'},{'Ж','Æ'},{'З','Ç'},{'И','È'},{'Й','É'},{'К','Ê'},{'Л','Ë'},{'М','Ì'},{'Н','Í'},{'О','Î'},{'П','Ï'},{'Р','Ð'},{'С','Ñ'},{'Т','Ò'},{'У','Ó'},{'Ф','Ô'},{'Х','Õ'},{'Ц','Ö'},{'Ч','Ø'},{'Ш','Ù'},{'Щ','Ú'},{'Ъ','Û'},{'Ы','Ü'},{'Ь','Ý'},{'Э','Þ'},{'Ю','Ć'},{'Я','Đ'}};static string SwapLetters(string text,bool isRussianText){if(isRussianText)text=text.Replace('Ё','Е').Replace('ё','е');foreach(var item in EnglishToRussianMap){var to=isRussianText?item.Value:item.Key;var from=isRussianText?item.Key:item.Value;text=text.Replace(from,to);text=text.Replace(from.ToString().ToLower().ToCharArray()[0],to.ToString().ToLower().ToCharArray()[0]);}return text;}public static void Main(string[] args){Console.InputEncoding=Encoding.UTF8;Console.OutputEncoding=Encoding.UTF8;Console.WriteLine("Введите свой текст:");var text=Console.ReadLine();Console.WriteLine(SwapLetters(text,Regex.IsMatch(text, @".*[А-Яа-я].*")));}}}