[英]Microsoft translator api issue
我决定使用bing api
来翻译我的系统。 下面的代码将显示一个spinner
。 我想让用户从spinner
选择语言。 然后,必应api将根据所选语言来翻译系统,这是否可能让必应api来翻译值folder(strings.xml)? 我如何在java
称呼它。 下面是我的代码
public class LanguageActivity extends Activity {
Spinner spinnerctrl;
String translatedText;
Locale[] locales;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_language);
setTitle(R.string.title_activity_language)
spinnerctrl = (Spinner) findViewById(R.id.spinner1);
spinnerctrl.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
if (pos == 1) {
Toast.makeText(parent.getContext(),
getResources().getString(R.string.YouselectEn), Toast.LENGTH_SHORT)
.show();
} else if (pos == 2) {
Toast.makeText(parent.getContext(),
getResources().getString(R.string.YouselectZH), Toast.LENGTH_SHORT)
.show();
} else if (pos == 3) {
Toast.makeText(parent.getContext(),
getResources().getString(R.string.YouselectHI), Toast.LENGTH_SHORT)
.show();
}
else if (pos == 4) {
Toast.makeText(parent.getContext(),
getResources().getString(R.string.YouselectMs), Toast.LENGTH_SHORT)
.show();
}
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Nothing to select", Toast.LENGTH_LONG).show();
}
class MyAsyncTask extends AsyncTask<Void, Integer, Boolean> {
@Override
protected Boolean doInBackground(Void... arg0) {
Translate.setClientId("plantidentificatio");
Translate.setClientSecret("lMFkUM+gG96NFrhhZV649Ix8NxR2SvqXJWpOTOgNq54");
try {
translatedText = Translate.execute("I should probably set this to something a little less profane", Language.ENGLISH, Language.CHINESE_SIMPLIFIED);
} catch(Exception e) {
translatedText = e.toString();
}
return true;
}
}
});
}
}
不知道bing API,但这里是从string.xml
获取所有数据的代码
Field[] fields = R.string.class.getFields();
for (final Field field : fields) {
String name = field.getName(); //name of string
try {
int id = field.getInt(R.string.class); //id of string
Log.e("name",name);
Log.e("value", getString(id));
} catch (Exception ex) {
ex.printStackTrace();
}
}
这里的Field
应该是java.lang.reflect.Field
类型
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.