개인적으로 만들고 있는 프로젝트에서 사용하기 위해 활용 해보기로 하였다.
( 테이블 메타데이터 생성기 )
뭐 이런 느낌으로 구성 해보려 한다.
단어기준으로 영문화 시키고 그것을 관리하는 것인데
테이블명 만들기가 어려워 손쉽게 쓰려고 하는 것이다.
개인 프로젝트에서는 뭐 크게 테이블명 신경 쓰지는 않지만
협업을 하기 위해서는 분명 테이블명 / 필드명의 표준화가 필요하기 때문이다.
나중에는 이것땜시 속썩음 ㅋㅋㅋ
물론 유료 툴 같은것이 있지만 ... 공짜파라 ;; 그리고 간단하게 잘 만들어 두면 어디선가 잘 써먹을 수 도 있을 것 같아서...
각설하고, 오늘의 주제인 번역 API
파파고의 경우 일일 10,000 단어까지 무료다. 입력 단어 기준으로
그렇기 때문에 어뷰저만 없다면야 충분하게 넉넉한 수치 인것 같아 해당 API를 사용하기로 했다.
API를 사용하기 위해 네이버 로그인 후 아래 주소로 들어가 APPLICATION 을 하나 생성하고 사용할 API 를 선택 후 등록 해주면 된다.
https://developers.naver.com/apps/#/register
이후 아래 소스 코드를 테스트 해보면 잘 되는 것을 볼 수 있다.
const { default: axios } = require('axios');
require('dotenv').config();
const CLIENT_ID = process.env.CLIENT_ID || '';
const CLIENT_SECRET = process.env.CLIENT_SECRET || '';
const NOT_FOUND = 'not found';
const PAPAGO_API_URL = 'https://openapi.naver.com/v1/papago/n2mt';
function translate(text, source = 'ko', target = 'en') {
return axios
.post(
PAPAGO_API_URL,
{
source,
target,
text,
},
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Naver-Client-Id': CLIENT_ID,
'X-Naver-Client-Secret': CLIENT_SECRET,
},
},
)
.then((res) => {
let translatedText =
res?.data?.message?.result?.translatedText || NOT_FOUND;
return translatedText;
});
}
function init() {
translate(process.argv[2]).then((msg) => {
console.log(msg);
});
}
init();
음... 잘 동작한다 ㅋㅋㅋ
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Upvoted! Thank you for supporting witness @jswit.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit