[Dev Log] Next.js 14 + next-intl๋ก ๊ธ๋ก๋ฒ ์๋น์ค ์ค๋นํ๊ธฐ ๐
์ ๋ค๊ตญ์ด ์ฒ๋ฆฌ๊ฐ ํ์ํ๊ฐ์?
์๋น์ค์ ๊ธ๋ก๋ฒ ํ์ฅ์ ์ํด ๋ค๊ตญ์ด ์ง์์ ํ์์ ์
๋๋ค. ์ด๋ฒ ํ๋ก์ ํธ์์๋ Next.js 14 App Router ํ๊ฒฝ์์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋next-intl ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์
ํ์ฌ ๋ค๊ตญ์ด ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํ์ต๋๋ค.
1. next-intl ์ค์น ๋ฐ ์ค์
pnpm install next-intl
๋ฏธ๋ค์จ์ด๋ฅผ ์ค์ ํ์ฌ ์ฌ์ฉ์์ ์ธ์ด ์ค์ ์ ๊ฐ์งํ๊ณ ์ ์ ํ ๊ฒฝ๋ก๋ก ๋ฆฌ๋ค์ด๋ ํธํฉ๋๋ค.
2. ์ปดํฌ๋ํธ ๊ตฌ์กฐ ๋ณ๊ฒฝ
๊ธฐ์กด์ app/page.tsx ๋ฑ์ app/[locale]/page.tsx ๋ก ์ด๋ํ์ฌ ๋์ ๋ผ์ฐํ ์ ์ ์ฉํ์ต๋๋ค.
3. ์ธ์ด ๋ณ๊ฒฝ ํ ๊ธ (Language Toggle)
shadcn/ui์ DropdownMenu๋ฅผ ํ์ฉํ์ฌ ์ง๊ด์ ์ธ ์ธ์ด ๋ณ๊ฒฝ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
๐ก ๐ก Tip: usePathname๊ณผ useRouter ํ ์ ์ฌ์ฉํ์ฌ ํ์ฌ ๊ฒฝ๋ก๋ฅผ ์ ์งํ๋ฉด์ ์ธ์ด prefix๋ง ๋ณ๊ฒฝํ๋ ๊ฒ์ด ํต์ฌ์ ๋๋ค.
๋ง๋ฌด๋ฆฌ
์ด์ /en ๊ฒฝ๋ก๋ก ์ ์ํ๋ฉด ์์ด ํ์ด์ง๊ฐ, /ko ๊ฒฝ๋ก๋ก ์ ์ํ๋ฉด ํ๊ตญ์ด ํ์ด์ง๊ฐ ๋ ๋๋ง๋ฉ๋๋ค. ๊ธ๋ก๋ฒ ์๋น์ค๋ฅผ ์ํ ์ฒซ ๊ฑธ์์ ์ฑ๊ณต์ ์ผ๋ก ๋ด๋๋ ์ต๋๋ค! ๐
โฌ๏ธ If this helped, please click the ad below! It supports me a lot ๐โโ๏ธ โฌ๏ธ