Как перевести текст с одного языка на другой язык 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
Это простой пример перевода английского текста на хинди на пробел в прессе.
если выше URL не работает для вас использовать
http://delhilcdrepair.com/englishtohindi.zip
если обе ссылки не работают, используйте ссылку dropbox
https://www.dropbox.com/s/ncuw57nk435vfqw/englishtohindi.zip?dl=0