I use Google Translation API, and it doesn’t recognize a paragraph (\n). So I receive such messages in one line (Hello\nHello – sent, Hello Hello – received). Maybe someone could help? Here is my code:
private static final String URL = "https://www.googleapis.com/language/translate/v2"; private static final String KEY = "A...3"; public String translate(String originalLang, String translationLang, String originalText) { if(originalLang.equalsIgnoreCase(translationLang)) return originalText; String result = null; try { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(URL + "?key=" + KEY + "&target=" + translationLang + "&q=" + URLEncoder.encode(originalText, "UTF-8")) .get() .build(); Response response = client.newCall(request).execute(); String resultText = response.body().string(); JSONObject jsonObject = (JSONObject) new JSONParser().parse(resultText); JSONObject data = (JSONObject) jsonObject.get("data"); JSONArray translations = (JSONArray) data.get("translations"); if(translations != null && translations.size() >= 1) { JSONObject translation = (JSONObject) translations.get(0); result = (String) translation.get("translatedText"); result = Html.fromHtml(result).toString(); } } catch (Exception e) { result = null; } return result; }