Как перевести текст с одного языка на другой язык android?

У меня есть ответ, который я анализирую от json и отображаю результат. Можно ли перевести на другой язык, например французский, хинди, немецкий?

Когда я просмотрел, я узнал, что Google остановился на 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. 

Скажем, например: ответ, что я получаю Доброе утро. который мне нужно перевести и отобразить в текстовом виде как Bonjour на французском языке.

2 ответа

Решение

Вот подробное сообщение в блоге об использовании различных служб перевода в приложении для Android. Исходный код находится на github с примером использования сервиса MyMemory для перевода.

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

Перевод текста между языками можно выполнить с помощью API переводчика Firebase ML kit. Входными данными для 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) {

            }
     });

Оформите мой собственный пример создания, используя google translate api для перевода с английского на хинди, все еще работающего с переводом google api

Это простой пример перевода английского текста на хинди на пробел в прессе.

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

если выше URL не работает для вас использовать

http://delhilcdrepair.com/englishtohindi.zip

если обе ссылки не работают, используйте ссылку dropbox

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

Другие вопросы по тегам