Требуется решение по переводу латиницы в русские буквы - C#
Формулировка задачи:
Всем привет.
Задание, возможно, крайне "нубское", но помогите, пожалуйста.
Я только учусь
Задача:
Есть два listbox'a - lstRus, lstEng.
В одном (lstRus) - Русские буквы - а, б, в, г, д, и т.д
В другом (lstEng) - такое содержание - a, b, v, g, d и т.д.
Т.е. английскими русские буквы.
** Отступление **
У меня есть приятель из другого города, у него нет русской раскладки, и он всё время пишет мне вот так:
Privet, kak tvoi dela? - и всё в этом роде.
** Конец отступления*
Так вот, задача - по индексу букв, вписывать русский текст в txt1, нажимать кнопку, и получать уже англ. текст.
--- Пример: ---
Привет, меня зовут Артур. Откуда ты? - ввод в txt1.
*нажатие кнопки btnRus*
И в txt2 выводиться:
Privet, menya zovut Artur. Otkuda ti?
--- И наоборот: ---
Privet, menya zovut Artur. Otkuda ti? - ввод в txt3.
*нажатие кнопки btnEng*
И в txt4 выводиться:
Привет, меня зовут Артур. Откуда ты?
---------------------------------------------------------
Вот и вся задача.
Скриншоты списков в приложении.
Заранее благодарен за помощь.
P.S. Уважаемый модератор, я знаю, Вы исправляете сообщения, чтобы было понятней.
Посмотрите, и исправьте, если я что-то не корректно написал.
Решение задачи: «Требуется решение по переводу латиницы в русские буквы»
textual
Листинг программы
namespace Tr { public partial class Form1 : Form { public class Translation { // символы char[,] massChar ={ {'a','а'}, {'b','б'}, {'c','с'}, {'d','д'}, {'e','е'}, {'f','ф'}, {'g','г'}, {'h','х'}, {'i','и'}, {'j','j'}, // скорее всего не используется {'k','к'}, {'l','л'}, {'m','м'}, {'n','н'}, {'o','о'}, {'p','п'}, {'q','q'}, // скорее всего не используется {'r','р'}, {'s','с'}, {'t','т'}, {'u','у'}, {'v','в'}, {'w','w'}, // скорее всего не используется {'x','х'}, {'y','у'}, {'z','з'} }; // буквосочетания string[,] massDiph = { {"ya", "я"}, {"Ya", "Я"}, {"ph", "ф"}, {"Ph", "Ф"} // и т.д. }; // замена слов целиком string[,] massWords = { {"ti", "ты"}, {"Ti", "Tы"}, {"mi", "мы"}, {"Mi", "Мы"}, }; // для строчных букв private void transLowerLetters(ref string text) { for (int i = 0; i < massChar.Length / 2; i++) text = text.Replace(massChar[i, 0], massChar[i, 1]); } // для прописных букв private void transUpperLetters(ref string text) { for (int i = 0; i < massChar.Length / 2; i++) text = text.Replace(char.ToUpper(massChar[i, 0]), char.ToUpper(massChar[i, 1])); } // для буквосочетаний private void transDiphthongs(ref string text) { for (int i = 0; i < massDiph.Length / 2; i++) text = text.Replace(massDiph[i, 0], massDiph[i, 1]); } // для слов целиком private void transWords(ref string text) { string[] words = text.Split(); for (int i = 0; i < words.Length; i++) { string word = words[i].Split(new[] { ' ', '"', '.', ',', '!', '?', '(', ')', '№' })[0]; // очищаем слово в words[i] от знаков препинания (если они есть) и кладем в переменную for (int j = 0; j < massWords.Length / 2; j++) { if (word == massWords[j,0]) { words[i] = words[i].Replace(massWords[j, 0], massWords[j, 1]);} } } text = string.Empty; foreach (string word in words) { text += word + " "; } } public string Text(string text) { transDiphthongs(ref text); transWords(ref text); transLowerLetters(ref text); transUpperLetters(ref text); return text; } } public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Translation translation = new Translation(); richTextBox2.Text = translation.Text(richTextBox1.Text); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д