繁体   English   中英

从Android中的Google Translator读取任何语言字符串

[英]Read any Language String from Google Translator in Android

我正在创建一个翻译器应用程序,可从android支持的语音识别器获取输入文本。 范例:北印度文,中文等。现在我要建立这样的查询-

public JSONObject getTranslatedText() {
    StringBuilder sb = new StringBuilder();
    String http = "https://translation.googleapis.com/language/translate/v2?key=xyz";
    JSONObject response = null;
    String json = "";

    HttpURLConnection urlConnection = null;
    try {
        URL url = new URL(http);
        urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setDoInput(true);
        urlConnection.setDoOutput(true);
        urlConnection.setUseCaches(false);
        urlConnection.setRequestMethod("POST");
        urlConnection.setRequestProperty("Content-Type", "application/json");

        urlConnection.connect();

        String line1 = "{\n" + "  'q': '" + inputString + "',\n" + "  'target': '" + targetcodeString + "'\n" + "}";

        DataOutputStream out = new DataOutputStream(urlConnection.getOutputStream());
        out.writeBytes(line1);
        out.flush();
        out.close();

        BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8"));
        String line = null;
        while ((line = br.readLine()) != null) {
            sb.append(line + "\n");
        }
        br.close();
        json = sb.toString();
        response = new JSONObject(json);
    } catch (MalformedURLException e) {

    } catch (IOException e) {

    } catch (JSONException e) {

    } finally {
        if (urlConnection != null) urlConnection.disconnect();

    }
    return response;
}

问题是它编码不正确,我正在得到这样的输出-例如:对于印地语中的“ How you you”一词,即“क्याहाल”为9&HG 08 * E

请给我一些帮助。 提前致谢。

尝试使用Html.fromHtml(yourTranslatedStr).toString() 我尝试过印地语,它奏效了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM