Loading Park Labs...
Loading Park Labs...
LAB NOTE No.0052025.08.25개발
2025년 8월 25일, Park Labs 웹사이트에 다국어(i18n)를 넣고 있다. 한국어, 영어, 일본어 세 언어이고, 라이브러리는 next-intl을 쓴다.

점술 앱 uranai-musume가 일본 타겟이고, 앞으로 글로벌도 생각하면 처음부터 다국어 구조를 잡아놓는 게 맞겠다 싶어서 시작했다.
next-intl 설정은 끝냈다. /ko, /en, /ja로 나뉘는 라우팅 구조를 잡고, 언어별 메시지 파일을 분리하고, 언어 선택기를 만들었다.
번역은 한국어, 영어, 일본어 다 했다. 번역 자체는 금방 했는데, 모든 컴포넌트에 적용하는 게 은근 손이 많이 간다.
Next.js(15.5.0)에서 params가 Promise 타입으로 바뀌면서 타입 에러가 터졌다. 공식 문서를 한참 뒤져서 해결.
SSG와 다국어 라우팅 조합도 까다로웠다. 정적 빌드 때 만들 페이지 목록을 정하는 generateStaticParams에서 locale 조합을 다 만들어줘야 하는데, 처음엔 몰라서 빌드 에러를 몇 번 봤다. Cloudflare Pages에서 locale redirect 설정하는 것도 좀 헤맸다.
일본어는 uranai-musume 때문에 필수고, 영어는 글로벌 확장 준비다. 한국어랑 일본어는 어순이 비슷해서 다행이다. 영어 번역이 제일 까다롭다.
다국어를 나중에 추가하려고 했으면 진짜 고생했을 것 같다. 처음부터 넣길 잘했다.