[{"data":1,"prerenderedAt":1681},["ShallowReactive",2],{"navigation":3,"v3-navigation":406,"\u002Fguide\u002Flocale-detection":733,"\u002Fguide\u002Flocale-detection-surround":1676},[4,130,180,277,298,319,346],{"title":5,"order":6,"path":7,"stem":8,"children":9,"page":129},"Guide",10,"\u002Fguide","guide",[10,14,19,24,29,35,40,45,50,56,61,66,71,76,82,87,93,98,103,109,114,119,124],{"title":11,"path":12,"stem":13,"order":6,"group":11},"Getting started","\u002Fguide\u002Fgetting-started","guide\u002Fgetting-started",{"title":15,"path":16,"stem":17,"order":18,"group":11},"Migrating from @nuxtjs\u002Fi18n","\u002Fguide\u002Fmigration","guide\u002Fmigration",20,{"title":20,"path":21,"stem":22,"order":23,"group":11},"Upgrading","\u002Fguide\u002Fupgrade","guide\u002Fupgrade",30,{"title":25,"path":26,"stem":27,"order":28,"group":11},"FAQ","\u002Fguide\u002Ffaq","guide\u002Ffaq",40,{"title":30,"path":31,"stem":32,"order":33,"group":34},"Translation files","\u002Fguide\u002Ftranslations","guide\u002Ftranslations",50,"Core concepts",{"title":36,"path":37,"stem":38,"order":39,"group":34},"Page config","\u002Fguide\u002Fper-component-translations","guide\u002Fper-component-translations",60,{"title":41,"path":42,"stem":43,"order":44,"group":34},"Runtime overrides","\u002Fguide\u002Fruntime-overrides","guide\u002Fruntime-overrides",70,{"title":46,"path":47,"stem":48,"order":49,"group":34},"Server routes and API","\u002Fguide\u002Fserver-side-translations","guide\u002Fserver-side-translations",80,{"title":51,"path":52,"stem":53,"order":54,"group":55},"Routing strategies","\u002Fguide\u002Fstrategy","guide\u002Fstrategy",90,"Routing",{"title":57,"path":58,"stem":59,"order":60,"group":55},"Locale detection","\u002Fguide\u002Flocale-detection","guide\u002Flocale-detection",100,{"title":62,"path":63,"stem":64,"order":65,"group":55},"Localized paths","\u002Fguide\u002Fcustom-locale-routes","guide\u002Fcustom-locale-routes",110,{"title":67,"path":68,"stem":69,"order":70,"group":55},"Custom locale detection","\u002Fguide\u002Fcustom-auto-detect","guide\u002Fcustom-auto-detect",120,{"title":72,"path":73,"stem":74,"order":75,"group":55},"Excluding paths","\u002Fguide\u002Fexcluding-static-files","guide\u002Fexcluding-static-files",130,{"title":77,"path":78,"stem":79,"order":80,"group":81},"SEO","\u002Fguide\u002Fseo","guide\u002Fseo",140,"SEO and domains",{"title":83,"path":84,"stem":85,"order":86,"group":81},"Layers and domains","\u002Fguide\u002Flayers","guide\u002Flayers",150,{"title":88,"path":89,"stem":90,"order":91,"group":92},"Deployment","\u002Fguide\u002Fdeployment","guide\u002Fdeployment",160,"Production",{"title":94,"path":95,"stem":96,"order":97,"group":92},"Performance tuning","\u002Fguide\u002Fperformance","guide\u002Fperformance",170,{"title":99,"path":100,"stem":101,"order":102,"group":92},"Performance Test Results","\u002Fguide\u002Fperformance-results","guide\u002Fperformance-results",180,{"title":104,"path":105,"stem":106,"order":107,"group":108},"DevTools","\u002Fguide\u002Fdevtools","guide\u002Fdevtools",190,"Tooling",{"title":110,"path":111,"stem":112,"order":113,"group":108},"CLI","\u002Fguide\u002Fcli","guide\u002Fcli",200,{"title":115,"path":116,"stem":117,"order":118,"group":108},"Testing your app","\u002Fguide\u002Ftesting","guide\u002Ftesting",210,{"title":120,"path":121,"stem":122,"order":123,"group":108},"Storybook","\u002Fguide\u002Fstorybook","guide\u002Fstorybook",220,{"title":125,"path":126,"stem":127,"order":128,"group":108},"Crowdin","\u002Fguide\u002Fcrowdin","guide\u002Fcrowdin",230,false,{"title":131,"order":18,"path":132,"stem":133,"children":134},"Frameworks","\u002Fintegrations","integrations",[135,138,143,147,151,155,159,163,168,172,176],{"title":136,"path":132,"stem":137,"order":6},"Overview","integrations\u002Findex",{"title":139,"path":140,"stem":141,"order":18,"group":142},"Vue","\u002Fintegrations\u002Fvue-package","integrations\u002Fvue-package","UI frameworks",{"title":144,"path":145,"stem":146,"order":23,"group":142},"React and Preact","\u002Fintegrations\u002Freact-package","integrations\u002Freact-package",{"title":148,"path":149,"stem":150,"order":28,"group":142},"Solid","\u002Fintegrations\u002Fsolid-package","integrations\u002Fsolid-package",{"title":152,"path":153,"stem":154,"order":33,"group":142},"Astro","\u002Fintegrations\u002Fastro-package","integrations\u002Fastro-package",{"title":156,"path":157,"stem":158,"order":39,"group":142},"Astro islands","\u002Fintegrations\u002Fastro-islands","integrations\u002Fastro-islands",{"title":160,"path":161,"stem":162,"order":44,"group":142},"VitePress","\u002Fintegrations\u002Fvitepress-package","integrations\u002Fvitepress-package",{"title":164,"path":165,"stem":166,"order":49,"group":167},"Runtime","\u002Fintegrations\u002Fruntime-package","integrations\u002Fruntime-package","Runtimes",{"title":169,"path":170,"stem":171,"order":54,"group":167},"Node.js","\u002Fintegrations\u002Fnodejs-package","integrations\u002Fnodejs-package",{"title":173,"path":174,"stem":175,"order":60,"group":108},"Types generator","\u002Fintegrations\u002Ftypes-generator","integrations\u002Ftypes-generator",{"title":177,"path":178,"stem":179,"order":65,"group":108},"DevTools UI","\u002Fintegrations\u002Fdevtools-ui-package","integrations\u002Fdevtools-ui-package",{"title":181,"order":23,"path":182,"stem":183,"children":184},"API","\u002Fapi","api",[185,188,192,196,200,204],{"title":186,"path":182,"stem":187,"order":6},"API reference","api\u002Findex",{"title":189,"path":190,"stem":191,"order":18},"Module options","\u002Fapi\u002Fmodule-options","api\u002Fmodule-options",{"title":193,"path":194,"stem":195,"order":23},"CLI commands","\u002Fapi\u002Fcli","api\u002Fcli",{"title":197,"path":198,"stem":199,"order":28},"Helpers","\u002Fapi\u002Fmethods","api\u002Fmethods",{"title":201,"path":202,"stem":203,"order":33},"Hooks","\u002Fapi\u002Fevents","api\u002Fevents",{"title":205,"path":206,"stem":207,"children":208,"order":39},"Package APIs","\u002Fapi\u002Fpackages","api\u002Fpackages",[209,213,217,221,225,229,233,237,241,245,249,253,257,261,265,269,273],{"title":210,"path":211,"stem":212},"astro","\u002Fapi\u002Fpackages\u002Fastro","api\u002Fpackages\u002Fastro",{"title":214,"path":215,"stem":216},"cli","\u002Fapi\u002Fpackages\u002Fcli","api\u002Fpackages\u002Fcli",{"title":218,"path":219,"stem":220},"core","\u002Fapi\u002Fpackages\u002Fcore","api\u002Fpackages\u002Fcore",{"title":222,"path":223,"stem":224},"devtools-ui","\u002Fapi\u002Fpackages\u002Fdevtools-ui","api\u002Fpackages\u002Fdevtools-ui",{"title":226,"path":227,"stem":228},"node","\u002Fapi\u002Fpackages\u002Fnode","api\u002Fpackages\u002Fnode",{"title":230,"path":231,"stem":232},"path-strategy","\u002Fapi\u002Fpackages\u002Fpath-strategy","api\u002Fpackages\u002Fpath-strategy",{"title":234,"path":235,"stem":236},"preact","\u002Fapi\u002Fpackages\u002Fpreact","api\u002Fpackages\u002Fpreact",{"title":238,"path":239,"stem":240},"react","\u002Fapi\u002Fpackages\u002Freact","api\u002Fpackages\u002Freact",{"title":242,"path":243,"stem":244},"route-strategy","\u002Fapi\u002Fpackages\u002Froute-strategy","api\u002Fpackages\u002Froute-strategy",{"title":246,"path":247,"stem":248},"runtime","\u002Fapi\u002Fpackages\u002Fruntime","api\u002Fpackages\u002Fruntime",{"title":250,"path":251,"stem":252},"solid","\u002Fapi\u002Fpackages\u002Fsolid","api\u002Fpackages\u002Fsolid",{"title":254,"path":255,"stem":256},"test-utils","\u002Fapi\u002Fpackages\u002Ftest-utils","api\u002Fpackages\u002Ftest-utils",{"title":258,"path":259,"stem":260},"types","\u002Fapi\u002Fpackages\u002Ftypes","api\u002Fpackages\u002Ftypes",{"title":262,"path":263,"stem":264},"types-generator","\u002Fapi\u002Fpackages\u002Ftypes-generator","api\u002Fpackages\u002Ftypes-generator",{"title":266,"path":267,"stem":268},"utils","\u002Fapi\u002Fpackages\u002Futils","api\u002Fpackages\u002Futils",{"title":270,"path":271,"stem":272},"vitepress","\u002Fapi\u002Fpackages\u002Fvitepress","api\u002Fpackages\u002Fvitepress",{"title":274,"path":275,"stem":276},"vue","\u002Fapi\u002Fpackages\u002Fvue","api\u002Fpackages\u002Fvue",{"title":278,"order":28,"path":279,"stem":280,"children":281,"page":129},"Composables","\u002Fcomposables","composables",[282,286,290,294],{"title":283,"path":284,"stem":285,"order":6},"useI18n","\u002Fcomposables\u002FuseI18n","composables\u002FuseI18n",{"title":287,"path":288,"stem":289,"order":18},"useI18nLocale","\u002Fcomposables\u002FuseI18nLocale","composables\u002FuseI18nLocale",{"title":291,"path":292,"stem":293,"order":23},"useI18nHead","\u002Fcomposables\u002FuseI18nHead","composables\u002FuseI18nHead",{"title":295,"path":296,"stem":297,"order":28},"useLocaleHead","\u002Fcomposables\u002FuseLocaleHead","composables\u002FuseLocaleHead",{"title":299,"order":33,"path":300,"stem":301,"children":302,"page":129},"Components","\u002Fcomponents","components",[303,307,311,315],{"title":304,"path":305,"stem":306,"order":6},"\u003Ci18n-t>","\u002Fcomponents\u002Fi18n-t","components\u002Fi18n-t",{"title":308,"path":309,"stem":310,"order":18},"\u003Ci18n-link>","\u002Fcomponents\u002Fi18n-link","components\u002Fi18n-link",{"title":312,"path":313,"stem":314,"order":23},"\u003Ci18n-switcher>","\u002Fcomponents\u002Fi18n-switcher","components\u002Fi18n-switcher",{"title":316,"path":317,"stem":318,"order":28},"\u003Ci18n-group>","\u002Fcomponents\u002Fi18n-group","components\u002Fi18n-group",{"title":320,"order":39,"path":321,"stem":322,"children":323},"Contributing","\u002Fcontributing","contributing",[324,326,330,334,338,342],{"title":320,"path":321,"stem":325,"order":6},"contributing\u002Findex",{"title":327,"path":328,"stem":329,"order":18},"Architecture","\u002Fcontributing\u002Farchitecture","contributing\u002Farchitecture",{"title":331,"path":332,"stem":333,"order":23},"Testing the module","\u002Fcontributing\u002Ftesting","contributing\u002Ftesting",{"title":335,"path":336,"stem":337,"order":28},"Maintenance commands","\u002Fcontributing\u002Fmaintenance-commands","contributing\u002Fmaintenance-commands",{"title":339,"path":340,"stem":341,"order":33},"Release smoke checks","\u002Fcontributing\u002Frelease-smoke","contributing\u002Frelease-smoke",{"title":343,"path":344,"stem":345,"order":39},"Benchmark methodology","\u002Fcontributing\u002Fperformance-methodology","contributing\u002Fperformance-methodology",{"title":347,"path":348,"stem":349,"children":350,"order":44},"News","\u002Fnews","news\u002Findex",[351,354,358,362,366,370,374,378,382,386,390,394,398,402],{"title":352,"path":348,"stem":349,"order":353},"News & Releases",1,{"title":355,"path":356,"stem":357,"order":6},"v4.0.0","\u002Fnews\u002Fv4.0.0","news\u002Fv4.0.0",{"title":359,"path":360,"stem":361,"order":18},"v3.24.0","\u002Fnews\u002Fv3.24.0","news\u002Fv3.24.0",{"title":363,"path":364,"stem":365,"order":23},"v3.22.0","\u002Fnews\u002Fv3.22.0","news\u002Fv3.22.0",{"title":367,"path":368,"stem":369,"order":28},"v3.21.0","\u002Fnews\u002Fv3.21.0","news\u002Fv3.21.0",{"title":371,"path":372,"stem":373,"order":33},"v3.20.0","\u002Fnews\u002Fv3.20.0","news\u002Fv3.20.0",{"title":375,"path":376,"stem":377,"order":39},"v3.19.0","\u002Fnews\u002Fv3.19.0","news\u002Fv3.19.0",{"title":379,"path":380,"stem":381,"order":44},"v3.0.0","\u002Fnews\u002Fv3.0.0","news\u002Fv3.0.0",{"title":383,"path":384,"stem":385,"order":49},"v2.14.1","\u002Fnews\u002Fv2.14.1","news\u002Fv2.14.1",{"title":387,"path":388,"stem":389,"order":54},"v2.0.0","\u002Fnews\u002Fv2.0.0","news\u002Fv2.0.0",{"title":391,"path":392,"stem":393,"order":60},"v1.73.0","\u002Fnews\u002Fv1.73.0","news\u002Fv1.73.0",{"title":395,"path":396,"stem":397,"order":65},"v1.65.0","\u002Fnews\u002Fv1.65.0","news\u002Fv1.65.0",{"title":399,"path":400,"stem":401,"order":70},"v1.58.0","\u002Fnews\u002Fv1.58.0","news\u002Fv1.58.0",{"title":403,"path":404,"stem":405,"order":75},"v1.1.0","\u002Fnews\u002Fv1.1.0","news\u002Fv1.1.0",[407],{"title":408,"path":409,"stem":410,"children":411},"V3","\u002Fv3","v3",[412,415,552,598,691,712,729],{"title":136,"path":409,"stem":413,"order":414},"v3\u002Findex",0,{"title":5,"order":6,"path":416,"stem":417,"children":418,"page":129},"\u002Fv3\u002Fguide","v3\u002Fguide",[419,424,428,432,436,441,445,449,453,457,461,465,469,473,478,482,487,491,495,499,503,507,511,514,518,522,527,533,538,542,547],{"title":420,"path":421,"stem":422,"order":6,"group":423},"Getting Started","\u002Fv3\u002Fguide\u002Fgetting-started","v3\u002Fguide\u002Fgetting-started","Basics",{"title":425,"path":426,"stem":427,"order":18,"group":423},"Configuration","\u002Fv3\u002Fguide\u002Fconfiguration","v3\u002Fguide\u002Fconfiguration",{"title":429,"path":430,"stem":431,"order":23,"group":423},"Folder Structure","\u002Fv3\u002Fguide\u002Ffolder-structure","v3\u002Fguide\u002Ffolder-structure",{"title":433,"path":434,"stem":435,"order":28,"group":423},"Routing Strategy","\u002Fv3\u002Fguide\u002Fstrategy","v3\u002Fguide\u002Fstrategy",{"title":437,"path":438,"stem":439,"order":33,"group":440},"Translating Content","\u002Fv3\u002Fguide\u002Fusing","v3\u002Fguide\u002Fusing","Usage",{"title":442,"path":443,"stem":444,"order":39,"group":440},"Per Component Translations","\u002Fv3\u002Fguide\u002Fper-component-translations","v3\u002Fguide\u002Fper-component-translations",{"title":446,"path":447,"stem":448,"order":44,"group":440},"Custom Localized Routes","\u002Fv3\u002Fguide\u002Fcustom-locale-routes","v3\u002Fguide\u002Fcustom-locale-routes",{"title":450,"path":451,"stem":452,"order":49,"group":440},"Custom Auto Detect","\u002Fv3\u002Fguide\u002Fcustom-auto-detect","v3\u002Fguide\u002Fcustom-auto-detect",{"title":454,"path":455,"stem":456,"order":54,"group":440},"Runtime Overrides","\u002Fv3\u002Fguide\u002Fruntime-overrides","v3\u002Fguide\u002Fruntime-overrides",{"title":458,"path":459,"stem":460,"order":60,"group":440},"Layers","\u002Fv3\u002Fguide\u002Flayers","v3\u002Fguide\u002Flayers",{"title":77,"path":462,"stem":463,"order":65,"group":464},"\u002Fv3\u002Fguide\u002Fseo","v3\u002Fguide\u002Fseo","SEO & URLs",{"title":466,"path":467,"stem":468,"order":70,"group":464},"Multi Domain Locales","\u002Fv3\u002Fguide\u002Fmulti-domain-locales","v3\u002Fguide\u002Fmulti-domain-locales",{"title":470,"path":471,"stem":472,"order":75,"group":464},"Excluding Static Files","\u002Fv3\u002Fguide\u002Fexcluding-static-files","v3\u002Fguide\u002Fexcluding-static-files",{"title":474,"path":475,"stem":476,"order":80,"group":477},"Performance","\u002Fv3\u002Fguide\u002Fperformance","v3\u002Fguide\u002Fperformance","Performance & Deployment",{"title":479,"path":480,"stem":481,"order":86,"group":477},"Benchmark Results","\u002Fv3\u002Fguide\u002Fperformance-results","v3\u002Fguide\u002Fperformance-results",{"title":483,"path":484,"stem":485,"order":486,"group":477},"Performance methodology","\u002Fv3\u002Fguide\u002Fperformance-methodology","v3\u002Fguide\u002Fperformance-methodology",155,{"title":488,"path":489,"stem":490,"order":91,"group":477},"Server Side Translations","\u002Fv3\u002Fguide\u002Fserver-side-translations","v3\u002Fguide\u002Fserver-side-translations",{"title":492,"path":493,"stem":494,"order":97,"group":477},"Firebase Deployment","\u002Fv3\u002Fguide\u002Ffirebase","v3\u002Fguide\u002Ffirebase",{"title":496,"path":497,"stem":498,"order":102,"group":477},"Release Smoke Checks","\u002Fv3\u002Fguide\u002Frelease-smoke","v3\u002Fguide\u002Frelease-smoke",{"title":500,"path":501,"stem":502,"order":107,"group":477},"Preset local testing","\u002Fv3\u002Fguide\u002Fpreset-local-testing","v3\u002Fguide\u002Fpreset-local-testing",{"title":504,"path":505,"stem":506,"order":113,"group":477},"Maintenance Commands","\u002Fv3\u002Fguide\u002Fmaintenance-commands","v3\u002Fguide\u002Fmaintenance-commands",{"title":508,"path":509,"stem":510,"order":118,"group":108},"CLI Tool","\u002Fv3\u002Fguide\u002Fcli","v3\u002Fguide\u002Fcli",{"title":104,"path":512,"stem":513,"order":123,"group":108},"\u002Fv3\u002Fguide\u002Fdevtools","v3\u002Fguide\u002Fdevtools",{"title":515,"path":516,"stem":517,"order":128,"group":108},"Testing Your App","\u002Fv3\u002Fguide\u002Ftesting","v3\u002Fguide\u002Ftesting",{"title":120,"path":519,"stem":520,"order":521,"group":108},"\u002Fv3\u002Fguide\u002Fstorybook","v3\u002Fguide\u002Fstorybook",240,{"title":523,"path":524,"stem":525,"order":526,"group":108},"Crowdin Integration","\u002Fv3\u002Fguide\u002Fcrowdin","v3\u002Fguide\u002Fcrowdin",250,{"title":528,"path":529,"stem":530,"order":531,"group":532},"Migration from nuxt-i18n","\u002Fv3\u002Fguide\u002Fmigration","v3\u002Fguide\u002Fmigration",260,"Migration & Help",{"title":534,"path":535,"stem":536,"order":537,"group":532},"Upgrade to v3","\u002Fv3\u002Fguide\u002Fv3-upgrade","v3\u002Fguide\u002Fv3-upgrade",270,{"title":25,"path":539,"stem":540,"order":541,"group":532},"\u002Fv3\u002Fguide\u002Ffaq","v3\u002Fguide\u002Ffaq",280,{"title":543,"path":544,"stem":545,"order":546,"group":532},"Contribution","\u002Fv3\u002Fguide\u002Fcontribution","v3\u002Fguide\u002Fcontribution",290,{"title":548,"path":549,"stem":550,"order":551,"group":532},"Testing the Module","\u002Fv3\u002Fguide\u002Ftesting-strategies","v3\u002Fguide\u002Ftesting-strategies",300,{"title":553,"order":18,"path":554,"stem":555,"children":556},"Integrations","\u002Fv3\u002Fintegrations","v3\u002Fintegrations\u002Findex",[557,558,562,566,570,574,578,582,586,590,594],{"title":136,"path":554,"stem":555,"order":6},{"title":559,"path":560,"stem":561,"order":18},"Vue Package","\u002Fv3\u002Fintegrations\u002Fvue-package","v3\u002Fintegrations\u002Fvue-package",{"title":563,"path":564,"stem":565,"order":23},"React Package","\u002Fv3\u002Fintegrations\u002Freact-package","v3\u002Fintegrations\u002Freact-package",{"title":567,"path":568,"stem":569,"order":28},"Preact Package","\u002Fv3\u002Fintegrations\u002Fpreact-package","v3\u002Fintegrations\u002Fpreact-package",{"title":571,"path":572,"stem":573,"order":33},"Solid Package","\u002Fv3\u002Fintegrations\u002Fsolid-package","v3\u002Fintegrations\u002Fsolid-package",{"title":575,"path":576,"stem":577,"order":39},"Astro Package","\u002Fv3\u002Fintegrations\u002Fastro-package","v3\u002Fintegrations\u002Fastro-package",{"title":579,"path":580,"stem":581,"order":44},"VitePress Package","\u002Fv3\u002Fintegrations\u002Fvitepress-package","v3\u002Fintegrations\u002Fvitepress-package",{"title":583,"path":584,"stem":585,"order":49},"Runtime Package","\u002Fv3\u002Fintegrations\u002Fruntime-package","v3\u002Fintegrations\u002Fruntime-package",{"title":587,"path":588,"stem":589,"order":54},"Node.js Package","\u002Fv3\u002Fintegrations\u002Fnodejs-package","v3\u002Fintegrations\u002Fnodejs-package",{"title":591,"path":592,"stem":593,"order":60},"Types Generator","\u002Fv3\u002Fintegrations\u002Ftypes-generator","v3\u002Fintegrations\u002Ftypes-generator",{"title":595,"path":596,"stem":597,"order":65},"Devtools Package","\u002Fv3\u002Fintegrations\u002Fdevtools-ui-package","v3\u002Fintegrations\u002Fdevtools-ui-package",{"title":181,"order":23,"path":599,"stem":600,"children":601},"\u002Fv3\u002Fapi","v3\u002Fapi\u002Findex",[602,603,607,611,615,619],{"title":136,"path":599,"stem":600,"order":6},{"title":604,"path":605,"stem":606,"order":18},"Methods","\u002Fv3\u002Fapi\u002Fmethods","v3\u002Fapi\u002Fmethods",{"title":608,"path":609,"stem":610,"order":23},"Events","\u002Fv3\u002Fapi\u002Fevents","v3\u002Fapi\u002Fevents",{"title":612,"path":613,"stem":614,"order":28},"Translations and Cache","\u002Fv3\u002Fapi\u002Fi18n-cache-api","v3\u002Fapi\u002Fi18n-cache-api",{"title":616,"path":617,"stem":618,"order":33},"Module Options","\u002Fv3\u002Fapi\u002Fmodule-options","v3\u002Fapi\u002Fmodule-options",{"title":205,"path":620,"stem":621,"children":622,"order":39},"\u002Fv3\u002Fapi\u002Fpackages","v3\u002Fapi\u002Fpackages",[623,627,631,635,639,643,647,651,655,659,663,667,671,675,679,683,687],{"title":624,"path":625,"stem":626},"@i18n-micro\u002Fastro","\u002Fv3\u002Fapi\u002Fpackages\u002Fastro","v3\u002Fapi\u002Fpackages\u002Fastro",{"title":628,"path":629,"stem":630},"@i18n-micro\u002Fcore","\u002Fv3\u002Fapi\u002Fpackages\u002Fcore","v3\u002Fapi\u002Fpackages\u002Fcore",{"title":632,"path":633,"stem":634},"@i18n-micro\u002Fdevtools-ui","\u002Fv3\u002Fapi\u002Fpackages\u002Fdevtools-ui","v3\u002Fapi\u002Fpackages\u002Fdevtools-ui",{"title":636,"path":637,"stem":638},"@i18n-micro\u002Fhmr","\u002Fv3\u002Fapi\u002Fpackages\u002Fhmr","v3\u002Fapi\u002Fpackages\u002Fhmr",{"title":640,"path":641,"stem":642},"@i18n-micro\u002Fnode","\u002Fv3\u002Fapi\u002Fpackages\u002Fnode","v3\u002Fapi\u002Fpackages\u002Fnode",{"title":644,"path":645,"stem":646},"@i18n-micro\u002Fpath-strategy","\u002Fv3\u002Fapi\u002Fpackages\u002Fpath-strategy","v3\u002Fapi\u002Fpackages\u002Fpath-strategy",{"title":648,"path":649,"stem":650},"@i18n-micro\u002Fpreact","\u002Fv3\u002Fapi\u002Fpackages\u002Fpreact","v3\u002Fapi\u002Fpackages\u002Fpreact",{"title":652,"path":653,"stem":654},"@i18n-micro\u002Freact","\u002Fv3\u002Fapi\u002Fpackages\u002Freact","v3\u002Fapi\u002Fpackages\u002Freact",{"title":656,"path":657,"stem":658},"@i18n-micro\u002Froute-strategy","\u002Fv3\u002Fapi\u002Fpackages\u002Froute-strategy","v3\u002Fapi\u002Fpackages\u002Froute-strategy",{"title":660,"path":661,"stem":662},"@i18n-micro\u002Fruntime","\u002Fv3\u002Fapi\u002Fpackages\u002Fruntime","v3\u002Fapi\u002Fpackages\u002Fruntime",{"title":664,"path":665,"stem":666},"@i18n-micro\u002Fsolid","\u002Fv3\u002Fapi\u002Fpackages\u002Fsolid","v3\u002Fapi\u002Fpackages\u002Fsolid",{"title":668,"path":669,"stem":670},"@i18n-micro\u002Ftest-utils","\u002Fv3\u002Fapi\u002Fpackages\u002Ftest-utils","v3\u002Fapi\u002Fpackages\u002Ftest-utils",{"title":672,"path":673,"stem":674},"@i18n-micro\u002Ftypes","\u002Fv3\u002Fapi\u002Fpackages\u002Ftypes","v3\u002Fapi\u002Fpackages\u002Ftypes",{"title":676,"path":677,"stem":678},"@i18n-micro\u002Ftypes-generator","\u002Fv3\u002Fapi\u002Fpackages\u002Ftypes-generator","v3\u002Fapi\u002Fpackages\u002Ftypes-generator",{"title":680,"path":681,"stem":682},"@i18n-micro\u002Futils","\u002Fv3\u002Fapi\u002Fpackages\u002Futils","v3\u002Fapi\u002Fpackages\u002Futils",{"title":684,"path":685,"stem":686},"@i18n-micro\u002Fvitepress","\u002Fv3\u002Fapi\u002Fpackages\u002Fvitepress","v3\u002Fapi\u002Fpackages\u002Fvitepress",{"title":688,"path":689,"stem":690},"@i18n-micro\u002Fvue","\u002Fv3\u002Fapi\u002Fpackages\u002Fvue","v3\u002Fapi\u002Fpackages\u002Fvue",{"title":299,"order":28,"path":692,"stem":693,"children":694},"\u002Fv3\u002Fcomponents","v3\u002Fcomponents\u002Findex",[695,696,700,704,708],{"title":136,"path":692,"stem":693,"order":6},{"title":697,"path":698,"stem":699,"order":18},"i18n-t","\u002Fv3\u002Fcomponents\u002Fi18n-t","v3\u002Fcomponents\u002Fi18n-t",{"title":701,"path":702,"stem":703,"order":23},"i18n-switcher","\u002Fv3\u002Fcomponents\u002Fi18n-switcher","v3\u002Fcomponents\u002Fi18n-switcher",{"title":705,"path":706,"stem":707,"order":28},"i18n-link","\u002Fv3\u002Fcomponents\u002Fi18n-link","v3\u002Fcomponents\u002Fi18n-link",{"title":709,"path":710,"stem":711,"order":33},"i18n-group","\u002Fv3\u002Fcomponents\u002Fi18n-group","v3\u002Fcomponents\u002Fi18n-group",{"title":278,"path":713,"stem":714,"children":715,"order":33},"\u002Fv3\u002Fcomposables","v3\u002Fcomposables\u002Findex",[716,717,720,723,726],{"title":136,"path":713,"stem":714,"order":6},{"title":283,"path":718,"stem":719,"order":18},"\u002Fv3\u002Fcomposables\u002FuseI18n","v3\u002Fcomposables\u002FuseI18n",{"title":295,"path":721,"stem":722,"order":23},"\u002Fv3\u002Fcomposables\u002FuseLocaleHead","v3\u002Fcomposables\u002FuseLocaleHead",{"title":291,"path":724,"stem":725,"order":28},"\u002Fv3\u002Fcomposables\u002FuseI18nHead","v3\u002Fcomposables\u002FuseI18nHead",{"title":287,"path":727,"stem":728,"order":33},"\u002Fv3\u002Fcomposables\u002FuseI18nLocale","v3\u002Fcomposables\u002FuseI18nLocale",{"title":730,"path":731,"stem":732,"order":39},"Examples","\u002Fv3\u002Fexamples","v3\u002Fexamples",{"id":734,"title":57,"body":735,"description":1667,"extension":1668,"lastUpdated":1669,"links":1670,"meta":1671,"navigation":1673,"path":58,"seo":1674,"stem":59,"__hash__":1675},"docs\u002Fguide\u002Flocale-detection.md",{"type":736,"value":737,"toc":1655},"minimark",[738,742,746,759,764,771,912,926,933,937,951,966,1096,1124,1137,1143,1146,1215,1249,1263,1266,1273,1361,1402,1409,1413,1514,1529,1533,1543,1547,1558,1591,1598,1601,1606,1635,1639,1651],[739,740,57],"h1",{"id":741},"locale-detection",[743,744,745],"p",{},"Every request gets one locale, picked from the same list of sources in the same order on the server and in the browser. Read this when you decide how first-time visitors land on a language, whether their choice is remembered, and what your server API sees. You get the precedence, the redirect each strategy makes, and the options that turn each source on or off.",[747,748,749],"tip",{},[743,750,751,755,756],{},[752,753,754],"strong",{},"Prerequisites"," — ",[757,758,51],"a",{"href":52},[760,761,763],"h2",{"id":762},"the-precedence","The precedence",[743,765,766,767,770],{},"The first source that names an ",[752,768,769],{},"enabled"," locale wins. An invalid or malformed value (an unknown code, a broken cookie) is skipped and the next source counts.",[772,773,774,790],"table",{},[775,776,777],"thead",{},[778,779,780,784,787],"tr",{},[781,782,783],"th",{},"#",[781,785,786],{},"Source",[781,788,789],{},"Counts when",[791,792,793,818,835,849,872,896],"tbody",{},[778,794,795,799,807],{},[796,797,798],"td",{},"1",[796,800,801,802,806],{},"URL prefix (",[803,804,805],"code",{},"\u002Fde\u002Fabout",")",[796,808,809,810,813,814,817],{},"prefix strategies. Under ",[803,811,812],{},"prefix_except_default"," and ",[803,815,816],{},"prefix_and_default"," an unprefixed URL is the default locale",[778,819,820,823,828],{},[796,821,822],{},"2",[796,824,825],{},[803,826,827],{},"?locale=de",[796,829,830,831,834],{},"pages: ",[803,832,833],{},"no_prefix"," only. Server API helpers: always, and before the URL",[778,836,837,840,846],{},[796,838,839],{},"3",[796,841,842,843,806],{},"Locale state set by the app (",[803,844,845],{},"useI18nLocale().setLocale()",[796,847,848],{},"the URL has no locale",[778,850,851,854,857],{},[796,852,853],{},"4",[796,855,856],{},"Cookie",[796,858,859,865,866,869,870,806],{},[757,860,862],{"href":861},"\u002Fapi\u002Fmodule-options#localecookie",[803,863,864],{},"localeCookie"," is set (",[803,867,868],{},"'user-locale'"," automatically under ",[803,871,833],{},[778,873,874,877,883],{},[796,875,876],{},"5",[796,878,879,882],{},[803,880,881],{},"Accept-Language"," header",[796,884,885,891,892,895],{},[757,886,888],{"href":887},"\u002Fapi\u002Fmodule-options#autodetectlanguage",[803,889,890],{},"autoDetectLanguage"," is ",[803,893,894],{},"true"," (default)",[778,897,898,901,909],{},[796,899,900],{},"6",[796,902,903],{},[757,904,906],{"href":905},"\u002Fapi\u002Fmodule-options#defaultlocale",[803,907,908],{},"defaultLocale",[796,910,911],{},"always",[743,913,914,915,918,919,922,923,925],{},"So under a prefix strategy the URL decides what a page shows; the preference sources (3–5) only decide where a visitor is ",[752,916,917],{},"redirected",", and only on the paths ",[803,920,921],{},"autoDetectPath"," allows. Under ",[803,924,833],{}," there is nothing to redirect, and the preference sources decide what the page shows.",[743,927,928],{},[929,930],"img",{"alt":931,"src":932},"Decision flow: a locale prefix in the URL renders that locale. Without one, no_prefix renders from the preference sources, prefix_and_default renders the default locale, and prefix or prefix_except_default redirect by preference when autoDetectPath allows the path","\u002Fdiagrams\u002Flocale-detection.svg",[760,934,936],{"id":935},"redirects-per-strategy","Redirects per strategy",[743,938,939,940,943,944,950],{},"Redirects are a ",[803,941,942],{},"302",", made on the server before the page renders, and by a route middleware for client navigations. Query and hash are kept. With ",[757,945,947],{"href":946},"\u002Fapi\u002Fmodule-options#redirects",[803,948,949],{},"redirects: false"," none happen; wrong prefixes are still a 404.",[743,952,953,954,957,958,961,962,965],{},"Visitor prefers ",[803,955,956],{},"de"," (cookie or header), ",[803,959,960],{},"defaultLocale: 'en'",", default ",[803,963,964],{},"autoDetectPath: '\u002F'",":",[772,967,968,992],{},[775,969,970],{},[778,971,972,975,979,984,988],{},[781,973,974],{},"Request",[781,976,977],{},[803,978,812],{},[781,980,981],{},[803,982,983],{},"prefix",[781,985,986],{},[803,987,816],{},[781,989,990],{},[803,991,833],{},[791,993,994,1025,1054,1076],{},[778,995,996,1001,1007,1011,1019],{},[796,997,998],{},[803,999,1000],{},"\u002F",[796,1002,1003,1004],{},"→ ",[803,1005,1006],{},"\u002Fde",[796,1008,1003,1009],{},[803,1010,1006],{},[796,1012,1013,1015,1016],{},[803,1014,1000],{}," in ",[803,1017,1018],{},"en",[796,1020,1021,1015,1023],{},[803,1022,1000],{},[803,1024,956],{},[778,1026,1027,1032,1038,1042,1048],{},[796,1028,1029],{},[803,1030,1031],{},"\u002Fabout",[796,1033,1034,1015,1036],{},[803,1035,1031],{},[803,1037,1018],{},[796,1039,1003,1040],{},[803,1041,805],{},[796,1043,1044,1015,1046],{},[803,1045,1031],{},[803,1047,1018],{},[796,1049,1050,1015,1052],{},[803,1051,1031],{},[803,1053,956],{},[778,1055,1056,1061,1065,1069,1073],{},[796,1057,1058],{},[803,1059,1060],{},"\u002Ffr\u002Fabout",[796,1062,1063],{},[803,1064,1060],{},[796,1066,1067],{},[803,1068,1060],{},[796,1070,1071],{},[803,1072,1060],{},[796,1074,1075],{},"—",[778,1077,1078,1083,1086,1090,1094],{},[796,1079,1080],{},[803,1081,1082],{},"\u002Fen\u002Fabout",[796,1084,1085],{},"404",[796,1087,1088],{},[803,1089,1082],{},[796,1091,1092],{},[803,1093,1082],{},[796,1095,1075],{},[743,1097,1098,1100,1101,1103,1104,1106,1107,1109,1110,1112,1113,1116,1117,1119,1120,1123],{},[803,1099,816],{}," never redirects: an unprefixed URL belongs to the default locale, and other locales live under their prefix. A visitor who prefers ",[803,1102,1018],{}," is not redirected from ",[803,1105,1000],{}," under ",[803,1108,812],{},". Targets have no trailing slash (",[803,1111,1006],{},", not ",[803,1114,1115],{},"\u002Fde\u002F",") and follow custom paths (",[803,1118,1031],{}," → ",[803,1121,1122],{},"\u002Fde\u002Fueber-uns",").",[743,1125,1126,1127,1129,1130,1132,1133,1136],{},"Wherever the cookie or the header decides (the redirect from ",[803,1128,1000],{},", every page under ",[803,1131,833],{},"), the response carries ",[803,1134,1135],{},"Vary: Cookie, Accept-Language",", so a CDN keeps the answers apart.",[1138,1139,1141],"h3",{"id":1140},"autodetectpath",[803,1142,921],{},[743,1144,1145],{},"Where the preference sources may move a visitor:",[772,1147,1148,1158],{},[775,1149,1150],{},[778,1151,1152,1155],{},[781,1153,1154],{},"Value",[781,1156,1157],{},"Preference counts on",[791,1159,1160,1172,1186,1196],{},[778,1161,1162,1167],{},[796,1163,1164,895],{},[803,1165,1166],{},"'\u002F'",[796,1168,1169,1171],{},[803,1170,1000],{}," only. Deep links stay in the language of the URL",[778,1173,1174,1179],{},[796,1175,1176],{},[803,1177,1178],{},"'no_prefix'",[796,1180,1181,1182,1119,1184,806],{},"every path without a locale prefix (",[803,1183,1031],{},[803,1185,805],{},[778,1187,1188,1193],{},[796,1189,1190],{},[803,1191,1192],{},"'\u002Fwelcome'",[796,1194,1195],{},"that exact path (a trailing slash is ignored)",[778,1197,1198,1203],{},[796,1199,1200],{},[803,1201,1202],{},"'*'",[796,1204,1205,1206,813,1208,1119,1210,1212,1213],{},"every path, prefixed ones too: ",[803,1207,1031],{},[803,1209,1060],{},[803,1211,805],{}," when the visitor prefers ",[803,1214,956],{},[1216,1217,1218,1222,1239],"ul",{},[1219,1220,1221],"li",{},"On paths it does not allow, an unprefixed URL is treated as the default locale.",[1219,1223,1224,1226,1227,1229,1230,1232,1233,1235,1236,1238],{},[803,1225,983],{}," is the exception: it has no unprefixed pages, so ",[803,1228,1031],{}," always goes to the visitor's locale (",[803,1231,805],{}," with cookie ",[803,1234,956],{},", ",[803,1237,1082],{}," with no preference).",[1219,1240,1241,1242,1244,1245,1248],{},"With ",[803,1243,1202],{}," the server ignores the app's state, and a prefixed URL no longer records its own locale in the cookie; the cookie changes when the visitor switches with ",[803,1246,1247],{},"$switchLocale",".",[1250,1251,1252],"warning",{},[743,1253,1241,1254,1256,1257,1259,1260,1262],{},[803,1255,1202],{},", shared links open in the reader's language, which can surprise. Prefer ",[803,1258,1166],{}," or ",[803,1261,1178],{}," unless that is what you want.",[760,1264,881],{"id":1265},"accept-language",[743,1267,1268,1269,1272],{},"The header is read as RFC 9110 defines it and matched against the locale ",[752,1270,1271],{},"codes"," in your config:",[1216,1274,1275,1299,1316,1337,1358],{},[1219,1276,1277,1278,1281,1282,1119,1285,1287,1288,1291,1292,1294,1295,1298],{},"Entries are tried by ",[803,1279,1280],{},"q"," value, highest first (",[803,1283,1284],{},"fr;q=0.1, de;q=0.9",[803,1286,956],{},"). ",[803,1289,1290],{},"q=0"," means \"not this language\"; an entry with a malformed ",[803,1293,1280],{}," is ignored. ",[803,1296,1297],{},"*"," matches nothing.",[1219,1300,1301,1304,1305,1308,1309,1312,1313,1123],{},[803,1302,1303],{},"_"," is read as ",[803,1306,1307],{},"-"," (",[803,1310,1311],{},"en_US"," = ",[803,1314,1315],{},"en-US",[1219,1317,1318,1319,1119,1322,1324,1325,1119,1327,1329,1330,1333,1334,1336],{},"Per entry: the exact code, then shorter forms (",[803,1320,1321],{},"de-AT",[803,1323,956],{},"), then a regional locale of the same language (",[803,1326,1018],{},[803,1328,1315],{},"). Exact and shorter forms do not depend on the order of ",[803,1331,1332],{},"locales","; among several regional matches, the first in ",[803,1335,1332],{}," wins.",[1219,1338,1339,1340,813,1343,1346,1347,1350,1351,1353,1354,1357],{},"Scripts are never crossed: ",[803,1341,1342],{},"zh-TW",[803,1344,1345],{},"zh-HK"," imply Traditional, ",[803,1348,1349],{},"zh-CN"," Simplified, so ",[803,1352,1349],{}," never matches a ",[803,1355,1356],{},"zh-Hant"," locale.",[1219,1359,1360],{},"Disabled locales never match.",[1362,1363,1368],"pre",{"className":1364,"code":1365,"language":1366,"meta":1367,"style":1367},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F locales: [{ code: 'en' }, { code: 'de' }, { code: 'zh-Hant' }]\n\u002F\u002F 'de-CH,de;q=0.9,en;q=0.8'  → 'de'\n\u002F\u002F 'en-GB'                    → 'en'\n\u002F\u002F 'zh-TW'                    → 'zh-Hant'\n\u002F\u002F 'zh-CN'                    → no match, next source\n","ts","",[803,1369,1370,1378,1384,1390,1396],{"__ignoreMap":1367},[1371,1372,1374],"span",{"class":1373,"line":353},"line",[1371,1375,1377],{"class":1376},"sHwdD","\u002F\u002F locales: [{ code: 'en' }, { code: 'de' }, { code: 'zh-Hant' }]\n",[1371,1379,1381],{"class":1373,"line":1380},2,[1371,1382,1383],{"class":1376},"\u002F\u002F 'de-CH,de;q=0.9,en;q=0.8'  → 'de'\n",[1371,1385,1387],{"class":1373,"line":1386},3,[1371,1388,1389],{"class":1376},"\u002F\u002F 'en-GB'                    → 'en'\n",[1371,1391,1393],{"class":1373,"line":1392},4,[1371,1394,1395],{"class":1376},"\u002F\u002F 'zh-TW'                    → 'zh-Hant'\n",[1371,1397,1399],{"class":1373,"line":1398},5,[1371,1400,1401],{"class":1376},"\u002F\u002F 'zh-CN'                    → no match, next source\n",[743,1403,1404,1405,1408],{},"Turn header detection off with ",[803,1406,1407],{},"autoDetectLanguage: false","; the cookie and the state still count.",[760,1410,1412],{"id":1411},"the-cookie","The cookie",[1216,1414,1415,1429,1441,1468,1477],{},[1219,1416,1417,1420,1421,1424,1425,1428],{},[752,1418,1419],{},"Off by default"," for the prefix strategies (",[803,1422,1423],{},"localeCookie: null","). Redirects then work from the header alone, and the choice is not remembered across visits. Set ",[803,1426,1427],{},"localeCookie: 'user-locale'"," to remember it.",[1219,1430,1431,1432,1434,1435,1437,1438,1440],{},"Under ",[803,1433,833],{}," it is ",[803,1436,868],{}," unless you set another name. ",[803,1439,1423],{}," turns it off there too.",[1219,1442,1443,1444,1235,1446,1235,1448,1450,1451,1453,1454,1457,1458,1461,1462,1464,1465,1467],{},"It is written when the visitor switches (",[803,1445,1247],{},[803,1447,312],{},[803,1449,845],{},"), and on a server render of a page under a prefix (",[803,1452,1060],{}," stores ",[803,1455,1456],{},"fr","; not under ",[803,1459,1460],{},"autoDetectPath: '*'"," with redirects on, where the URL can still move). A client navigation to a page stores that page's locale too, also on an unprefixed page of the default locale; a first load of that URL does not. Under ",[803,1463,833],{}," and in hash mode a navigation stores only a change. A 404 stores nothing, unless ",[803,1466,1247],{}," lands on it.",[1219,1469,1470,1471,1235,1474,1123],{},"It lasts one year (",[803,1472,1473],{},"path=\u002F",[803,1475,1476],{},"SameSite=Lax",[1219,1478,1431,1479,1482,1483,1486,1487,1489,1490,1493,1494,1496,1497,1499,1500,1502,1503,1505,1506,1508,1509,1235,1511,1513],{},[803,1480,1481],{},"hashMode"," the preference lives in the ",[803,1484,1485],{},"hash-locale"," cookie instead; server and client read the same one. The server renders that locale and, outside ",[803,1488,983],{},", never redirects; a locale in the hash (",[803,1491,1492],{},"\u002F#\u002Fde",") wins over it and applies right after hydration. Under ",[803,1495,983],{}," there is no page on ",[803,1498,1000],{},", so ",[803,1501,1000],{}," is rendered in the browser, which goes to ",[803,1504,1492],{}," by the cookie, then the browser language (",[803,1507,890],{},"); any other document (",[803,1510,1031],{},[803,1512,1006],{},") redirects into the hash.",[743,1515,1516,1517,1521,1522,1259,1525,1528],{},"Read and set the preference with ",[757,1518,1519],{"href":288},[803,1520,287],{},", not with ",[803,1523,1524],{},"useCookie",[803,1526,1527],{},"useState"," directly.",[760,1530,1532],{"id":1531},"your-own-detection","Your own detection",[743,1534,1535,1536,1539,1540,1542],{},"To pick the locale yourself (a user setting, a subdomain), call ",[803,1537,1538],{},"useI18nLocale().setLocale(code)"," in a plugin that runs before the module's plugin. It becomes source 3, the app's state. ",[757,1541,67],{"href":68}," has the full recipe, including turning the built-in detection off.",[760,1544,1546],{"id":1545},"server-api-routes","Server API routes",[743,1548,1549,813,1554,1557],{},[757,1550,1551],{"href":47},[803,1552,1553],{},"useLocaleServerMiddleware",[803,1555,1556],{},"useTranslationServerMiddleware"," use their own order, because an API URL is rarely localized:",[1559,1560,1561,1566,1573,1579,1587],"ol",{},[1219,1562,1563],{},[803,1564,1565],{},"?locale=",[1219,1567,1568,1569,1572],{},"a ",[803,1570,1571],{},"[locale]"," route param, or a locale prefix in the path",[1219,1574,1575,1576,1578],{},"cookie (when ",[803,1577,864],{}," is set)",[1219,1580,1581,1583,1584,1586],{},[803,1582,881],{}," (when ",[803,1585,890],{}," is on)",[1219,1588,1589],{},[803,1590,908],{},[743,1592,1593,813,1595,1597],{},[803,1594,1423],{},[803,1596,1407],{}," switch sources 3 and 4 off here too.",[760,1599,41],{"id":1600},"runtime-overrides",[743,1602,1603,1605],{},[757,1604,41],{"href":42}," change the list the sources are matched against:",[1216,1607,1608,1615,1625],{},[1219,1609,1610,1611,1614],{},"Runtime ",[803,1612,1613],{},"disabledLocales"," are removed from every step: a cookie or header naming one is skipped.",[1219,1616,1617,1618,1620,1621,813,1623,1248],{},"A runtime ",[803,1619,908],{}," is step 6 under ",[803,1622,983],{},[803,1624,833],{},[1219,1626,1431,1627,813,1629,1631,1632,1634],{},[803,1628,812],{},[803,1630,816],{}," the default locale is fixed at build (its pages are the unprefixed routes). A runtime ",[803,1633,908],{},", or disabling the build default, is ignored with a warning.",[760,1636,1638],{"id":1637},"related","Related",[1640,1641,1642,1646,1648],"card-group",{},[1643,1644],"card",{"icon":1645,"title":67,"to":68},"i-lucide-book-open",[1643,1647],{"icon":1645,"title":46,"to":47},[1643,1649],{"icon":1650,"title":287,"to":288},"i-lucide-braces",[1652,1653,1654],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":1367,"searchDepth":1380,"depth":1380,"links":1656},[1657,1658,1661,1662,1663,1664,1665,1666],{"id":762,"depth":1380,"text":763},{"id":935,"depth":1380,"text":936,"children":1659},[1660],{"id":1140,"depth":1386,"text":921},{"id":1265,"depth":1380,"text":881},{"id":1411,"depth":1380,"text":1412},{"id":1531,"depth":1380,"text":1532},{"id":1545,"depth":1380,"text":1546},{"id":1600,"depth":1380,"text":41},{"id":1637,"depth":1380,"text":1638},"How the locale is chosen for a page or an API request: URL, query, state, cookie, Accept-Language and default, and when a visitor is redirected.","md","2026-11-04T00:40:16+04:00",null,{"outline":1672},[1380,1386],{"order":60,"group":55},{"title":57,"description":1667},"1slMGig5DWSVj3d6dxLllVvAAfQgXIZZzwBHLhVvxL4",[1677,1679],{"title":51,"path":52,"description":1678},"The four URL strategies, the localized routes they generate, and how to link to a page in any locale.",{"title":62,"path":63,"description":1680},"Give a page a different URL per locale with localeRoutes or globalLocaleRoutes, including dynamic params and per-locale slugs.",1793790722097]