Подтвердить что ты не робот

Как кодировать Devanagari Вернуться к английскому кодированию

Я использую "Инструменты ввода Google" для входа Devanagari в приложении Java. Ниже приведен сценарий, где я набираю Devanagari नमस्ते в одном текстовом поле, я хочу показать его на английском эквиваленте namaste во втором текстовом поле. Как это сделать?

enter image description here

  private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {                                        
    // TODO add your handling code here:
    String input = jTextField1.getText();
    jTextField2.setText(input); // I need code here to show input in English Encoding.
    System.out.println("Input "+input);
}  

Вывод:

  Input n
  Input na
  Input nam
  Input nama
  Input namas
  Input namast
  Input namaste
  Input नमस्ते
4b9b3361

Ответ 1

Спасибо Pawel за этот комментарий. Я заглянул в эту библиотеку, и вот класс Helper, который решил мою проблему!

import com.ibm.icu.text.Transliterator;

/**
 * @author Tejas
 */

public class MarathiHelper {

    public String devanagariToLatin(String marathiString) {

        final String MAR_TO_ENG = "Devanagari-Latin";
        //final String DEV_TO_LATIN_NO_ACCENTS = "Devanagari-Latin; nfd; [:nonspacing mark:] remove; nfc";

        Transliterator toEnglish = Transliterator.getInstance(MAR_TO_ENG);
        String english = toEnglish.transliterate(marathiString);

        return english;

    }

    public String latinToDevanagari(String latinString) {

        final String ENG_TO_DEV = "Latin-Devanagari";

        Transliterator toMarathi = Transliterator.getInstance(ENG_TO_DEV);
        String marathi = toMarathi.transliterate(latinString);

        return marathi;
    }

    public String latinToAscii(String latinString){


        final String ENG_TO_DEV = "Latin-ASCII";
        Transliterator toMarathi = Transliterator.getInstance(ENG_TO_DEV);
        String ascii = toMarathi.transliterate(latinString);

        return ascii;

    }

    public String asciiToLatin(String asciiString){

        final String ENG_TO_DEV = "ASCII-Latin";
        Transliterator toMarathi = Transliterator.getInstance(ENG_TO_DEV);
        String latin = toMarathi.transliterate(asciiString);

        return latin;
    }
}