我有一个响应,我从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。
答案 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翻译
这是一个简单的例子,它将英文文本翻译成印地文空格键。
如果以上网址不适合您 使用
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) {
}
});