我如何使我的android应用程序翻译从英语到印地语使用Yandex翻译?Java API和JSON文件。我已经得到了API密钥,我不知道要写什么代码来包括API并使其工作。这将是非常有用的,如果你张贴整个代码:D谢谢。
你可以检查这个API:https://github.com/DoguD/Yandex-Translate-Android-API
只需将TranslatorBackgroundTask.java文件导入到您的应用程序中,然后执行如下所示:
import co.oriens.yandex_translate_android_api.TranslatorBackgroundTask;
import android.util.Log;
public class MainActivity extends Activity{
//Set context
Context context=this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Default variables for translation
String textToBeTranslated = "Hello world, yeah I know it is stereotye.";
String languagePair = "en-fr"; //English to French ("<source_language>-<target_language>")
//Executing the translation function
Translate(textToBeTranslated,languagePair);
}
//Function for calling executing the Translator Background Task
void Translate(String textToBeTranslated,String languagePair){
TranslatorBackgroundTask translatorBackgroundTask= new TranslatorBackgroundTask(context);
String translationResult = translatorBackgroundTask.execute(textToBeTranslated,languagePair).get(); // Returns the translated text as a String
Log.d("Translation Result",translationResult); // Logs the result in Android Monitor
}
}
>
添加依赖关系:
dependencies {
...
implementation ('com.github.vbauer:yandex-translate-api:1.4.2'){
exclude group: 'com.google.code.findbugs', module:'annotations'
}
...
}
repositories{
...
maven { url "https://jitpack.io" }
...
}
2。在您的活动或片段中:
class TranslateAsyncTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
return translate(strings[0]);
}
@Override
protected void onPostExecute(String s) {
//your translated text "s"
}
}
private String translate(String text){
YTranslateApi api = new YTranslateApiImpl(API_TRANSLATE_KEY);
if(Build.VERSION.SDK_INT >= 24){
Translation t = api.translationApi().translate(text,Language.EN);
return t.text();
}
return "";
}
3。在Manifest.xml中添加:
<uses-permission android:name="android.permission.INTERNET" />
您可以从查看如何为它们的翻译函数调用API开始。该部分的文档将向您展示HTTP请求的语法,该语法允许您翻译特定的文本,并指定要翻译的语言。
为了在你的Android应用中实现这一点,你需要能够发送HTTP请求。有许多很棒的库可以做到这一点。Loopj应该能够完成这项工作。他们的网站会告诉你如何将他们的库添加到你的项目/Android应用程序。