Loading Park Labs...
Loading Park Labs...
LAB NOTE No.0052025.08.25Development
As of August 25, 2025, I'm in the middle of adding i18n to the Park Labs website. Three languages, Korean, English and Japanese, using a library called next-intl.

The fortune app uranai-musume targets Japan, and I'm thinking about going global eventually, so I figured I should set up the multi-language structure from the start.
The next-intl setup is done. I set up routing split into /ko, /en and /ja, separated the message files per language and built a language selector.
The translations are done for Korean, English and Japanese. The translating itself was quick, but applying it to every component is surprisingly tedious.
In Next.js (15.5.0), params changed to a Promise type and type errors blew up. Spent a while digging through the official docs to fix it.
Combining SSG with i18n routing was tricky too. You have to generate every locale combination in generateStaticParams, the function that decides which pages get built at build time. I didn't know that at first, so I hit build errors a few times. Configuring locale redirects on Cloudflare Pages was also a bit of a headache.
Japanese is a must because of uranai-musume, and English is prep for going global. Lucky that Korean and Japanese have similar word order. English translation is the hardest part.
If I'd tried to add multi-language support later, it would've been a real pain. Glad I put it in from the start.