i18n 다국어 로케일 파일 관리하는 방법
Post

i18n 다국어 로케일 파일 관리하는 방법

들어가기

  • en/common.json처럼 json파일로 보통 관리를 하는데 언어 별로 추가되는 내용이 있을 때마다 관리하기가 복잡하다.
  • 그래서 다른 사람들은 어떻게 해결하고 있는지 인터넷을 통해서 찾아 보았다.

방법들

  1. 언어팩 관리 프로그램 사용 (윈도우)
  • https://bemeal2.tistory.com/261

  • 장점
    • Excel로 파일을 출력하여 번역가에게 맡길 수 있음.
    • json파일을 읽어서 정리해 줌
  • 단점
    • 외부 프로그램
    • 결국은 배포할 필요가 있음
  1. 다국어 파일 관리 Web app
  • 장점
    • 프로젝트 내부에 Dev Dependency로 사용하면 개발 중 바로 관리 페이지를 열어서 확인할 수 있다.
  • 단점
    • 편하게 관리할 수 있지만 dev로 관리할 때만 사용할 수 있다. (결국은 배포 필요)
  1. API을 이용한 방법
    • 서버에 DB형태로 번역 데이터를 저장해 놓은 뒤
    • next.js의 getStaticProps를 활용해서 빌드 시에만 API를 반영하여 업데이트 하도록 함
    • 장점
      • 매번 API를 호출하는 것이 아니기 때문에 리소스 관리에 유용
    • 단점
      • 빌드 중에 API 오류가 나고 그대로 배포가 된다면..?!
  2. TOAST (NHN)에서는?
    • https://ui.toast.com/weekly-pick/ko_20210303
    • google-spreadsheet 라이브러리를 활용.
    • 소스코드에 key를 스캔하여 구글 스프레드 시트에 업로드하여 관리
    • 빌드 시 구글 스프레드 시트에서 번역된 파일을 다시 다운받아서 빌드
    • 장점
      • 엑셀로 관리하는 것과 같기 때문에 번역 맡기기가 편하다.
    • 단점
      • google spreadsheet API 사용하는 것이 조금 복잡
  3. lokallise
    • https://lokalise.com/
    • 로컬 라이즈 파일을 관리하거나 API로 번역 내용을 제공해주는 서비스
    • 장점
      • 쉽게 번역 파일을 관리할 수 있음.
    • 단점
      • 유료

Reference