PageSourceSearch

https://next-intl.dev/_next/static/chunks/pages/docs/environments/error-files-e2872734ff9b03ef.js

js next-intl.dev collected 2026-10-03 22:02:33 UTC 51,946 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8135],{9194:function(i,s,e){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/environments/error-files",function(){return e(6656)}])},3364:function(i,s,e){"use strict";e.d(s,{Z:function(){return r}});var t=e(651),n=e(3048);let h={default:"\uD83D\uDCA1",warning:"⚠️",question:"\uD83E\uDD14"},l={default:(0,n.Z)("border-green-700/20 bg-green-50 text-green-800 dark:border-green-400/40 dark:bg-green-700/30 dark:text-white/90"),warning:(0,n.Z)("border-yellow-700/20 bg-yellow-50 text-yellow-900 dark:border-yellow-400/40 dark:bg-yellow-700/30 dark:text-white/90"),question:(0,n.Z)("border-sky-700/20 bg-sky-50 text-sky-800 dark:border-sky-400/40 dark:bg-sky-700/30 dark:text-white/90")};function r(i){let{children:s,type:e="default",title:r,className:a,emoji:d=h[e]}=i;return(0,t.jsxs)("div",{className:(0,n.Z)(a,"nextra-callout mt-6 flex overflow-x-auto rounded-lg border py-3 ltr:pr-4 rtl:pl-4","contrast-more:border-current contrast-more:dark:border-current",l[e]),children:[(0,t.jsx)("div",{className:"select-none text-xl ltr:pl-3 ltr:pr-2 rtl:pl-2 rtl:pr-3",style:{fontFamily:'"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},children:d}),(0,t.jsxs)("div",{className:"w-full min-w-0 leading-7",children:[r&&(0,t.jsx)("p",{className:"mb-1",children:(0,t.jsx)("strong",{children:r})}),(0,t.jsx)("div",{children:s})]})]})}},6656:function(i,s,e){"use strict";e.r(s),e.d(s,{useTOC:function(){return d}});var t=e(651),n=e(4580),h=e(8330),l=e(4601),r=e(3364),a=e(6160);function d(i){let s={code:"code",...(0,l.a)()};return[{value:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(s.code,{children:"not-found.js"})}),id:"not-foundjs",depth:2},{value:"Catching unknown routes",id:"catching-unknown-routes",depth:3},{value:"Catching non-localized requests",id:"catching-non-localized-requests",depth:3},{value:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(s.code,{children:"error.js"})}),id:"errorjs",depth:2}]}s.default=(0,n.c)(function(i){let{toc:s=d(i)}=i,e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",span:"span",strong:"strong",...(0,l.a)(),...i.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{children:"Internationalization in Next.js error files"}),"\n",(0,t.jsx)(e.p,{children:"The Next.js App Router’s file convention provides two files that can be used for error handling:"}),"\n",(0,t.jsxs)(e.ol,{children:["\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.a,{href:"https://nextjs.org/docs/app/api-reference/file-conventions/not-found",children:(0,t.jsx)(e.code,{children:"not-found.js"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.a,{href:"https://nextjs.org/docs/app/api-reference/file-conventions/error",children:(0,t.jsx)(e.code,{children:"error.js"})})}),"\n"]}),"\n",(0,t.jsx)(e.p,{children:"This page provides practical guides for these cases."}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.strong,{children:"Tip:"})," You can have a look at the ",(0,t.jsx)(e.a,{href:"/examples#app-router",children:"App Router example"})," to explore a working app with error handling."]}),"\n",(0,t.jsx)(e.h2,{id:s[0].id,children:s[0].value}),"\n",(0,t.jsx)(r.Z,{children:(0,t.jsxs)(e.p,{children:["This section is only relevant if you’re using ",(0,t.jsx)(e.a,{href:"/docs/routing",children:"locale-based\nrouting"}),"."]})}),"\n",(0,t.jsxs)(e.p,{children:["Next.js renders the closest ",(0,t.jsx)(e.code,{children:"not-found"})," page when a route segment calls the ",(0,t.jsx)(e.a,{href:"https://nextjs.org/docs/app/api-reference/functions/not-found",children:(0,t.jsx)(e.code,{children:"notFound"})})," function. We can use this mechanism to provide a localized 404 page by adding a ",(0,t.jsx)(e.code,{children:"not-found"})," file within the ",(0,t.jsx)(e.code,{children:"[locale]"})," folder."]}),"\n",(0,t.jsx)(e.pre,{icon:a.KP,tabIndex:"0","data-language":"tsx","data-word-wrap":"","data-filename":"app/[locale]/not-found.tsx","data-copy":"",children:(0,t.jsxs)(e.code,{children:[(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"import"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {useTranslations} "}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"from"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:" '"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"next-intl"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsx)(e.span,{children:" "}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"export"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:" default"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:" function"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" NotFoundPage"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D9F5DD"}
1,children:"()"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:"  const"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" t"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:" ="}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" useTranslations"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"("}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"NotFoundPage"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:");"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"  return"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:" <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"h1"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"{"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:"t"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"("}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"title"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:")"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"}"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"</"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"h1"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"}"})})]})}),"\n",(0,t.jsxs)(e.p,{children:["Note however that Next.js will only render this page when the ",(0,t.jsx)(e.code,{children:"notFound"})," function is called from within a route, not for all unknown routes in general."]}),"\n",(0,t.jsx)(e.h3,{id:s[1].id,children:s[1].value}),"\n",(0,t.jsxs)(e.p,{children:["To catch unknown routes too, you can define a catch-all route that explicitly calls the ",(0,t.jsx)(e.code,{children:"notFound"})," function."]}),"\n",(0,t.jsx)(e.pre,{icon:a.KP,tabIndex:"0","data-language":"tsx","data-word-wrap":"","data-filename":"app/[locale]/[...rest]/page.tsx","data-copy":"",children:(0,t.jsxs)(e.code,{children:[(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"import"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {notFound} "}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"from"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:" '"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"next/navigation"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsx)(e.span,{children:" "}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"export"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:" default"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:" function"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" CatchAllPage"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D9F5DD"}
1,children:"()"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:"  notFound"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"();"})]}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"}"})})]})}),"\n",(0,t.jsxs)(e.p,{children:["After this change, all requests that are matched within the ",(0,t.jsx)(e.code,{children:"[locale]"})," segment will render the ",(0,t.jsx)(e.code,{children:"not-found"})," page when an unknown route is encountered (e.g. ",(0,t.jsx)(e.code,{children:"/en/unknown"}),")."]}),"\n",(0,t.jsx)(e.h3,{id:s[2].id,children:s[2].value}),"\n",(0,t.jsxs)(e.p,{children:["When the user requests a route that is not matched by the ",(0,t.jsx)(e.code,{children:"next-intl"})," ",(0,t.jsx)(e.a,{href:"/docs/routing/middleware",children:"middleware"}),", there’s no locale associated with the request (depending on your ",(0,t.jsxs)(e.a,{href:"/docs/routing/middleware#matcher-config",children:[(0,t.jsx)(e.code,{children:"matcher"})," config"]}),", e.g. ",(0,t.jsx)(e.code,{children:"/unknown.txt"})," might not be matched)."]}),"\n",(0,t.jsxs)(e.p,{children:["You can add a ",(0,t.jsx)(e.a,{href:"https://nextjs.org/docs/app/api-reference/file-conventions/not-found#global-not-foundjs-experimental",children:(0,t.jsx)(e.code,{children:"global-not-found"})})," page to handle these cases too:"]}),"\n",(0,t.jsx)(e.pre,{icon:a.KP,tabIndex:"0","data-language":"tsx","data-word-wrap":"","data-filename":"app/global-not-found.tsx","data-copy":"",children:(0,t.jsxs)(e.code,{children:[(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"import"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" Error "}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"from"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:" '"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"next/error"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsx)(e.span,{children:" "}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"export"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:" default"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:" function"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" GlobalNotFound"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D9F5DD"},children:"()"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"  return"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" ("})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"    <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"html"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#C5E478","--shiki-dark-font-style":"italic"},children:" lang"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:"="}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:'"'}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"en"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:'"'}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"}
1,children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"      <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"body"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"        <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-dark":"#F78C6C"},children:"Error"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#C5E478","--shiki-dark-font-style":"italic"},children:" statusCode"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:"="}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"{"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-dark":"#F78C6C"},children:"404"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"}"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:" />"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"      </"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"body"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"    </"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"html"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"  );"})}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"}"})})]})}),"\n",(0,t.jsxs)(e.p,{children:["For the 404 page to render, we need to call the ",(0,t.jsx)(e.code,{children:"notFound"})," function when an unknown value for the ",(0,t.jsx)(e.code,{children:"[locale]"})," segment is encountered—typically in ",(0,t.jsx)(e.a,{href:"/docs/routing/setup#i18n-request",children:(0,t.jsx)(e.code,{children:"i18n/request.ts"})}),"."]}),"\n",(0,t.jsx)(e.h2,{id:s[3].id,children:s[3].value}),"\n",(0,t.jsxs)(e.p,{children:["When an ",(0,t.jsx)(e.code,{children:"error"})," file is defined, Next.js creates an ",(0,t.jsx)(e.a,{href:"https://nextjs.org/docs/app/building-your-application/routing/error-handling#how-errorjs-works",children:"error boundary"})," within your layout that wraps pages accordingly to catch runtime errors:"]}),"\n",(0,t.jsxs)("figure",{children:[(0,t.jsx)("div",{className:"w-full lg:w-[500px]",children:(0,t.jsx)(e.pre,{icon:a.KP,tabIndex:"0","data-language":"tsx","data-word-wrap":"","data-copy":"",children:(0,t.jsxs)(e.code,{children:[(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"<"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-dark":"#F78C6C"},children:"RootLayout"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"  <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-dark":"#F78C6C"},children:"ErrorBoundary"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#C5E478","--shiki-dark-font-style":"italic"},children:" fallback"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:"="}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"{"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"}
1,children:"<"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-dark":"#F78C6C"},children:"Error"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:" />"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"}"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"    <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-dark":"#F78C6C"},children:"Page"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:" />"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"  </"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-dark":"#F78C6C"},children:"ErrorBoundary"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"</"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-dark":"#F78C6C"},children:"RootLayout"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]})]})})}),(0,t.jsx)("figcaption",{children:(0,t.jsx)(e.p,{children:"Schematic component hierarchy that Next.js creates internally."})})]}),"\n",(0,t.jsxs)(e.p,{children:["Since the ",(0,t.jsx)(e.code,{children:"error"})," file must be defined as a Client Component, you have to use ",(0,t.jsx)(e.a,{href:"/docs/usage/configuration#nextintlclientprovider",children:(0,t.jsx)(e.code,{children:"NextIntlClientProvider"})})," to provide messages in case it renders:"]}),"\n",(0,t.jsx)(e.pre,{icon:a.KP,tabIndex:"0","data-language":"tsx","data-word-wrap":"","data-filename":"layout.tsx","data-copy":"",children:(0,t.jsxs)(e.code,{children:[(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"import"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" pick "}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"from"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:" '"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"lodash/pick"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"import"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {NextIntlClientProvider} "}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"from"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:" '"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"next-intl"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"import"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {getMessages} "}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"from"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:" '"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"next-intl/server"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsx)(e.span,{children:" "}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"export"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:" default"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:" async"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:" function"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" RootLayout"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D9F5DD"},children:"("}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#808EA3","--shiki-light-font-style":"inherit","--shiki-dark":"#637777","--shiki-dark-font-style":"italic"},children:"/* ... */"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D9F5DD"},children:")"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:"  const"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" messages"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:" ="}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:" await"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" getMessages"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"}
1,children:"();"})]}),"\n",(0,t.jsx)(e.span,{children:" "}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"  return"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" ("})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"    <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"html"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#C5E478","--shiki-dark-font-style":"italic"},children:" lang"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:"="}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"{"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"locale"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"}"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"      <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"body"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"        <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-dark":"#F78C6C"},children:"NextIntlClientProvider"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#C5E478","--shiki-dark-font-style":"italic"},children:"          locale"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:"="}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"{"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"locale"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"}"})]}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#808EA3","--shiki-light-font-style":"inherit","--shiki-dark":"#637777","--shiki-dark-font-style":"italic"},children:"          // Make sure to provide at least the messages for `Error`"})}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#C5E478","--shiki-dark-font-style":"italic"},children:"          messages"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:"="}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"{"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:"pick"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"(messages"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#212121","--shiki-dark":"#5F7E97"},children:","}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:" '"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"Error"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:")"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"}"})]}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"        >"})}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"          {"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"children"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"}"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"}
1,children:"        </"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-dark":"#F78C6C"},children:"NextIntlClientProvider"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"      </"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"body"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"    </"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"html"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"  );"})}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"}"})})]})}),"\n",(0,t.jsxs)(e.p,{children:["Once ",(0,t.jsx)(e.code,{children:"NextIntlClientProvider"})," is in place, you can use functionality from ",(0,t.jsx)(e.code,{children:"next-intl"})," in the ",(0,t.jsx)(e.code,{children:"error"})," file:"]}),"\n",(0,t.jsx)(e.pre,{icon:a.KP,tabIndex:"0","data-language":"tsx","data-word-wrap":"","data-filename":"error.tsx","data-copy":"",children:(0,t.jsxs)(e.code,{children:[(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"use client"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsx)(e.span,{children:" "}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"import"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {useTranslations} "}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"from"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:" '"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"next-intl"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsx)(e.span,{children:" "}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"export"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:" default"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:" function"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" Error"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D9F5DD"},children:"("}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"{"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D7DBE0"},children:"error"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#212121","--shiki-dark":"#5F7E97"},children:","}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D7DBE0"},children:" reset"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"}"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D9F5DD"},children:")"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:"  const"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#1976D2","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" t"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:" ="}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" useTranslations"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"("}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"Error"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:");"})]}),"\n",(0,t.jsx)(e.span,{children:" "}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"  return"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" ("})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"}
1,children:"    <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"div"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"      <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"h1"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"{"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:"t"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"("}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"title"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:")"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"}"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"</"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"h1"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"      <"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"button"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#C5E478","--shiki-dark-font-style":"italic"},children:" onClick"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:"="}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"{"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"reset"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"}"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"{"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:"t"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"("}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"retry"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:")"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D3423E"},children:"}"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"</"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"button"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:"    </"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#CAECE6"},children:"div"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#7FDBCA"},children:">"})]}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"  );"})}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"}"})})]})}),"\n",(0,t.jsxs)(e.p,{children:["Note that ",(0,t.jsx)(e.code,{children:"error.tsx"})," is loaded right after your app has initialized. If your app is performance-sensitive and 
1you want to avoid loading translation functionality from ",(0,t.jsx)(e.code,{children:"next-intl"})," as part of this bundle, you can export a lazy reference from your ",(0,t.jsx)(e.code,{children:"error"})," file:"]}),"\n",(0,t.jsx)(e.pre,{icon:a.KP,tabIndex:"0","data-language":"tsx","data-word-wrap":"","data-filename":"error.tsx","data-copy":"",children:(0,t.jsxs)(e.code,{children:[(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"use client"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsx)(e.span,{children:" "}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"import"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:" {lazy} "}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"from"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:" '"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"react"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:";"})]}),"\n",(0,t.jsx)(e.span,{children:" "}),"\n",(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{style:{"--shiki-light":"#808EA3","--shiki-light-font-style":"inherit","--shiki-dark":"#637777","--shiki-dark-font-style":"italic"},children:"// Move error content to a separate chunk and load it only when needed"})}),"\n",(0,t.jsxs)(e.span,{children:[(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:"export"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-light-font-style":"inherit","--shiki-dark":"#C792EA","--shiki-dark-font-style":"italic"},children:" default"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#6F42C1","--shiki-light-font-style":"inherit","--shiki-dark":"#82AAFF","--shiki-dark-font-style":"italic"},children:" lazy"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"("}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D9F5DD"},children:"()"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#C792EA"},children:" =>"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#D32F2F","--shiki-dark":"#7FDBCA"},children:" import"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"("}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#ECC48D"},children:"./Error"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#D9F5DD"},children:"'"}),(0,t.jsx)(e.span,{style:{"--shiki-light":"#24292EFF","--shiki-dark":"#D6DEEB"},children:"));"})]})]})})]})},"/docs/environments/error-files",{filePath:"src/pages/docs/environments/error-files.mdx",timestamp:1785838368e3,pageMap:h.v,frontMatter:{},title:"Internationalization in Next.js error files"},"undefined"==typeof RemoteContent?d:RemoteContent.useTOC)},8330:function(i,s,e){"use strict";e.d(s,{v:function(){return t}});let t=[{data:{index:{title:"Introduction",type:"page",display:"hidden",theme:{layout:"raw"}},docs:{title:"Docs",type:"page"},examples:{title:"Examples",type:"page",theme:{sidebar:!1,toc:!1}},cli:{title:"CLI",type:"page",titleChildren:(0,e(651).jsx)("span",{className:"absolute -right-4 -top-3 rotate-6 rounded-sm bg-blue-500 px-1 py-[1px] text-[10px] font-semibold uppercase tracking-wider text-white group-[.navbar-home]:bg-blue-300 group-[.navbar-home]:text-blue-900 dark:bg-blue-300 dark:text-blue-900",children:"Beta"}),theme:{sidebar:!1,toc:!1},href:"https://cli.eloqnt.dev/docs"},learn:{title:"Learn",type:"page",theme:{sidebar:!1,toc:!1},href:"https://learn.next-intl.dev"},blog:{title:"Blog",type:"page",theme:{sidebar:!1,toc:!1}}}},{name:"blog",route:"/blog",children:[{data:{index:{title:"Overview"},"nextjs-root-params":{title:"Using next/root-params in Next.js 16.3",display:"hidden"},precompilation:{title:"Ahead-of-time compilation for next-intl",display:"hidden"},"use-extracted":{title:"useExtracted: The Tailwind of i18n?",dis
1play:"hidden"},"next-intl-4-0":{title:"next-intl 4.0",display:"hidden"},"next-intl-3-22":{title:"next-intl 3.22",display:"hidden"},"date-formatting-nextjs":{title:"Reliable date formatting in Next.js",display:"hidden"},"next-intl-3-0":{title:"next-intl 3.0",display:"hidden"},"translations-outside-of-react-components":{title:"How (not) to use translations outside of React components",display:"hidden"}}},{name:"date-formatting-nextjs",route:"/blog/date-formatting-nextjs",frontMatter:{title:"Reliable date formatting in Next.js"}},{name:"index",route:"/blog",frontMatter:{sidebarTitle:"Index"}},{name:"next-intl-3-0",route:"/blog/next-intl-3-0",frontMatter:{title:"next-intl 3.0"}},{name:"next-intl-3-22",route:"/blog/next-intl-3-22",frontMatter:{title:"next-intl 3.22",subtitle:"Incrementally moving forward"}},{name:"next-intl-4-0",route:"/blog/next-intl-4-0",frontMatter:{title:"next-intl 4.0"}},{name:"nextjs-root-params",route:"/blog/nextjs-root-params",frontMatter:{title:"Using next/root-params in Next.js 16.3"}},{name:"precompilation",route:"/blog/precompilation",frontMatter:{title:"Ahead-of-time compilation for next-intl"}},{name:"translations-outside-of-react-components",route:"/blog/translations-outside-of-react-components",frontMatter:{title:"How (not) to use translations outside of React components"}},{name:"use-extracted",route:"/blog/use-extracted",frontMatter:{title:"useExtracted",subtitle:"The Tailwind of i18n?"}}]},{name:"docs",route:"/docs",children:[{data:{"getting-started":"Getting started",usage:"Usage guide",routing:"Routing",environments:"Environments",workflows:"Workflows & integrations","design-principles":"Design principles"}},{name:"design-principles",route:"/docs/design-principles",frontMatter:{sidebarTitle:"Design Principles"}},{name:"environments",route:"/docs/environments",children:[{data:{"server-client-components":"Server & Client Components","actions-metadata-route-handlers":"Server Actions, Metadata & Route Handlers","error-files":"Error files (e.g. not-found)",testing:"Testing","core-library":"Core library","runtime-requirements":"Runtime requirements"}},{name:"actions-metadata-route-handlers",route:"/docs/environments/actions-metadata-route-handlers",frontMatter:{sidebarTitle:"Actions Metadata Route Handlers"}},{name:"core-library",route:"/docs/environments/core-library",frontMatter:{sidebarTitle:"Core Library"}},{name:"error-files",route:"/docs/environments/error-files",frontMatter:{sidebarTitle:"Error Files"}},{name:"runtime-requirements",route:"/docs/environments/runtime-requirements",frontMatter:{sidebarTitle:"Runtime Requirements"}},{name:"server-client-components",route:"/docs/environments/server-client-components",frontMatter:{sidebarTitle:"Server Client Components"}},{name:"testing",route:"/docs/environments/testing",frontMatter:{sidebarTitle:"Testing"}}]},{name:"environments",route:"/docs/environments",frontMatter:{sidebarTitle:"Environments"}},{name:"getting-started",route:"/docs/getting-started",children:[{data:{"app-router":"App Router","pages-router":"Pages Router"}},{name:"app-router",route:"/docs/getting-started/app-router",frontMatter:{sidebarTitle:"App Router"}},{name:"pages-router",route:"/docs/getting-started/pages-router",frontMatter:{sidebarTitle:"Pages Router"}}]},{name:"getting-started",route:"/docs/getting-started",frontMatter:{sidebarTitle:"Getting Started"}},{name:"routing",route:"/docs/routing",children:[{data:{setup:"Setup",configuration:"Configuration",middleware:"Proxy / middleware",navigation:"Navigation"}},{name:"configuration",route:"/docs/routing/configuration",frontMatter:{sidebarTitle:"Configuration"}},{name:"middleware",route:"/docs/routing/middleware",frontMatter:{sidebarTitle:"Middleware"}},{name:"navigation",route:"/docs/routing/navigation",frontMatter:{sidebarTitle:"Navigation"}},{name:"setup",route:"/docs/routing/setup",frontMatter:{sidebarTitle:"Setup"}}]},{name:"routing",route:"/docs/routing",frontMatter:{sidebarTitle:"Routing"}},{name:"usage",route:"/docs/usage",children:[{data:{translations:"Translations",numbers:"Numbers","dates-times":"Dates and times",lists:"Lists","display-name":"Display names",configuration:"Request configuration",extraction:"useExtracted",plugin:"Next.js plugin"}},{name:"configuration",route:"/docs/usage/configuration",frontMatter:{
1sidebarTitle:"Configuration"}},{name:"dates-times",route:"/docs/usage/dates-times",frontMatter:{sidebarTitle:"Dates Times"}},{name:"display-name",route:"/docs/usage/display-name",frontMatter:{sidebarTitle:"Display Name"}},{name:"extraction",route:"/docs/usage/extraction",frontMatter:{sidebarTitle:"Extraction"}},{name:"lists",route:"/docs/usage/lists",frontMatter:{sidebarTitle:"Lists"}},{name:"numbers",route:"/docs/usage/numbers",frontMatter:{sidebarTitle:"Numbers"}},{name:"plugin",route:"/docs/usage/plugin",frontMatter:{sidebarTitle:"Plugin"}},{name:"translations",route:"/docs/usage/translations",frontMatter:{sidebarTitle:"Translations"}}]},{name:"usage",route:"/docs/usage",frontMatter:{sidebarTitle:"Usage"}},{name:"workflows",route:"/docs/workflows",children:[{data:{typescript:"TypeScript augmentation","localization-management":"Localization management with Crowdin",agents:"AI agents",messages:"Linting messages",storybook:"Storybook"}},{name:"agents",route:"/docs/workflows/agents",frontMatter:{sidebarTitle:"Agents"}},{name:"localization-management",route:"/docs/workflows/localization-management",frontMatter:{sidebarTitle:"Localization Management"}},{name:"messages",route:"/docs/workflows/messages",frontMatter:{sidebarTitle:"Messages"}},{name:"storybook",route:"/docs/workflows/storybook",frontMatter:{sidebarTitle:"Storybook"}},{name:"typescript",route:"/docs/workflows/typescript",frontMatter:{sidebarTitle:"TypeScript"}}]},{name:"workflows",route:"/docs/workflows",frontMatter:{sidebarTitle:"Workflows"}}]},{name:"examples",route:"/examples",frontMatter:{sidebarTitle:"Examples"}},{name:"index",route:"/",frontMatter:{title:"next-intl"}}]}},function(i){i.O(0,[4580,2888,9774,179],function(){return i(i.s=9194)}),_N_E=i.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.