이유혁

multi language translation function

Showing 1 changed file with 41 additions and 9 deletions
......@@ -72,19 +72,51 @@ const option_maker = (api_connector, event) => {
console.log(response.statusCode);
if(!error && response.statusCode == 200){
let detect_body = JSON.parse(response.body);
let source = '';
let target = '';
if (detect_body.langCode == 'ko'||detect_body.langCode =='en'){
source = detect_body.langCode =='ko'? 'ko':'en';
target = detect_body.langCode =='ko'? 'en':'ko';
}
//언어 감지가 제대로 됐는지 확인
console.log(detect_body.langCode);
source = detect_body.langCode;
// 3.zh-CN : 중국어 간체
// 4.zh-TW : 중국어 번체
// 5.es : 스페인어
// 6.fr : 프랑스어
// 7.vi : 베트남어
// 8.th : 태국어
// 9.id : 인도네시아어
let target = '';
if (detect_body.langCode == 'ko') {
target = 'en';
switch (event.message.text.slice(-3)) {
case ':cn':
target = 'zh-CN';
break;
case ':tw':
target = 'zh-TW';
break;
case ':es':
target = 'es';
break;
case ':fr':
target = 'fr';
break;
case ':vi':
target = 'vi';
break;
case ':th':
target = 'th';
break;
case ':id':
target = 'id';
break;
default:
break;
}
} else {
target = 'ko';
}
var options = {
url: translate_api_url,
form: {'source':source, 'target': target, 'text':event.message.text},
form: {'source':detect_body.langCode, 'target': target, 'text':event.message.text},
headers: {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret}
};
resolve(options);
......@@ -114,7 +146,7 @@ const receive_result = (options, event) => {
}
else{
// 예외처리
result.text = '언어를 감지할 수 없습니다. \n 번역 언어는 한글 또는 영어만 가능합니다.';
result.text = '언어를 감지할 수 없습니다.';
client.replyMessage(event.replyToken,result);
reject(new Error("language was not detected"));
}
......