
React 다국어 처리 기능(i18n)
React / i18n
2022.05.01.
i18n 자동화
i18n === 국제화 응용 프로그램을 다양한 지역에 맞게 조정하는 시스템 i18n은 문화, 지역 또는 언어가 다양한 대상 고객을 위해 쉽게 현지화 할 수 있는 디자인 및 개발 할 수 있다.
국제화 i18n 라이브러리 비교
React에서 사용할 수 있는 국제화(i18n) 인지도가 높은 라이브러리들이 있다.
- react-intl
- react-i18next Next.js지원을 강화한 next-i18next
– NPM 다운로드 수 –


-
react-intl
- API 날짜, 시간, 숫자, 화폐등의 포맷팅 까지 지원
- React와 함께 사용할 수 있는 기능을 제공 ( React context , HOC )
- FormatJS 국제화 라이브러리 의 일부로 제공
- 내장된 브라우저 번역을 사용하여 고급 표준을 따르는 다양한 문서를 제공
-
react-i18next
-
다국어 핵심 기능만 제공한다.
-
React와 함께 사용할 수 있는 기능을 제공 ( React context , HOC )
-
React suspense 에대한 실험적 지원 수용
-
SSR이 필요한 경우 Next.js와 함께 next-i18next 사용
-
사용자가 선호하는 언어 감지, 백엔드 서버에서 번역된 콘텐츠 로드 등등
-

-
그외에
-
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를 추천합니다.