manabjn Ответов: 3

Преобразование английского языка в Хинди


Мне нужен код c# для преобразования английского алфавита в хинди. Если кто-то наберет "м", то он должен отображать хинди "МЗ".Аналогично ,если мы наберем английское "MAA", то оно должно отображаться как "MAA" в алфавитах хинди. Пожалуйста, помогите мне.
Спасибо за ваше доброе внимание.

Shradha G

Мне нужен код в .net для преобразования английского языка в Маратхи. Если кто-нибудь знает, то, пожалуйста, ответьте.

3 Ответов

Рейтинг:
1

Sergey Alexandrovich Kryukov

Создайте поисковую таблицу в виде массива string Заполните его, например, из какого-нибудь текстового файла . Значение будет транслитерация (http://en.wikipedia.org/wiki/Transliteration[^]) строка какого-то английского символа. Таким образом, у вас будет функция, использующая этот массив.

Но подумайте сами: почему бы не использовать стандартный IPA (http://en.wikipedia.org/wiki/International_Phonetic_Alphabet[^])? Насколько я знаю, он хорошо охватывает как английский, так и хинди (я знаю, что некоторые языки он не очень хорошо охватывает, но с хинди он должен делать).

Ладно, все зависит от тебя. Вернемся к нашей функции:

string[] TransliterationTable = new string[26]; //I assume lo- and hi-case letters are transliterated in the same way

//...

//Populate TransliterationTable from file...

//...

// instance method of the same class
// where TransliterationTable is declared:
string Transliterate(char English) {
   // pre-condition to guarantee: all English chars should be in the table,
   // other code points should not be used in call:
   bool upperCase = char.IsUpper(English);
   English = English.ToUpper();
   int index = (char)English - 0x41; //minus capital English 'A'
   string result = TransliterationTable[index];
   if (upperCase) //assume transliterations are in lower
      result = result.ToUpper;
   return TransliterationTable[index]; 
}

//one more in this class:
string Transliterate(string English) {
   System.Text.StringBuilder sb = new System.Text.StringBuilder();
   foreach(char eng in English)
       sb.Append(this.Transliterate(eng));
   return sb.ToString();
}


Готово!

—СА


ShilpiP

Привет Сакрюков, у меня есть одно сомнение относительно вашего второго звена. Как можно транслитерировать английский язык на хинди? Довольно запутанно. У меня есть знание сценариев 11 индийских языков, и в течение последних 5 лет я работаю в области языка и технологий. Транслитерация индийских языков сделана мной, но серьезно я не понимаю вторую ссылку. Пожалуйста объяснить :) заранее спасибо.

Sergey Alexandrovich Kryukov

"Как можно транслитерировать английский язык на хинди". Я абсолютно согласен с вашим беспокойством и хотел бы расспросить ОП об этом. Было бы разумно приблизительно транслитерировать, скажем, русский язык на хинди, но не английский, так как транслитерация буква за буквой потеряет смысл слова, как в английской орфографии орфография, если слишком далека от фонетики. Я просто показал, как реализовать процедуру ОП. На самом деле, можно распознать транслитерированный английский текст, но он скорее имеет юмористический эффект, иногда используемый в литературе.

Now, about IPA. There is nothing to explain. The second link has nothing to do with transliteration at all. In my second link I just questioned the transliteration itself. How it's useful? (See my notes above.) From as much as know, it's possible to conduct both English and Hindi phonetics using IPA. Am I right? I understand the value of IPA system (I wish it would be wider; some languages don't feet in the IPA set), but I fail to understand the value of transliteration between scripts and languages. Here I would ask you: can you explain it? In my experience, such transliteration is nothing more then "foreign language for the lamers". Is it not?

Спасибо.
--СА

Рейтинг:
1

ShilpiP

Я думаю, что вы хотите создать логику транслитерации.
Для этого сначала некоторое отображение слова должно быть сделано с помощью массива.
например:अ сопоставляется с a
आ сопоставляется с aa
Это сопоставляется с ка
1)после этого вы должны реализовать некоторую логику, чтобы проверить, идет ли АА после согласного, чем он должен преобразовать его в матру.


manabjn

Спасибо за вашу помощь.Пожалуйста, скажите мне, как mape आ с aa и так далее.

Рейтинг:
1

Anshul R

Используйте эквивалент символа для букв, и вам нужно написать некоторый код для объединения согласной и гласной. Используйте кодировку Unicode.