thumbnail
React 다국어 처리 기능(i18n)
React / i18n
2022.05.01.

i18n 자동화

i18n === 국제화 응용 프로그램을 다양한 지역에 맞게 조정하는 시스템 i18n은 문화, 지역 또는 언어가 다양한 대상 고객을 위해 쉽게 현지화 할 수 있는 디자인 및 개발 할 수 있다.

국제화 i18n 라이브러리 비교

React에서 사용할 수 있는 국제화(i18n) 인지도가 높은 라이브러리들이 있다.

– NPM 다운로드 수 –

Pasted image 20220511102219 Pasted image 20220511102504 두가지 모두 꾸준한 업데이트와 많은 다운로드 수를 기록 하고 있으니 충분히 검증된 라이브러리라고 봐도 된다.
  1. react-intl

    • API 날짜, 시간, 숫자, 화폐등의 포맷팅 까지 지원
    • React와 함께 사용할 수 있는 기능을 제공 ( React context , HOC )
    •  FormatJS 국제화 라이브러리 의 일부로 제공
    •  내장된 브라우저 번역을 사용하여 고급 표준을 따르는 다양한 문서를 제공
  2. react-i18next

    • 다국어 핵심 기능만 제공한다.

    • React와 함께 사용할 수 있는 기능을 제공 ( React context , HOC )

    • React suspense 에대한 실험적 지원 수용

    • SSR이 필요한 경우 Next.js와 함께 next-i18next 사용

    • 사용자가 선호하는 언어 감지, 백엔드 서버에서 번역된 콘텐츠 로드 등등

Pasted image 20220511110709
  1. 그외에

  • React-intl-universal

    • react-intl 라이브러리를 기반
    • React가 아닌 라이브러리를 사용할 수 있도록 한다 ( Vanilla JS에서 사용가능)
  • LinguiJS

    • 적은 용량
    • react-intl 과 비슷한 포맷

결론

인지도가 높은 react-intl, react-i18next, next-i18next 중에서 SSG가 필요하거나 Next.js를 사용한다거나 SSR이 필요한 등 상황을 고려해서 선택하면 될것 같다. 그러나 SSR이 필요해졌을 때 react-i18next를 사용하고 있었다면 next-i18next의 전환이 훨씬 간편하므로 Next.js를 사용한다면 react-i18next를 추천합니다.

Thank You for Visiting My Blog, Have a Good Day 😆
© 2022 Developer Mook, Powered By Gatsby.