【发布时间】:2020-08-27 13:49:44
【问题描述】:
我正在尝试实现来自this post 的代码。对于某些语言,我设法成功地做到了,但是对于希腊语,我得到了一些奇怪的结果,例如:ΑÏ?χάÏ?ιοÏ,
这是我使用的java代码:
public static String translate(String langFrom, String langTo, String text) {
StringBuilder response = null;
System.out.println("Translate: " + text);
try {
String urlStr = Main.GOOGLE_SCRIPTS_URL +
"?q=" + URLEncoder.encode(text, "UTF-8") +
"&target=" + langTo +
"&source=" + langFrom;
//System.out.println(urlStr);
URL url = new URL(urlStr);
response = new StringBuilder();
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("User-Agent", "Mozilla/5.0");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
}
catch (IOException e)
{
e.printStackTrace();
}
return response.toString();
}
这是我在 script.google.com 网站中使用的脚本:
var mock = {
parameter:{
q:'hello',
source:'en',
target:'fr'
}
};
function doGet(e) {
e = e || mock;
var sourceText = ''
if (e.parameter.q){
sourceText = e.parameter.q;
}
var sourceLang = '';
if (e.parameter.source){
sourceLang = e.parameter.source;
}
var targetLang = 'en';
if (e.parameter.target){
targetLang = e.parameter.target;
}
var translatedText = LanguageApp.translate(sourceText, sourceLang, targetLang, {contentType: 'html'});
return ContentService.createTextOutput(translatedText).setMimeType(ContentService.MimeType.JSON);
}
任何想法如何解决这个问题?谢谢。
【问题讨论】: