Как сделать Транслитерацию c английского на русский?

Salat

Client
Регистрация
15.01.2022
Сообщения
43
Благодарностей
1
Баллы
8
Нужно часть ссылки на объявление перевести на русский
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
924
Благодарностей
478
Баллы
63
Снипет C# для создания корректной транслит ссылки
C#:
string text = project.ExecuteMacro(project.Variables["title"].Value);
text = Macros.TextProcessing.ToLower(text, "All");
text = Macros.TextProcessing.Translit(text);
text = Macros.TextProcessing.Replace(text, "[^a-z0-9]+", " ", "Regex", "All");
text = Macros.TextProcessing.Replace(text, "[\\s\\t]+", "-", "Regex", "All");
text = System.Text.RegularExpressions.Regex.Replace(text, @"^[-]+|[-]+$", "");
return text;
 
  • Спасибо
Реакции: djaga

Salat

Client
Регистрация
15.01.2022
Сообщения
43
Благодарностей
1
Баллы
8
Снипет C# для создания корректной транслит ссылки
C#:
string text = project.ExecuteMacro(project.Variables["title"].Value);
text = Macros.TextProcessing.ToLower(text, "All");
text = Macros.TextProcessing.Translit(text);
text = Macros.TextProcessing.Replace(text, "[^a-z0-9]+", " ", "Regex", "All");
text = Macros.TextProcessing.Replace(text, "[\\s\\t]+", "-", "Regex", "All");
text = System.Text.RegularExpressions.Regex.Replace(text, @"^[-]+|[-]+$", "");
return text;
ссылка вот такого формата
moskva/remont_i_stroitelstvo/dorozhnaya_plita_bu_pag_dostavka_ukradka_1844653902
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
924
Благодарностей
478
Баллы
63
Еще вариант для транслит через кубик C#
C#:
// Текст для обработки
string text = project.ExecuteMacro(project.Variables["img_key"].Value);

// Максимальная длина
int maxLength = 100;

// Обработка текста
text = text.ToLower(); // Перевод в нижний регистр
text = text.Trim(); // Удаление пробелов в начале и конце
text = Regex.Replace(text, @"[^\w\d\s]", ""); // Удаление не букв/цифр
text = Regex.Replace(text, @"\s+", "-"); // Замена множества пробелов на -
text = text.Substring(0, Math.Min(text.Length, maxLength)); // Обрезка по макс. длине

// Транслитерация
project.Variables["img_key_translite"].Value = Macros.TextProcessing.Translit(text);
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)