1:"$Sreact.fragment"
2:I[76419,["/_next/static/chunks/09ewb6csfj8s8.js","/_next/static/chunks/0u46hx_h1spmd.js"],"default"]
3:I[820170,["/_next/static/chunks/09ewb6csfj8s8.js","/_next/static/chunks/0u46hx_h1spmd.js"],"default"]
4:I[898596,["/_next/static/chunks/09ewb6csfj8s8.js","/_next/static/chunks/0u46hx_h1spmd.js"],"HTTPAccessFallbackBoundary"]
7:I[168246,["/_next/static/chunks/09ewb6csfj8s8.js","/_next/static/chunks/0u46hx_h1spmd.js"],"OutletBoundary"]
8:"$Sreact.suspense"
f:I[168246,["/_next/static/chunks/09ewb6csfj8s8.js","/_next/static/chunks/0u46hx_h1spmd.js"],"ViewportBoundary"]
11:I[168246,["/_next/static/chunks/09ewb6csfj8s8.js","/_next/static/chunks/0u46hx_h1spmd.js"],"MetadataBoundary"]
13:I[456105,[],"default",1]
16:I[27656,["/_next/static/chunks/0zq0bsd6brj6u.js","/_next/static/chunks/0stv0kymq.dck.js","/_next/static/chunks/0~-j9zlrcm1un.js","/_next/static/chunks/0b43i2fcfuh-t.js","/_next/static/chunks/0vpywl7ycitni.js","/_next/static/chunks/0-wgnhi4m-ngt.js","/_next/static/chunks/16._1t9v43cia.js","/_next/static/chunks/05i8n.6w.v7n1.js","/_next/static/chunks/09s35rr7u157y.js","/_next/static/chunks/0iubbmarh5mbu.js","/_next/static/chunks/0zd.rc.gvjove.js","/_next/static/chunks/01e0z950v5q51.js","/_next/static/chunks/0irl4wgoy4hu_.js"],"default"]
18:I[464222,["/_next/static/chunks/0zq0bsd6brj6u.js","/_next/static/chunks/0stv0kymq.dck.js","/_next/static/chunks/0~-j9zlrcm1un.js","/_next/static/chunks/0b43i2fcfuh-t.js","/_next/static/chunks/0vpywl7ycitni.js","/_next/static/chunks/0-wgnhi4m-ngt.js","/_next/static/chunks/16._1t9v43cia.js","/_next/static/chunks/05i8n.6w.v7n1.js","/_next/static/chunks/09s35rr7u157y.js","/_next/static/chunks/0iubbmarh5mbu.js","/_next/static/chunks/0zd.rc.gvjove.js","/_next/static/chunks/01e0z950v5q51.js","/_next/static/chunks/0irl4wgoy4hu_.js"],"SpeedInsights"]
27:I[66566,["/_next/static/chunks/0zq0bsd6brj6u.js","/_next/static/chunks/0stv0kymq.dck.js","/_next/static/chunks/0~-j9zlrcm1un.js","/_next/static/chunks/0b43i2fcfuh-t.js","/_next/static/chunks/0vpywl7ycitni.js","/_next/static/chunks/0-wgnhi4m-ngt.js","/_next/static/chunks/16._1t9v43cia.js","/_next/static/chunks/05i8n.6w.v7n1.js","/_next/static/chunks/09s35rr7u157y.js","/_next/static/chunks/0iubbmarh5mbu.js","/_next/static/chunks/0zd.rc.gvjove.js","/_next/static/chunks/01e0z950v5q51.js","/_next/static/chunks/0irl4wgoy4hu_.js","/_next/static/chunks/0mzi_b74~_xa6.js"],"default"]
28:I[654085,["/_next/static/chunks/0zq0bsd6brj6u.js","/_next/static/chunks/0stv0kymq.dck.js","/_next/static/chunks/0~-j9zlrcm1un.js","/_next/static/chunks/0b43i2fcfuh-t.js","/_next/static/chunks/0vpywl7ycitni.js","/_next/static/chunks/0-wgnhi4m-ngt.js","/_next/static/chunks/16._1t9v43cia.js","/_next/static/chunks/05i8n.6w.v7n1.js","/_next/static/chunks/09s35rr7u157y.js","/_next/static/chunks/0iubbmarh5mbu.js","/_next/static/chunks/0zd.rc.gvjove.js","/_next/static/chunks/01e0z950v5q51.js","/_next/static/chunks/0irl4wgoy4hu_.js","/_next/static/chunks/0mzi_b74~_xa6.js"],"default"]
29:I[351682,["/_next/static/chunks/0zq0bsd6brj6u.js","/_next/static/chunks/0stv0kymq.dck.js","/_next/static/chunks/0~-j9zlrcm1un.js","/_next/static/chunks/0b43i2fcfuh-t.js","/_next/static/chunks/0vpywl7ycitni.js","/_next/static/chunks/0-wgnhi4m-ngt.js","/_next/static/chunks/16._1t9v43cia.js","/_next/static/chunks/05i8n.6w.v7n1.js","/_next/static/chunks/09s35rr7u157y.js","/_next/static/chunks/0iubbmarh5mbu.js","/_next/static/chunks/0zd.rc.gvjove.js","/_next/static/chunks/01e0z950v5q51.js","/_next/static/chunks/0irl4wgoy4hu_.js"],"default"]
2a:I[839717,["/_next/static/chunks/0zq0bsd6brj6u.js","/_next/static/chunks/0stv0kymq.dck.js","/_next/static/chunks/0~-j9zlrcm1un.js","/_next/static/chunks/0b43i2fcfuh-t.js","/_next/static/chunks/0vpywl7ycitni.js","/_next/static/chunks/0-wgnhi4m-ngt.js","/_next/static/chunks/16._1t9v43cia.js","/_next/static/chunks/05i8n.6w.v7n1.js","/_next/static/chunks/09s35rr7u157y.js","/_next/static/chunks/0iubbmarh5mbu.js","/_next/static/chunks/0zd.rc.gvjove.js","/_next/static/chunks/01e0z950v5q51.js","/_next/static/chunks/0irl4wgoy4hu_.js"],"TooltipProvider"]
2b:I[434444,["/_next/static/chunks/0zq0bsd6brj6u.js","/_next/static/chunks/0stv0kymq.dck.js","/_next/static/chunks/0~-j9zlrcm1un.js","/_next/static/chunks/0b43i2fcfuh-t.js","/_next/static/chunks/0vpywl7ycitni.js","/_next/static/chunks/0-wgnhi4m-ngt.js","/_next/static/chunks/16._1t9v43cia.js","/_next/static/chunks/05i8n.6w.v7n1.js","/_next/static/chunks/09s35rr7u157y.js","/_next/static/chunks/0iubbmarh5mbu.js","/_next/static/chunks/0zd.rc.gvjove.js","/_next/static/chunks/01e0z950v5q51.js","/_next/static/chunks/0irl4wgoy4hu_.js"],"default"]
2c:I[7012,["/_next/static/chunks/0zq0bsd6brj6u.js","/_next/static/chunks/0stv0kymq.dck.js","/_next/static/chunks/0~-j9zlrcm1un.js","/_next/static/chunks/0b43i2fcfuh-t.js","/_next/static/chunks/0vpywl7ycitni.js","/_next/static/chunks/0-wgnhi4m-ngt.js","/_next/static/chunks/16._1t9v43cia.js","/_next/static/chunks/05i8n.6w.v7n1.js","/_next/static/chunks/09s35rr7u157y.js","/_next/static/chunks/0iubbmarh5mbu.js","/_next/static/chunks/0zd.rc.gvjove.js","/_next/static/chunks/01e0z950v5q51.js","/_next/static/chunks/0irl4wgoy4hu_.js"],"Toaster"]
2d:I[968703,["/_next/static/chunks/0zq0bsd6brj6u.js","/_next/static/chunks/0stv0kymq.dck.js","/_next/static/chunks/0~-j9zlrcm1un.js","/_next/static/chunks/0b43i2fcfuh-t.js","/_next/static/chunks/0vpywl7ycitni.js","/_next/static/chunks/0-wgnhi4m-ngt.js","/_next/static/chunks/16._1t9v43cia.js","/_next/static/chunks/05i8n.6w.v7n1.js","/_next/static/chunks/09s35rr7u157y.js","/_next/static/chunks/0iubbmarh5mbu.js","/_next/static/chunks/0zd.rc.gvjove.js","/_next/static/chunks/01e0z950v5q51.js","/_next/static/chunks/0irl4wgoy4hu_.js"],"Analytics"]
:HL["/_next/static/chunks/09tfn9it1~-r7.css","style"]
:HL["/_next/static/chunks/0kvj7_._7w4.r.css","style"]
:HL["/_next/static/media/GeistMonoVF-s.p.0ifhplp~93ddj.woff","font",{"crossOrigin":"","type":"font/woff"}]
:HL["/_next/static/media/GeistVF-s.p.04dvp7dj03si8.woff","font",{"crossOrigin":"","type":"font/woff"}]
:HL["/_next/static/media/StabilGroteskTrial_Bold-s.p.0l06.f8zzstky.otf","font",{"crossOrigin":"","type":"font/otf"}]
:HL["/_next/static/media/StabilGroteskTrial_BoldItalic-s.p.0ufzykfg8g0wk.otf","font",{"crossOrigin":"","type":"font/otf"}]
:HL["/_next/static/media/StabilGroteskTrial_Medium-s.p.0lijtge~cak6~.otf","font",{"crossOrigin":"","type":"font/otf"}]
:HL["/_next/static/media/StabilGroteskTrial_MediumItalic-s.p.02zw4wpfv_aub.otf","font",{"crossOrigin":"","type":"font/otf"}]
0:{"P":null,"c":["","ko","timeline","21"],"q":"","i":false,"f":[[["",{"children":[["locale","ko","d",null],{"children":["timeline",{"children":[["id","21","d",null],{"children":["__PAGE__",{}]}]}],"dialog":["__DEFAULT__",{}]},"$undefined","$undefined",16]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$L4","c",{"notFound":"$undefined","children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/09tfn9it1~-r7.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0kvj7_._7w4.r.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0zq0bsd6brj6u.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0stv0kymq.dck.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0~-j9zlrcm1un.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/0b43i2fcfuh-t.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0vpywl7ycitni.js","async":true,"nonce":"$undefined"}],["$","script","script-5",{"src":"/_next/static/chunks/0-wgnhi4m-ngt.js","async":true,"nonce":"$undefined"}],["$","script","script-6",{"src":"/_next/static/chunks/16._1t9v43cia.js","async":true,"nonce":"$undefined"}],["$","script","script-7",{"src":"/_next/static/chunks/05i8n.6w.v7n1.js","async":true,"nonce":"$undefined"}],["$","script","script-8",{"src":"/_next/static/chunks/09s35rr7u157y.js","async":true,"nonce":"$undefined"}],["$","script","script-9",{"src":"/_next/static/chunks/0iubbmarh5mbu.js","async":true,"nonce":"$undefined"}],["$","script","script-10",{"src":"/_next/static/chunks/0zd.rc.gvjove.js","async":true,"nonce":"$undefined"}],["$","script","script-11",{"src":"/_next/static/chunks/01e0z950v5q51.js","async":true,"nonce":"$undefined"}],["$","script","script-12",{"src":"/_next/static/chunks/0irl4wgoy4hu_.js","async":true,"nonce":"$undefined"}]],"$L5"]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","div",null,{"className":"size-full pt-header","children":["$","div",null,{"className":"mx-auto size-full max-w-7xl xl:border-x","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":["$L6",[["$","script","script-0",{"src":"/_next/static/chunks/0mzi_b74~_xa6.js","async":true,"nonce":"$undefined"}]],["$","$L7",null,{"children":["$","$8",null,{"name":"Next.MetadataOutlet","children":"$@9"}]}]]}],{},null,true,"$@a"]},null,true,"$@b"]},null,true,"$@c"],"dialog":[["$","$1","c",{"children":[null,null,null]}],{},null,true,"$@d"]},null,true,"$@e"]},null,true,"$@c"],["$","$1","h",{"children":[null,["$","$Lf",null,{"children":"$L10"}],["$","div",null,{"hidden":true,"children":["$","$L11",null,{"children":["$","$8",null,{"name":"Next.Metadata","children":"$L12"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],true]],"m":"$undefined","G":["$13",[]],"S":true,"h":"$@14","s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"XXWXufuZK8pKgxmu9n23S"}
15:[]
c:"$W15"
5:["$","html",null,{"lang":"ko","className":"geistsans_bd059a05-module__jfm7ea__variable geistmono_f0e6f34b-module__44R9xa__variable stabilgrotesktrial_303e935c-module__AFD-WG__variable victorseriftrial_c904d0e3-module__lEZ_rW__variable noto_sans_kr_ed8b940b-module__OvY1Ea__variable font-sans antialiased","children":["$","body",null,{"children":[["$","$L16",null,{"children":["$","$8",null,{"fallback":null,"children":"$L17"}]}],["$","$L18",null,{}]]}]}]
6:["$","article",null,{"className":"relative","children":[["$","header",null,{"className":"flex min-h-[40vh] flex-col border-b md:flex-row","children":[["$","aside",null,{"className":"flex w-full shrink-0 items-end justify-between bg-primary p-6 text-background md:w-40 md:flex-col md:p-8","children":[["$","span",null,{"className":"font-stabil-grotesk text-5xl leading-none font-bold tracking-tight underline underline-offset-8 md:text-6xl","children":"021"}],["$","time",null,{"dateTime":"2026-01-23T01:18:22.759Z","className":"font-victor-serif text-sm md:text-base","children":"2026년 1월"}]]}],["$","div",null,{"className":"flex flex-1 flex-col justify-between gap-6 px-4 py-8 md:px-10 md:py-12","children":[["$","div",null,{"className":"flex flex-col gap-4","children":[["$","span",null,{"className":"font-mono text-xs font-medium tracking-widest text-muted-foreground uppercase","children":"ARCHITECTURE"}],["$","h1",null,{"className":"font-stabil-grotesk text-3xl leading-tight font-bold tracking-tight md:text-5xl","children":"Support i18n with SEO Improvement"}],["$","p",null,{"className":"max-w-2xl text-base text-muted-foreground md:text-lg","children":"next-intl, 메타데이터, 사이트맵 생성 자동화로 다중 언어 지원"}]]}],["$","div",null,{"className":"flex flex-wrap items-center gap-2","children":[[["$","span","ADR",{"data-slot":"badge","className":"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"ADR"}],["$","span","Next.js",{"data-slot":"badge","className":"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"Next.js"}],["$","span","SEO",{"data-slot":"badge","className":"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"SEO"}],["$","span","SSR",{"data-slot":"badge","className":"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"SSR"}],["$","span","i18n",{"data-slot":"badge","className":"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"i18n"}],"$L19","$L1a","$L1b"],"$L1c",null]}]]}]]}],"$L1d","$L1e"]}]
19:["$","span","internationalization",{"data-slot":"badge","className":"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"internationalization"}]
1a:["$","span","metadata",{"data-slot":"badge","className":"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"metadata"}]
1b:["$","span","translation",{"data-slot":"badge","className":"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"translation"}]
1d:["$","section",null,{"className":"mx-auto max-w-3xl px-4 py-12 md:px-6 md:py-16","children":["$","div",null,{"className":"prose max-w-none prose-zinc dark:prose-invert prose-headings:tracking-tight","children":["$","div",null,{"className":"prose max-w-none prose-zinc dark:prose-invert prose-headings:tracking-tight","children":[["$","h2","h2-0",{"children":"Situation"}],"\n",["$","p","p-0",{"children":"방문할 사용자들이 한 가지 언어로만 볼 수 있게끔 언어 설정을 도입할 필요성을 느낌."}],"\n",["$","h2","h2-1",{"children":"Task"}],"\n",["$","ul","ul-0",{"children":["\n",["$","li","li-0",{"children":[["$","code","code-0",{"children":"next-intl"}]," 를 활용 가능한 수준까지 확장하여 설정"]}],"\n",["$","li","li-1",{"children":[["$","code","code-0",{"children":"next-intl"}]," 의 메세지 시스템을 본격적으로 적용"]}],"\n",["$","li","li-2",{"children":"locale 을 적용한 메타데이터를 제공 및 SEO 최적화 진행"}],"\n",["$","li","li-3",{"children":"언어 지원 설정을 포함한 sitemap 생성"}],"\n",["$","li","li-4",{"children":"데이터베이스의 문자 컨텐츠에 대한 translation layer 추가"}],"\n",["$","li","li-5",{"children":[["$","code","code-0",{"children":"db"}]," 패키지와 어플리케이션 캐시 레이어 업데이트"]}],"\n"]}],"\n",["$","h2","h2-2",{"children":"Action"}],"\n",["$","h3","h3-0",{"children":"1. Configuration"}],"\n",["$","ul","ul-1",{"children":["\n",["$","li","li-0",{"children":[["$","code","code-0",{"children":"next-intl"}]," 의 i18n configuration 을 prefix-url 형태로 지원하도록 구체화 (",["$","code","code-1",{"children":"navigation"}],", ",["$","code","code-2",{"children":"request"}],", ",["$","code","code-3",{"children":"routing"}],")"]}],"\n",["$","li","li-1",{"children":["어플리케이션의 모든 페이지를 ",["$","code","code-0",{"children":"[locale]"}]," 디렉토리 하위로 이동"]}],"\n",["$","li","li-2",{"children":"locale prefix 에 대해 static parameter 를 생성하도록 설정"}],"\n",["$","li","li-3",{"children":[["$","code","code-0",{"children":"proxy.ts"}]," 에서 static asset 들은 i18n 의 영향을 받지 않도록 제외"]}],"\n"]}],"\n",["$","h3","h3-1",{"children":"2. Message System"}],"\n",["$","ul","ul-2",{"children":["\n",["$","li","li-0",{"children":["CSR 페이지/컴포넌트 들은 ",["$","code","code-0",{"children":"useTranslations"}],", SSR 페이지/컴포넌트 들은 ",["$","code","code-1",{"children":"getTranslations"}]," 를 사용하도록 설정"]}],"\n",["$","li","li-1",{"children":["흩어져 있던 formatting 설정을 ",["$","code","code-0",{"children":"request"}]," 안에 통합하고, ",["$","code","code-1",{"children":"useFormatter"}],"/",["$","code","code-2",{"children":"getFormatter"}]," 를 사용하도록 일괄 설정"]}],"\n"]}],"\n",["$","h3","h3-2",{"children":"3. Metadata i18n"}],"\n",["$","ul","ul-3",{"children":["\n",["$","li","li-0",{"children":"데이터베이스를 거치지 않는 statc 페이지들의 메타데이터를 메시지 JSON 파일에 통합"}],"\n",["$","li","li-1",{"children":"데이터베이스에 접근하는 페이지들은 query 를 분리하여 localize 된 메타데이터를 생성하도록 수정"}],"\n",["$","li","li-2",{"children":["구현 중에 중복되는 로직을 발견하여 ",["$","code","code-0",{"children":"utils/server/metadata.ts"}]," 에 ",["$","code","code-1",{"children":"server-only"}]," 선언을 추가하여 별도 구성"]}],"\n",["$","li","li-3",{"children":[["$","code","code-0",{"children":"canonical URL"}]," 및 ",["$","code","code-1",{"children":"x-default"}]," 지원으로 Localize 된 메타데이터의 SEO best practices 적용"]}],"\n"]}],"\n",["$","h3","h3-3",{"children":"4. Sitemap Generation"}],"\n",["$","ul","ul-4",{"children":["\n",["$","li","li-0",{"children":["기존에 사용하던 ",["$","code","code-0",{"children":"next-sitemap"}]," 는 데이터베이스에 따라 생성되는 동적 route 를 수동으로 갱신해야 하고, CI 파이프라인에서도 ",["$","code","code-1",{"children":"post-build"}]," 스크립트를 사용해 추가적인 작업이 필요했음"]}],"\n",["$","li","li-1",{"children":["해당 라이브러리 대신 Next.js 에서 기본으로 지원하는 ",["$","code","code-0",{"children":"sitemap.ts"}]," 파일로 i18n 이 적용된 sitemap 생성"]}],"\n",["$","li","li-2",{"children":["이제 sitemap 은 ",["$","code","code-0",{"children":"/sitemap.xml"}]," 경로로 요청이 들어왔을 때 동적으로 생성됨"]}],"\n"]}],"\n",["$","h3","h3-4",{"children":"5. Translation Layer in Database"}],"\n",["$","ul","ul-5",{"children":["\n",["$","li","li-0",{"children":[["$","code","code-0",{"children":"locale"}]," enum(",["$","code","code-1",{"children":"ko"}],", ",["$","code","code-2",{"children":"en"}],") 추가"]}],"\n",["$","li","li-1",{"children":"Localize 된 컨텐츠를 갖는 번역 관계 테이블 설계"}],"\n",["$","li","li-2",{"children":"데이터베이스와 prisma 스키마 업데이트"}],"\n",["$","li","li-3",{"children":[["$","code","code-0",{"children":"title"}]," 컬럼은 타이포그래피 일관성 유지를 위해 제외 (Latin only)"]}],"\n"]}],"\n",["$","h3","h3-5",{"children":"6. Update Package and Cache layer"}],"\n",["$","ul","ul-6",{"children":["\n",["$","li","li-0",{"children":"변경된 스키마에 맞도록 prisma 의 query 수정"}],"\n",["$","li","li-1",{"children":["캐시 레이어와 ","$L1f"," 패키지 모두 기본 언어 설정 추가: 패키지에는 ","$L20"," 파일에 ","$L21",", 캐시 레이어는 ","$L22",". 추후, db 패키지는 환경변수를 통해 기본 언어 설정을 할 수 있도록 변경할 수도 있음"]}],"\n","$L23","\n"]}],"\n","$L24","\n","$L25","\n","$L26"]}]}]}]
1e:["$","footer",null,{"className":"mx-auto max-w-3xl border-t px-4 py-8 md:px-6","children":["$","dl",null,{"className":"flex flex-col gap-2 font-mono text-xs text-muted-foreground md:flex-row md:gap-6","children":[["$","div",null,{"className":"flex gap-2","children":[["$","dt",null,{"className":"tracking-widest uppercase","children":"Created"}],["$","dd",null,{"children":["$","time",null,{"dateTime":"2026-01-23T01:18:22.759Z","children":"2026년 1월 23일"}]}]]}],false]}]}]
1f:["$","code","code-0",{"children":"db"}]
20:["$","code","code-1",{"children":"constants.ts"}]
21:["$","code","code-2",{"children":"DEFAULT_LOCALE"}]
22:["$","code","code-3",{"children":"routing.defaultLocale"}]
23:["$","li","li-2",{"children":[["$","code","code-0",{"children":"posts-locale"}],"와 같이 locale 을 붙인 캐시 태그를 설정하여 보다 세밀한 캐시 관리"]}]
24:["$","h2","h2-3",{"children":"Result"}]
25:["$","p","p-1",{"children":"이제 어플리케이션은 적절한 SEO 와 함께 한국어와 영어 모두 지원함. 지원 언어를 추가할 경우, locale enum 과 번역 테이블 추가로 가능."}]
26:["$","p","p-2",{"children":"한 가지, prefix locale 을 사용함으로써 언어 변경 시에 사이트의 모든 컴포넌트가 새로 그려지는 성능 저하 발견됨."}]
1c:["$","$L27",null,{"ref":"$undefined","href":"/ko/blog/14","locale":"$undefined","localeCookie":{"name":"NEXT_LOCALE","sameSite":"lax"},"prefetch":true,"className":"inline-flex items-center gap-0.5 text-xs font-medium text-primary hover:underline","children":["Article",["$","$L28",null,{"ref":"$undefined","iconNode":[["path",{"d":"M7 7h10v10","key":"1tivn9"}],["path",{"d":"M7 17 17 7","key":"1vkiza"}]],"className":"lucide-arrow-up-right size-3"}]]}]
17:["$","$L29",null,{"formats":{"dateTime":{"short":{"day":"numeric","month":"short","year":"numeric"},"long":{"day":"2-digit","month":"long","year":"numeric"}},"number":{"precise":{"maximumFractionDigits":5}},"list":{"enumeration":{"style":"long","type":"conjunction"}}},"locale":"ko","messages":{"/":{"metadata":{"title":{"template":"Juun | %s","default":"Juun"},"description":"Technology-Agnostic Architectural Playground","applicationName":"Juun's Playground","generator":"Next.js","openGraph":{"siteName":"Juun's Playground","url":"https://juun.vercel.app"}},"header":{"i18n":{"aria-label":"Switch locale to English","label":"언어 설정 변경"},"theme":{"aria-label":"{label} 테마로 변경","label":"테마 선택"}},"section":{"featured-articles":{"description":"인프라, 성능 및 아키텍처 결정 등에 대한 심층 분석"},"decision-records":{"description":"프로젝트 개발 전반에 걸친 아키텍처 및 제품에 대한 의사결정 기록","notFound":"아직 기록이 없습니다"}}},"/blog":{"metadata":{"title":"Blog","description":"Records of experiments, learnings, achievements, analyses","openGraph":{"url":"https://juun.vercel.app/ko/blog"}},"alert":{"items":{"notFound":{"title":"","description":""}}},"article":{"table-of-contents":"목차 바로가기","list":"목록으로 돌아가기","clipboard":{"label":"클립보드로 복사","success":"클립보드에 URL이 복사되었습니다!"},"facebook":"페이스북에 공유하기","linkedin":"링크드인에 공유하기","x":"엑스(트위터)에 공유하기"},"card":{"readingTime":"{readingTime, plural, other {#}}분 소요"}},"/playground":{"metadata":{"title":"Playground","description":"Experimented or experimenting technologies","openGraph":{"url":"https://juun.vercel.app/ko/playground"}}},"ui":{"carousel":{"next":"다음 슬라이드","prev":"이전 슬라이드"}}},"now":"$undefined","timeZone":"UTC","children":["$","$L2a",null,{"children":[["$","$L2b",null,{}],["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L2",null,{"parallelRouterKey":"dialog","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L2c",null,{}],["$","$L2d",null,{}]]}]}]
10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
9:null
12:[["$","title","0",{"children":"Support i18n with SEO Improvement"}],["$","meta","1",{"name":"description","content":"next-intl, 메타데이터, 사이트맵 생성 자동화로 다중 언어 지원"}],["$","link","2",{"rel":"author","href":"https://juun.vercel.app"}],["$","meta","3",{"name":"author","content":"Juun"}],["$","meta","4",{"name":"keywords","content":"ADR,Next.js,SEO,SSR,i18n,internationalization,metadata,translation"}],["$","link","5",{"rel":"canonical","href":"https://juun.vercel.app/ko/timeline/21"}],["$","link","6",{"rel":"alternate","hrefLang":"ko","href":"https://juun.vercel.app/ko/timeline/21"}],["$","link","7",{"rel":"alternate","hrefLang":"en","href":"https://juun.vercel.app/en/timeline/21"}],["$","link","8",{"rel":"alternate","hrefLang":"x-default","href":"https://juun.vercel.app/ko/timeline/21"}],["$","meta","9",{"property":"og:title","content":"Support i18n with SEO Improvement"}],["$","meta","10",{"property":"og:description","content":"next-intl, 메타데이터, 사이트맵 생성 자동화로 다중 언어 지원"}],["$","meta","11",{"property":"og:url","content":"https://juun.vercel.app/ko/timeline/21"}],["$","meta","12",{"property":"og:site_name","content":"Juun's Playground"}],["$","meta","13",{"property":"og:type","content":"article"}],["$","meta","14",{"property":"article:published_time","content":"2026-01-23T01:18:22.759Z"}],["$","meta","15",{"property":"article:modified_time","content":"2026-01-23T01:18:22.759Z"}],["$","meta","16",{"property":"article:author","content":"Juun Roh"}],["$","meta","17",{"property":"article:section","content":"ARCHITECTURE"}],["$","meta","18",{"property":"article:tag","content":"ADR"}],["$","meta","19",{"property":"article:tag","content":"Next.js"}],["$","meta","20",{"property":"article:tag","content":"SEO"}],["$","meta","21",{"property":"article:tag","content":"SSR"}],["$","meta","22",{"property":"article:tag","content":"i18n"}],["$","meta","23",{"property":"article:tag","content":"internationalization"}],["$","meta","24",{"property":"article:tag","content":"metadata"}],["$","meta","25",{"property":"article:tag","content":"translation"}],["$","meta","26",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","27",{"name":"twitter:title","content":"Support i18n with SEO Improvement"}],["$","meta","28",{"name":"twitter:description","content":"next-intl, 메타데이터, 사이트맵 생성 자동화로 다중 언어 지원"}]]
2e:["locale","id"]
14:"$W2e"
2f:[]
d:"$W2f"
30:["locale","id"]
a:"$W30"
31:[]
b:"$W31"
32:["locale"]
e:"$W32"
