Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

Issues translator for GitHub 크롬 익스텐션

이 크롬 익스텐션은 사실 작년에 사이드 프로젝트로 만든 것이다. 프로젝트의 성격은 달라지지 않았으므로 자세한 내용은 이전 글을 읽어보면 된다.

Google Translation API

전에 익스텐션을 만들고도 크롬 웹스토어에 배포하지 않은 이유는 새로 나온 딥러닝 기반의 구글 번역 API가 클로즈 베타 상태로 공개되어 있지 않았기 때문이었다. (아마도) 작년 중순부터 딥러닝 기반의 번역이 기본이 되고(이전에는 파라미터로 지정해야 했다.) 구글 클라우드를 사용하는 사람이라면 누구나 API를 발급받아 사용할 수 있게 되었으므로 이를 바탕으로 변경해서 크롬 웹스토어에 배포했다.

참고로 Translation API는 유료 API이다. 백만 글자당 20달러인데 그동안 사용해 본 경험으로는 댓글을 읽으면서 번역을 이용해도 가격이 그리 많이 나오진 않았다. 아직까진 1달러 이상 나와 본 적은 없어서 유료 API임에도 필요하다면 충분히 과금할 정도는 된다. 이 크롬 익스텐션이 유료인 게 아니므로 비용 지급은 Google 쪽에 하는 것이다. 다만 기술 용어가 많은 GitHub에서 구글 번역의 품질이 아주 좋지는 않고 Markdown을 그대로 번역 요청하기 때문에 문맥이 깨지는 경우는 꽤 있다. 최근에 댓글 읽을 일이 많아져서 문장이 이해 안 될 때 참고용으로 사용하고 있다.

README에도 적어놨지만, Google Cloud Platform에서 이 익스텐션에서 사용할 프로젝트를 생성하고 Google Cloud Translation API을 활성화한 뒤 생성한 API 키를 이 익스텐션의 옵션에 넣으면 사용할 수 있다.

이후 GitHub의 이슈나 Pull Request에서 각 댓글에 나오는 지구본 모양의 아이콘을 클릭하면 하단에 번역된 글이 나타난다.

0.5.x에서의 변경사항

오랫동안 업데이트를 안 하고 있었기 때문에 새로운 API에서 제대로 동작하는지 확인하고 그사이에 GitHub의 마크업이 달라졌는지 동작을 제대로 하지 않는 부분을 수정했다. 기능을 새로 추가하거나 그런 건 없다. 그리고 이전에는 Webpack으로 빌드하고 있었지만 작은 프로젝트에서 테스트해 볼 요량으로 Parcel로 바꾸었다. Parcel은 Webpack처럼 다양한 옵션을 제공하고는 있지 않았지만, Parcel이 제공하는 기능을 그대로 사용하면 아주 쉽게 빌드를 할 수 있었다.

저번에 다 만들고도 배포를 못 해서 GitHub 저장소에만 남겨두었는데 이번에 크롬 웹스토어에 배포할 수 있게 되어 만족스럽다.

2018/05/05 18:56 2018/05/05 18:56