• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

React에서 일괄번역을 할 수 있는 API나 라이브러리가 있을까요??

23.05.13 09:21 작성 조회수 1.94k

0

요즘은 홈페이지마다 번역기능이 달려있는데 i18n을 사용하여 일일히 다는 방법외에는 없는건가요?? 페이지 전체를 자동번역을 할 수 있는게 있는지 궁금합니다!

답변 2

·

답변을 작성해보세요.

0

김한결님께서 리서치하신 내용이 맞습니다.

각 언어의 단어와 표현이 1:1로 매칭되지 않고, 같은 단어라도 문맥에 따라 다르게 해석되기도 하니깐요.
번역 대상 문자열들을 먼저 정의하고, 각 언어 별로 번역을 해두어야만 합니다.

각 시스템 메뉴는 매번 변경되는 것이 아니라, 서비스에 고정된 문자열이니까 미리 해두는 것이구요. 유저의 요청에 따라 매번 수행한다면 불필요한 번역 리소스를 소모하는 것일테니 대개 그렇게 하지 않을 것입니다.

그리고, 상황에 따라 단순 문자열 번역 만으로 해결되지 않기도 합니다. 언어나 지역에 따라 페이지 레이아웃이나 스타일을 다르게 가져가기도 하니까, 다국어 지원에 대한 퀄리티에 따라 작업량의 차이는 천차만별이구요.

Microsoft와 같은 회사에서도 다국어 지원 관련해서는 종종 엉뚱한 문자열로 번역하기도 합니다. 그만큼 리소스가 많이 들어간다는 의미겠지요.

유저의 언어/지역에 따라 문자열을 다르게 서비스해야하는 경우의 아키텍처를 곰곰히 생각해보시면, 각 프레임워크의 i18n가 가장 명확한 솔루션을 제시하고 있는 것이구요. // 만드시는 서비스에 맞춰서, i18n 작업 과정을 보다 단순하게 처리할 수 있도록 보조 유틸리티나 프로세스를 만들어보실 수도 있으시겠습니다.

화이팅입니다.

yezi9733님의 프로필

yezi9733

질문자

2023.05.14

답변 감사드립니다!!

yezi9733님의 프로필

yezi9733

질문자

2023.05.14

마지막으로 질문 하나만 더 드려도될까요? google translate 같이 유저 컨텐츠마다 있는 번역기능을 React에서 제공하는 라이브러리나 API가 있는지 궁금합니다! 찾아봐도 거의 안나오네요...

직접적으로 "구글 번역" 버튼을 제공하고 내부적으로 API호출까지 해주는 라이브러리는 잘 모르겠습니다만,

이는 결국 API 호출이 핵심일 것이구요. 리액트 단에서 구글 번역 api 를 직접 호출할 수도 있고, 서버를 경유해서 호출하는 경우도 있을 것입니다.

yezi9733님의 프로필

yezi9733

질문자

2023.05.15

i18n-parser로 json 파일을 생성하고 구글 스프레드 시트에 올린뒤 ChatGPT을 사용하여 번역하는 자동화 작업을 한번 해봐야겠습니다 감사합니다~

0

안녕하세요.

말씀하시는 번역 기능이

  1. 각 웹서비스에서의 서비스 메뉴 다국어 지원을 말씀하시는 것인가요? 그렇다면 대개 프레임워크의 i18n 기능을 활용해서 개발을 합니다.

  2. 페이스북이나 트위터에서 각 유저 컨텐츠마다 있는 "번역기능"은 "서비스의 다국어 지원"과는 상관이 없습니다. 그러니 유저 컨텐츠에 대한 번역은 유저의 요청이 있을 때 동적으로 번역 API를 통해서 구현하지 않을까 싶습니다.

질문이 러프해서 이 정도 답변 밖에 드릴 수 없네요. 질문은 질문의 모든 맥락을 담아서 질문 부탁드립니다.

화이팅입니다.

yezi9733님의 프로필

yezi9733

질문자

2023.05.14

imageimage

https://dooray.com/main/

 

질문이 러프했던점 죄송합니다. 또한 답변 감사드립니다!

다음 사이트와 같이 언어탭에서 언어를 변경하였을때 번역되는것은 i18next으로 작업을 한것인가요? i18next을 찾아보니깐 google translate api에서 제공되는 API와는 다르게 모든 텍스트를 손수번역을 해야하더라고요. google translate api를 React에서 사용하고 싶었으나... 이슈 때문에 불가능한거 같아보이네요.

그렇다면 i18next 사용해야하는데 번역을할 홈페이지들이 많고 그것을 유지관리하려면 굉장한시간과 노력이 들것같습니다.

 

https://www.rldnd.net/react-i18next--

해당 링크에서 i18next을 자동화 하는 방법을 찾아보았습니다.

i18n-parser으로 소스 코드에서 key를 추출하여 key, value로 구성된 언어별 json파일을 만들어 내고 생성된 여러 개의 언어별 json파일을 하나의 테이블로 만들어 구글 스프레드 시트에 업로드하며 구글 스프레드 시트에 빈 항목들이 다 번역이 완료 되었으면 구글 스프레드 시트에서 변역된 값들을 다운로드 하여 json 파일에 적용하는 방법을 사용해야 한다고 합니다.

생각보다 번역을 하기위해 접근하는 방법이 어렵네요... 홈페이지의 서비스 메뉴 다국어 지원은 대부분 이렇게해서 사용하는것인가요?? 혹시나 다른 방법도 있다면 알려주시면 감사하겠습니다!!