我如何编码梵文回到英语编码 [英] How do I encode Devanagari Back to English Encoding

查看:94
本文介绍了我如何编码梵文回到英语编码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Java应用程序中将"Google输入工具"用于梵文输入法. 以下是我在一个textField中键入Devanagari नमस्ते的情况,我想在第二个textBox中显示与英语等效的namaste.该怎么做?

I am using 'Google Input Tools' for Devanagari Input in a Java application. Following is the scenario where I am typing Devanagari नमस्ते in one textField, I want to show it's English equivalent namaste in second textBox. How to do that?

  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 नमस्ते

推荐答案

感谢 Pawel 那条评论. 我查看了该库,这是解决了我的问题的Helper类!

Thanks Pawel for that comment . I looked into that library and here's the Helper class which solved my problem!

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;
    }
}

这篇关于我如何编码梵文回到英语编码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆