최원섭

[Develop] Translate Language Upgrade

...@@ -17,20 +17,92 @@ app.post('/', function(req, res) { ...@@ -17,20 +17,92 @@ app.post('/', function(req, res) {
17 content: req.body.content 17 content: req.body.content
18 }; 18 };
19 19
20 - console.log(_obj.content) 20 + if(_obj.content.charAt(0) == '/'){
21 - 21 + if(_obj.content == '/설정'){
22 - if(_obj.content == '/시작'){
23 res.set('content-type', 'application/json'); 22 res.set('content-type', 'application/json');
24 res.json({ 23 res.json({
25 "message": { 24 "message": {
25 + "text": "언어를 선택하세요"
26 + },
27 + "keyboard": {
28 + "type": "buttons",
29 + "buttons": [
30 + "/한국어 -> 영어",
31 + "/한국어 -> 일본어",
32 + "/한국어 -> 중국어",
33 + "/영어 -> 한국어",
34 + "/일본어 -> 한국어",
35 + "/중국어 -> 한국어"
36 + ]
37 + }
38 + });
39 + }else if(_obj.content == '/시작'){
40 + res.json({
41 + "message": {
26 "text": "언어를 설정하고 싶으면 /설정 이라고 타이핑 해주세요" 42 "text": "언어를 설정하고 싶으면 /설정 이라고 타이핑 해주세요"
27 }, 43 },
28 "keyboard": { 44 "keyboard": {
29 "type": "text" 45 "type": "text"
30 } 46 }
31 }); 47 });
48 + }else if((obj.content == '/한국어 -> 영어') ||
49 + (obj.content == '/한국어 -> 일본어') ||
50 + (obj.content == '/한국어 -> 중국어') ||
51 + (obj.content == '/영어 -> 한국어') ||
52 + (obj.content == '/일본어 -> 한국어')||
53 + (obj.content == '중국어 -> 한국어')){
54 + var s1 = choiceLanguage(content.split("/")[1].split("->")[0]);
55 + var t1 = choiceLanguage(content.split("/")[1].split("->")[1]);
56 + var options = {
57 + url: api_url,
58 + // 한국어(source : ko), 영어(target: en), 카톡에서 받는 메시지(text)
59 + form: {'source':s1, 'target':t1, 'text':req.body.content},
60 + headers: {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret}
61 + };
62 + // Naver Post API
63 + request.post(options, function(error, response, body){
64 + // Translate API Sucess
65 + if(!error && response.statusCode == 200){
66 + // JSON
67 + var objBody = JSON.parse(response.body);
68 + // Message 잘 찍히는지 확인
69 + console.log(objBody.message.result.translatedText);
70 + // Kakao Message API
71 + let massage = {
72 + "message": {
73 + // Naver API Translate 결과를 Kakao Message
74 + "text": objBody.message.result.translatedText
75 + },
76 + };
77 + // Kakao Message API 전송
78 + res.set({
79 + 'content-type': 'application/json'
80 + }).send(JSON.stringify(massage));
81 + }else{
82 + // Naver Message Error 발생
83 + res.status(response.statusCode).end();
84 + console.log('error = ' + response.statusCode);
85 +
86 + let massage = {
87 + "message": {
88 + "text": response.statusCode
89 + },
90 + };
91 + // Kakao에 Error Message
92 + res.set({
93 + 'content-type': 'application/json'
94 + }).send(JSON.stringify(massage));
95 + }
96 + });
97 + }else{
98 + res.set('content-type', 'application/json');
99 + res.json({
100 + "message": {
101 + "text": "/기호가 들어간 명령어는 사용할 수 없습니다."
102 + }
103 + });
32 } 104 }
33 -else{ 105 + }else{
34 // Naver Papago Translate 106 // Naver Papago Translate
35 var options = { 107 var options = {
36 url: api_url, 108 url: api_url,
...@@ -38,7 +110,6 @@ else{ ...@@ -38,7 +110,6 @@ else{
38 form: {'source':'ko', 'target':'en', 'text':req.body.content}, 110 form: {'source':'ko', 'target':'en', 'text':req.body.content},
39 headers: {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret} 111 headers: {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret}
40 }; 112 };
41 -console.log('aa');
42 // Naver Post API 113 // Naver Post API
43 request.post(options, function(error, response, body){ 114 request.post(options, function(error, response, body){
44 // Translate API Sucess 115 // Translate API Sucess
...@@ -77,8 +148,22 @@ console.log('aa'); ...@@ -77,8 +148,22 @@ console.log('aa');
77 }).send(JSON.stringify(massage)); 148 }).send(JSON.stringify(massage));
78 } 149 }
79 }); 150 });
80 -} 151 + }
81 }); 152 });
82 153
83 -module.exports = app; 154 +function choiceLanguage(str) {
155 + if (str == "영어")
156 + return "en";
157 + else if (str == "한국어") {
158 + console.log(str);
159 + return "ko";
160 + }
161 + else if (str == "일본어")
162 + return "ja";
163 + else if (str == "중국어(간체)")
164 + return "zh-CN";
165 + else
166 + return "ko";
167 +}
84 168
169 +module.exports = app;
......