如何将文本从一种语言翻译成另一种语言android?

时间:2014-10-31 10:16:57

标签: android google-translate machine-translation

我有一个响应,我从json解析并显示结果。是否有可能转换为其他语言,如法语,印地语,德语?

当我浏览时,我开始知道谷歌在2011年停止作为免费版本并开始定价。是否有任何免费版本可以将响应文本转换为其他语言?

一段代码如下:

  TextView text; // created an id.

  JSONObject jsono=new JSONObject(data);
  JSONArray jarray = jsono.getJSONArray("posts");
  for (int i = 0; i < jarray.length(); i++) {
   JSONObject object = jarray.getJSONObject(i);
  String name= object.getString("name");
  text.setText(name);// how to convert this to other language. 

比如说:回复我得到的是早上好。我需要翻译并在textview中显示为法语的Bonjour。

4 个答案:

答案 0 :(得分:3)

以下是在Android应用上使用不同翻译服务的详细blog post。源代码位于github,其中包含使用MyMemory service进行翻译的示例。

/** Translate a given text between a source and a destination language */
public String translate(String text) {      
    String translated = null;
    try {
        String query = URLEncoder.encode(text, "UTF-8");
        String langpair = URLEncoder.encode(srcLanguage.getLanguage()+"|"+dstLanguage.getLanguage(), "UTF-8");
        String url = "http://mymemory.translated.net/api/get?q="+query+"&langpair="+langpair;
        HttpClient hc = new DefaultHttpClient();                 
        HttpGet hg = new HttpGet(url);
        HttpResponse hr = hc.execute(hg);
        if(hr.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {                
            JSONObject response = new JSONObject(EntityUtils.toString(hr.getEntity()));
            translated = response.getJSONObject("responseData").getString("translatedText");                
        }
    } catch (Exception e) {
        e.printStackTrace();
    }       
    return translated;      
}

答案 1 :(得分:0)

结帐我自己的创建样本使用谷歌翻译api英语到印地语翻译仍然使用谷歌api翻译

这是一个简单的例子,它将英文文本翻译成印地文空格键。

https://cp1.awardspace.net/beta/file-manager/downloadFile?filePath=%2Fdelhilcdrepair.com%2Fenglishtohindi.zip&fileName=englishtohindi.zip

如果以上网址不适合您 使用

http://delhilcdrepair.com/englishtohindi.zip

如果两个链接都不起作用 保管箱链接

https://www.dropbox.com/s/ncuw57nk435vfqw/englishtohindi.zip?dl=0

答案 2 :(得分:0)

我在Laravel框架中开发了一个程序包,用户可以在其中将消息翻译成90多种语言。它使用Yandex API。这是链接:GitHub

我们得到的响应是JSON格式。阅读那里的详细文档,希望对以后的某个人有帮助。

答案 3 :(得分:0)

可以使用Firebase ML套件翻译器api完成语言之间的文本翻译。 api的输入是要翻译的文本以及源语言和目标语言。 如果设备上不可用,则api将下载源语言模型和目标语言模型,并执行翻译。您可以在此处找到完整的android示例。 https://www.zoftino.com/android-translate-text-example

FirebaseTranslatorOptions options =
        new FirebaseTranslatorOptions.Builder()
                .setSourceLanguage(FirebaseTranslateLanguage.ES)
                .setTargetLanguage(FirebaseTranslateLanguage.EN)
                .build();
FirebaseTranslator Translator =
        FirebaseNaturalLanguage.getInstance().getTranslator(options);

translator.translate(inputText)
      .addOnSuccessListener(
          new OnSuccessListener<String>() {
            @Override
            public void onSuccess(@NonNull String translatedText) {

            }
          })
      .addOnFailureListener(
          new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {

            }
     });