Как я могу преобразовать кириллическую строку на английский язык в c#

Действительно ли возможно преобразовать кириллическую строку в английский язык (латынь) в c#? Например, я должен преобразовать "Петролеум" в "Нефти". Плюс я забыл упоминать, что, если у меня есть кириллица, представляют его в виде строки, должен остаться как этот, также - я могу так или иначе проверить это?

7
задан casperOne 4 May 2012 в 20:19
поделиться

7 ответов

Я не знаком с кириллицей, но если это просто отображение кириллицы 1: 1 к латинским символам, которые вам нужны, вы можете использовать словарь пар символов и сопоставить каждый символ индивидуально:

var map = new Dictionary<char, string>
{
    { 'П', "P" },
    { 'е', "e" },
    { 'т', "t" },
    { 'р', "r" },
    ...
}

var result = string.Concat("Петролеум".Select(c => map[c]));
7
ответ дан 6 December 2019 в 09:58
поделиться

Если вы используете Windows 7, вы можете воспользоваться преимуществами нового API ELS (Extended Linguistic Services), который предоставляет вам функциональность транслитерации. Взгляните на Windows 7 API Code Pack - это набор управляемых оболочек поверх многих новых API в Windows 7 (таких как новая панель задач). Найдите в папке Samples пример транслитератора , вы найдете именно то, что ищете:

3
ответ дан 6 December 2019 в 09:58
поделиться

Вы ищете способ транслитерации русских слов, написанных кириллицей (в некоторых кодировках, например, даже в латинской кодировке, поскольку iso 8859-5 aka Latin-5 для кириллицы) в латинский алфавит (с акцентами)?

Я не знаю, есть ли у .NET что-то для транслитерации, но осмелюсь сказать, что этого (как и многих других хороших фреймворков) нет. Эта ссылка на википедии может дать вам некоторые идеи по реализации транслитерации, но это не единственный способ и помните, что системы письма кириллицы не используются только русским языком, и способ, которым вы применяете транслитерацию, может варьироваться в зависимости от языка, на котором используется система письма. Например. см. То же самое для болгарского . Может эта ссылка (всегда из wp) может быть также интересна, если вы хотите самостоятельно запрограммировать транслитератор.

0
ответ дан 6 December 2019 в 09:58
поделиться

Конечно, вы можете сопоставить буквы с латинской транскрипцией, но в большинстве случаев вы не получите из этого английского слова. Например, Российская Федерация транскрибируется как Rossiyskaya Federatsiya. wikipedia предлагает обзор отображения. Вы, вероятно, ищете службу перевода, google, вероятно, предлагает api для этого.

3
ответ дан 6 December 2019 в 09:58
поделиться

Используйте словарь с русскими и английскими словами в качестве таблицы поиска. Придется набрать много текста, но это полная защита.

0
ответ дан 6 December 2019 в 09:58
поделиться

Зачем вы хотите это сделать? Замена символов один к одному обычно не дает даже приемлемой транслитерации, не говоря уже о переводе. Возможно, вам будет интересно это сообщение.

0
ответ дан 6 December 2019 в 09:58
поделиться

http://code.google.com/apis/ajaxlanguage/documentation/#Transliteration

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

2
ответ дан 6 December 2019 в 09:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: