using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Threading.Tasks;
namespace Translit
{
public class TranslitMethods
{
public class Translitter
{
private List<TranslitSymbol> TranslitSymbols { get; set; }
/// <summary>
/// Метод транслитерации русского текстав
/// </summary>
/// <param name="source">Исходная строка на русском</param>
/// <param name="type">Тип транслитерации</param>
/// <returns></returns>
public string Translit(string source, TranslitType type)
{
var result = "";
for (var i = 0; i < source.Length; i++)
{
result = result +
(TranslitSymbols.FirstOrDefault(x => x.SymbolEng == source[i].ToString() && x.TranslitType == type) == null
? source[i].ToString()
: TranslitSymbols.First(x => x.SymbolEng == source[i].ToString() && x.TranslitType == type).SymbolRus);
}
return result;
}
public Translitter()
{
this.TranslitSymbols = new List<TranslitSymbol>();
string сurs = System.IO.File.ReadAllText(@"D:\Transliteration.txt");
// Заполняем сопоставления по транслитерации
foreach (string item in сurs.Split(","))
{
string[] symbols = item.Split(":");
this.TranslitSymbols.Add(new TranslitSymbol
{
TranslitType = TranslitType.сurs,
SymbolRus = symbols[0].ToLower(),
SymbolEng = symbols[1].ToLower(),
});
this.TranslitSymbols.Add(new TranslitSymbol
{
TranslitType = TranslitType.сurs,
SymbolRus = symbols[0].ToUpper(),
SymbolEng = symbols[1].ToUpper()
});
}
}
}
public enum TranslitType
{
сurs
}
// Описание элемента справочника транскрипций
private class TranslitSymbol
{
public TranslitType TranslitType { set; get; }
public string SymbolEng { set; get; }
public string SymbolRus { set; get; }
}
}
}
namespace Translit
{
class Program
{
static void Main(string[] args)
{
//string val = "perevod.txt";
Console.Write("Введите фразу: ");
string val = Console.ReadLine();
Console.WriteLine("Оригинал: " + val);
TranslitMethods.Translitter trn = new TranslitMethods.Translitter();
Console.WriteLine("Транслитерация: " + trn.Translit(val, TranslitMethods.TranslitType.сurs));
Console.ReadKey();
}
}
}
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.