[{"data":1,"prerenderedAt":1686},["ShallowReactive",2],{"navigation":3,"v3-navigation":411,"\u002Fguide\u002Fcustom-auto-detect":738,"\u002Fguide\u002Fcustom-auto-detect-surround":1681},[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,359,363,367,371,375,379,383,387,391,395,399,403,407],{"title":352,"path":348,"stem":349,"order":353},"News & Releases",1,{"title":355,"path":356,"stem":357,"order":358},"v4.1.0","\u002Fnews\u002Fv4.1.0","news\u002Fv4.1.0",9,{"title":360,"path":361,"stem":362,"order":6},"v4.0.0","\u002Fnews\u002Fv4.0.0","news\u002Fv4.0.0",{"title":364,"path":365,"stem":366,"order":18},"v3.24.0","\u002Fnews\u002Fv3.24.0","news\u002Fv3.24.0",{"title":368,"path":369,"stem":370,"order":23},"v3.22.0","\u002Fnews\u002Fv3.22.0","news\u002Fv3.22.0",{"title":372,"path":373,"stem":374,"order":28},"v3.21.0","\u002Fnews\u002Fv3.21.0","news\u002Fv3.21.0",{"title":376,"path":377,"stem":378,"order":33},"v3.20.0","\u002Fnews\u002Fv3.20.0","news\u002Fv3.20.0",{"title":380,"path":381,"stem":382,"order":39},"v3.19.0","\u002Fnews\u002Fv3.19.0","news\u002Fv3.19.0",{"title":384,"path":385,"stem":386,"order":44},"v3.0.0","\u002Fnews\u002Fv3.0.0","news\u002Fv3.0.0",{"title":388,"path":389,"stem":390,"order":49},"v2.14.1","\u002Fnews\u002Fv2.14.1","news\u002Fv2.14.1",{"title":392,"path":393,"stem":394,"order":54},"v2.0.0","\u002Fnews\u002Fv2.0.0","news\u002Fv2.0.0",{"title":396,"path":397,"stem":398,"order":60},"v1.73.0","\u002Fnews\u002Fv1.73.0","news\u002Fv1.73.0",{"title":400,"path":401,"stem":402,"order":65},"v1.65.0","\u002Fnews\u002Fv1.65.0","news\u002Fv1.65.0",{"title":404,"path":405,"stem":406,"order":70},"v1.58.0","\u002Fnews\u002Fv1.58.0","news\u002Fv1.58.0",{"title":408,"path":409,"stem":410,"order":75},"v1.1.0","\u002Fnews\u002Fv1.1.0","news\u002Fv1.1.0",[412],{"title":413,"path":414,"stem":415,"children":416},"V3","\u002Fv3","v3",[417,420,557,603,696,717,734],{"title":136,"path":414,"stem":418,"order":419},"v3\u002Findex",0,{"title":5,"order":6,"path":421,"stem":422,"children":423,"page":129},"\u002Fv3\u002Fguide","v3\u002Fguide",[424,429,433,437,441,446,450,454,458,462,466,470,474,478,483,487,492,496,500,504,508,512,516,519,523,527,532,538,543,547,552],{"title":425,"path":426,"stem":427,"order":6,"group":428},"Getting Started","\u002Fv3\u002Fguide\u002Fgetting-started","v3\u002Fguide\u002Fgetting-started","Basics",{"title":430,"path":431,"stem":432,"order":18,"group":428},"Configuration","\u002Fv3\u002Fguide\u002Fconfiguration","v3\u002Fguide\u002Fconfiguration",{"title":434,"path":435,"stem":436,"order":23,"group":428},"Folder Structure","\u002Fv3\u002Fguide\u002Ffolder-structure","v3\u002Fguide\u002Ffolder-structure",{"title":438,"path":439,"stem":440,"order":28,"group":428},"Routing Strategy","\u002Fv3\u002Fguide\u002Fstrategy","v3\u002Fguide\u002Fstrategy",{"title":442,"path":443,"stem":444,"order":33,"group":445},"Translating Content","\u002Fv3\u002Fguide\u002Fusing","v3\u002Fguide\u002Fusing","Usage",{"title":447,"path":448,"stem":449,"order":39,"group":445},"Per Component Translations","\u002Fv3\u002Fguide\u002Fper-component-translations","v3\u002Fguide\u002Fper-component-translations",{"title":451,"path":452,"stem":453,"order":44,"group":445},"Custom Localized Routes","\u002Fv3\u002Fguide\u002Fcustom-locale-routes","v3\u002Fguide\u002Fcustom-locale-routes",{"title":455,"path":456,"stem":457,"order":49,"group":445},"Custom Auto Detect","\u002Fv3\u002Fguide\u002Fcustom-auto-detect","v3\u002Fguide\u002Fcustom-auto-detect",{"title":459,"path":460,"stem":461,"order":54,"group":445},"Runtime Overrides","\u002Fv3\u002Fguide\u002Fruntime-overrides","v3\u002Fguide\u002Fruntime-overrides",{"title":463,"path":464,"stem":465,"order":60,"group":445},"Layers","\u002Fv3\u002Fguide\u002Flayers","v3\u002Fguide\u002Flayers",{"title":77,"path":467,"stem":468,"order":65,"group":469},"\u002Fv3\u002Fguide\u002Fseo","v3\u002Fguide\u002Fseo","SEO & URLs",{"title":471,"path":472,"stem":473,"order":70,"group":469},"Multi Domain Locales","\u002Fv3\u002Fguide\u002Fmulti-domain-locales","v3\u002Fguide\u002Fmulti-domain-locales",{"title":475,"path":476,"stem":477,"order":75,"group":469},"Excluding Static Files","\u002Fv3\u002Fguide\u002Fexcluding-static-files","v3\u002Fguide\u002Fexcluding-static-files",{"title":479,"path":480,"stem":481,"order":80,"group":482},"Performance","\u002Fv3\u002Fguide\u002Fperformance","v3\u002Fguide\u002Fperformance","Performance & Deployment",{"title":484,"path":485,"stem":486,"order":86,"group":482},"Benchmark Results","\u002Fv3\u002Fguide\u002Fperformance-results","v3\u002Fguide\u002Fperformance-results",{"title":488,"path":489,"stem":490,"order":491,"group":482},"Performance methodology","\u002Fv3\u002Fguide\u002Fperformance-methodology","v3\u002Fguide\u002Fperformance-methodology",155,{"title":493,"path":494,"stem":495,"order":91,"group":482},"Server Side Translations","\u002Fv3\u002Fguide\u002Fserver-side-translations","v3\u002Fguide\u002Fserver-side-translations",{"title":497,"path":498,"stem":499,"order":97,"group":482},"Firebase Deployment","\u002Fv3\u002Fguide\u002Ffirebase","v3\u002Fguide\u002Ffirebase",{"title":501,"path":502,"stem":503,"order":102,"group":482},"Release Smoke Checks","\u002Fv3\u002Fguide\u002Frelease-smoke","v3\u002Fguide\u002Frelease-smoke",{"title":505,"path":506,"stem":507,"order":107,"group":482},"Preset local testing","\u002Fv3\u002Fguide\u002Fpreset-local-testing","v3\u002Fguide\u002Fpreset-local-testing",{"title":509,"path":510,"stem":511,"order":113,"group":482},"Maintenance Commands","\u002Fv3\u002Fguide\u002Fmaintenance-commands","v3\u002Fguide\u002Fmaintenance-commands",{"title":513,"path":514,"stem":515,"order":118,"group":108},"CLI Tool","\u002Fv3\u002Fguide\u002Fcli","v3\u002Fguide\u002Fcli",{"title":104,"path":517,"stem":518,"order":123,"group":108},"\u002Fv3\u002Fguide\u002Fdevtools","v3\u002Fguide\u002Fdevtools",{"title":520,"path":521,"stem":522,"order":128,"group":108},"Testing Your App","\u002Fv3\u002Fguide\u002Ftesting","v3\u002Fguide\u002Ftesting",{"title":120,"path":524,"stem":525,"order":526,"group":108},"\u002Fv3\u002Fguide\u002Fstorybook","v3\u002Fguide\u002Fstorybook",240,{"title":528,"path":529,"stem":530,"order":531,"group":108},"Crowdin Integration","\u002Fv3\u002Fguide\u002Fcrowdin","v3\u002Fguide\u002Fcrowdin",250,{"title":533,"path":534,"stem":535,"order":536,"group":537},"Migration from nuxt-i18n","\u002Fv3\u002Fguide\u002Fmigration","v3\u002Fguide\u002Fmigration",260,"Migration & Help",{"title":539,"path":540,"stem":541,"order":542,"group":537},"Upgrade to v3","\u002Fv3\u002Fguide\u002Fv3-upgrade","v3\u002Fguide\u002Fv3-upgrade",270,{"title":25,"path":544,"stem":545,"order":546,"group":537},"\u002Fv3\u002Fguide\u002Ffaq","v3\u002Fguide\u002Ffaq",280,{"title":548,"path":549,"stem":550,"order":551,"group":537},"Contribution","\u002Fv3\u002Fguide\u002Fcontribution","v3\u002Fguide\u002Fcontribution",290,{"title":553,"path":554,"stem":555,"order":556,"group":537},"Testing the Module","\u002Fv3\u002Fguide\u002Ftesting-strategies","v3\u002Fguide\u002Ftesting-strategies",300,{"title":558,"order":18,"path":559,"stem":560,"children":561},"Integrations","\u002Fv3\u002Fintegrations","v3\u002Fintegrations\u002Findex",[562,563,567,571,575,579,583,587,591,595,599],{"title":136,"path":559,"stem":560,"order":6},{"title":564,"path":565,"stem":566,"order":18},"Vue Package","\u002Fv3\u002Fintegrations\u002Fvue-package","v3\u002Fintegrations\u002Fvue-package",{"title":568,"path":569,"stem":570,"order":23},"React Package","\u002Fv3\u002Fintegrations\u002Freact-package","v3\u002Fintegrations\u002Freact-package",{"title":572,"path":573,"stem":574,"order":28},"Preact Package","\u002Fv3\u002Fintegrations\u002Fpreact-package","v3\u002Fintegrations\u002Fpreact-package",{"title":576,"path":577,"stem":578,"order":33},"Solid Package","\u002Fv3\u002Fintegrations\u002Fsolid-package","v3\u002Fintegrations\u002Fsolid-package",{"title":580,"path":581,"stem":582,"order":39},"Astro Package","\u002Fv3\u002Fintegrations\u002Fastro-package","v3\u002Fintegrations\u002Fastro-package",{"title":584,"path":585,"stem":586,"order":44},"VitePress Package","\u002Fv3\u002Fintegrations\u002Fvitepress-package","v3\u002Fintegrations\u002Fvitepress-package",{"title":588,"path":589,"stem":590,"order":49},"Runtime Package","\u002Fv3\u002Fintegrations\u002Fruntime-package","v3\u002Fintegrations\u002Fruntime-package",{"title":592,"path":593,"stem":594,"order":54},"Node.js Package","\u002Fv3\u002Fintegrations\u002Fnodejs-package","v3\u002Fintegrations\u002Fnodejs-package",{"title":596,"path":597,"stem":598,"order":60},"Types Generator","\u002Fv3\u002Fintegrations\u002Ftypes-generator","v3\u002Fintegrations\u002Ftypes-generator",{"title":600,"path":601,"stem":602,"order":65},"Devtools Package","\u002Fv3\u002Fintegrations\u002Fdevtools-ui-package","v3\u002Fintegrations\u002Fdevtools-ui-package",{"title":181,"order":23,"path":604,"stem":605,"children":606},"\u002Fv3\u002Fapi","v3\u002Fapi\u002Findex",[607,608,612,616,620,624],{"title":136,"path":604,"stem":605,"order":6},{"title":609,"path":610,"stem":611,"order":18},"Methods","\u002Fv3\u002Fapi\u002Fmethods","v3\u002Fapi\u002Fmethods",{"title":613,"path":614,"stem":615,"order":23},"Events","\u002Fv3\u002Fapi\u002Fevents","v3\u002Fapi\u002Fevents",{"title":617,"path":618,"stem":619,"order":28},"Translations and Cache","\u002Fv3\u002Fapi\u002Fi18n-cache-api","v3\u002Fapi\u002Fi18n-cache-api",{"title":621,"path":622,"stem":623,"order":33},"Module Options","\u002Fv3\u002Fapi\u002Fmodule-options","v3\u002Fapi\u002Fmodule-options",{"title":205,"path":625,"stem":626,"children":627,"order":39},"\u002Fv3\u002Fapi\u002Fpackages","v3\u002Fapi\u002Fpackages",[628,632,636,640,644,648,652,656,660,664,668,672,676,680,684,688,692],{"title":629,"path":630,"stem":631},"@i18n-micro\u002Fastro","\u002Fv3\u002Fapi\u002Fpackages\u002Fastro","v3\u002Fapi\u002Fpackages\u002Fastro",{"title":633,"path":634,"stem":635},"@i18n-micro\u002Fcore","\u002Fv3\u002Fapi\u002Fpackages\u002Fcore","v3\u002Fapi\u002Fpackages\u002Fcore",{"title":637,"path":638,"stem":639},"@i18n-micro\u002Fdevtools-ui","\u002Fv3\u002Fapi\u002Fpackages\u002Fdevtools-ui","v3\u002Fapi\u002Fpackages\u002Fdevtools-ui",{"title":641,"path":642,"stem":643},"@i18n-micro\u002Fhmr","\u002Fv3\u002Fapi\u002Fpackages\u002Fhmr","v3\u002Fapi\u002Fpackages\u002Fhmr",{"title":645,"path":646,"stem":647},"@i18n-micro\u002Fnode","\u002Fv3\u002Fapi\u002Fpackages\u002Fnode","v3\u002Fapi\u002Fpackages\u002Fnode",{"title":649,"path":650,"stem":651},"@i18n-micro\u002Fpath-strategy","\u002Fv3\u002Fapi\u002Fpackages\u002Fpath-strategy","v3\u002Fapi\u002Fpackages\u002Fpath-strategy",{"title":653,"path":654,"stem":655},"@i18n-micro\u002Fpreact","\u002Fv3\u002Fapi\u002Fpackages\u002Fpreact","v3\u002Fapi\u002Fpackages\u002Fpreact",{"title":657,"path":658,"stem":659},"@i18n-micro\u002Freact","\u002Fv3\u002Fapi\u002Fpackages\u002Freact","v3\u002Fapi\u002Fpackages\u002Freact",{"title":661,"path":662,"stem":663},"@i18n-micro\u002Froute-strategy","\u002Fv3\u002Fapi\u002Fpackages\u002Froute-strategy","v3\u002Fapi\u002Fpackages\u002Froute-strategy",{"title":665,"path":666,"stem":667},"@i18n-micro\u002Fruntime","\u002Fv3\u002Fapi\u002Fpackages\u002Fruntime","v3\u002Fapi\u002Fpackages\u002Fruntime",{"title":669,"path":670,"stem":671},"@i18n-micro\u002Fsolid","\u002Fv3\u002Fapi\u002Fpackages\u002Fsolid","v3\u002Fapi\u002Fpackages\u002Fsolid",{"title":673,"path":674,"stem":675},"@i18n-micro\u002Ftest-utils","\u002Fv3\u002Fapi\u002Fpackages\u002Ftest-utils","v3\u002Fapi\u002Fpackages\u002Ftest-utils",{"title":677,"path":678,"stem":679},"@i18n-micro\u002Ftypes","\u002Fv3\u002Fapi\u002Fpackages\u002Ftypes","v3\u002Fapi\u002Fpackages\u002Ftypes",{"title":681,"path":682,"stem":683},"@i18n-micro\u002Ftypes-generator","\u002Fv3\u002Fapi\u002Fpackages\u002Ftypes-generator","v3\u002Fapi\u002Fpackages\u002Ftypes-generator",{"title":685,"path":686,"stem":687},"@i18n-micro\u002Futils","\u002Fv3\u002Fapi\u002Fpackages\u002Futils","v3\u002Fapi\u002Fpackages\u002Futils",{"title":689,"path":690,"stem":691},"@i18n-micro\u002Fvitepress","\u002Fv3\u002Fapi\u002Fpackages\u002Fvitepress","v3\u002Fapi\u002Fpackages\u002Fvitepress",{"title":693,"path":694,"stem":695},"@i18n-micro\u002Fvue","\u002Fv3\u002Fapi\u002Fpackages\u002Fvue","v3\u002Fapi\u002Fpackages\u002Fvue",{"title":299,"order":28,"path":697,"stem":698,"children":699},"\u002Fv3\u002Fcomponents","v3\u002Fcomponents\u002Findex",[700,701,705,709,713],{"title":136,"path":697,"stem":698,"order":6},{"title":702,"path":703,"stem":704,"order":18},"i18n-t","\u002Fv3\u002Fcomponents\u002Fi18n-t","v3\u002Fcomponents\u002Fi18n-t",{"title":706,"path":707,"stem":708,"order":23},"i18n-switcher","\u002Fv3\u002Fcomponents\u002Fi18n-switcher","v3\u002Fcomponents\u002Fi18n-switcher",{"title":710,"path":711,"stem":712,"order":28},"i18n-link","\u002Fv3\u002Fcomponents\u002Fi18n-link","v3\u002Fcomponents\u002Fi18n-link",{"title":714,"path":715,"stem":716,"order":33},"i18n-group","\u002Fv3\u002Fcomponents\u002Fi18n-group","v3\u002Fcomponents\u002Fi18n-group",{"title":278,"path":718,"stem":719,"children":720,"order":33},"\u002Fv3\u002Fcomposables","v3\u002Fcomposables\u002Findex",[721,722,725,728,731],{"title":136,"path":718,"stem":719,"order":6},{"title":283,"path":723,"stem":724,"order":18},"\u002Fv3\u002Fcomposables\u002FuseI18n","v3\u002Fcomposables\u002FuseI18n",{"title":295,"path":726,"stem":727,"order":23},"\u002Fv3\u002Fcomposables\u002FuseLocaleHead","v3\u002Fcomposables\u002FuseLocaleHead",{"title":291,"path":729,"stem":730,"order":28},"\u002Fv3\u002Fcomposables\u002FuseI18nHead","v3\u002Fcomposables\u002FuseI18nHead",{"title":287,"path":732,"stem":733,"order":33},"\u002Fv3\u002Fcomposables\u002FuseI18nLocale","v3\u002Fcomposables\u002FuseI18nLocale",{"title":735,"path":736,"stem":737,"order":39},"Examples","\u002Fv3\u002Fexamples","v3\u002Fexamples",{"id":739,"title":67,"body":740,"description":1672,"extension":1673,"lastUpdated":1674,"links":1675,"meta":1676,"navigation":1678,"path":68,"seo":1679,"stem":69,"__hash__":1680},"docs\u002Fguide\u002Fcustom-auto-detect.md",{"type":741,"value":742,"toc":1664},"minimark",[743,747,760,765,1074,1092,1106,1110,1116,1192,1201,1205,1214,1287,1309,1313,1316,1601,1617,1621,1639,1643,1660],[744,745,67],"h1",{"id":746},"custom-locale-detection",[748,749,750,751,755,756,759],"p",{},"The built-in detection reads the URL, a cookie and ",[752,753,754],"code",{},"Accept-Language",". When the locale depends on something else — the domain, a geo header set by your CDN, a user profile — set it yourself in a plugin that runs before the i18n plugin. The module then loads that locale's translations and uses it for redirects exactly as if it had detected it. The rules that decide when a chosen locale wins over the URL are on ",[757,758,57],"a",{"href":58},"; this page shows how to plug your own source in.",[761,762,764],"h2",{"id":763},"set-the-locale-in-a-server-plugin","Set the locale in a server plugin",[766,767,772],"pre",{"className":768,"code":769,"language":770,"meta":771,"style":771},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F plugins\u002Fi18n-locale.server.ts\nexport default defineNuxtPlugin({\n  name: 'i18n-custom-locale',\n  enforce: 'pre',\n  order: -10, \u002F\u002F before the i18n plugin (order -5)\n  setup() {\n    const { setLocale } = useI18nLocale()\n    const host = (useRequestHeaders(['host']).host ?? '').split(':')[0]! \u002F\u002F without the port\n\n    if (host.endsWith('.de')) setLocale('de')\n    else if (host.endsWith('.fr')) setLocale('fr')\n  },\n})\n","ts","",[752,773,774,782,804,827,843,864,876,901,972,978,1019,1060,1066],{"__ignoreMap":771},[775,776,778],"span",{"class":777,"line":353},"line",[775,779,781],{"class":780},"sHwdD","\u002F\u002F plugins\u002Fi18n-locale.server.ts\n",[775,783,785,789,792,796,800],{"class":777,"line":784},2,[775,786,788],{"class":787},"s7zQu","export",[775,790,791],{"class":787}," default",[775,793,795],{"class":794},"s2Zo4"," defineNuxtPlugin",[775,797,799],{"class":798},"sTEyZ","(",[775,801,803],{"class":802},"sMK4o","{\n",[775,805,807,811,814,817,821,824],{"class":777,"line":806},3,[775,808,810],{"class":809},"swJcz","  name",[775,812,813],{"class":802},":",[775,815,816],{"class":802}," '",[775,818,820],{"class":819},"sfazB","i18n-custom-locale",[775,822,823],{"class":802},"'",[775,825,826],{"class":802},",\n",[775,828,830,833,835,837,839,841],{"class":777,"line":829},4,[775,831,832],{"class":809},"  enforce",[775,834,813],{"class":802},[775,836,816],{"class":802},[775,838,766],{"class":819},[775,840,823],{"class":802},[775,842,826],{"class":802},[775,844,846,849,851,854,858,861],{"class":777,"line":845},5,[775,847,848],{"class":809},"  order",[775,850,813],{"class":802},[775,852,853],{"class":802}," -",[775,855,857],{"class":856},"sbssI","10",[775,859,860],{"class":802},",",[775,862,863],{"class":780}," \u002F\u002F before the i18n plugin (order -5)\n",[775,865,867,870,873],{"class":777,"line":866},6,[775,868,869],{"class":809},"  setup",[775,871,872],{"class":802},"()",[775,874,875],{"class":802}," {\n",[775,877,879,883,886,889,892,895,898],{"class":777,"line":878},7,[775,880,882],{"class":881},"spNyl","    const",[775,884,885],{"class":802}," {",[775,887,888],{"class":798}," setLocale",[775,890,891],{"class":802}," }",[775,893,894],{"class":802}," =",[775,896,897],{"class":794}," useI18nLocale",[775,899,900],{"class":809},"()\n",[775,902,904,906,909,911,914,917,920,922,925,927,930,933,935,938,941,944,946,949,951,953,955,957,960,963,966,969],{"class":777,"line":903},8,[775,905,882],{"class":881},[775,907,908],{"class":798}," host",[775,910,894],{"class":802},[775,912,913],{"class":809}," (",[775,915,916],{"class":794},"useRequestHeaders",[775,918,919],{"class":809},"([",[775,921,823],{"class":802},[775,923,924],{"class":819},"host",[775,926,823],{"class":802},[775,928,929],{"class":809},"])",[775,931,932],{"class":802},".",[775,934,924],{"class":798},[775,936,937],{"class":802}," ??",[775,939,940],{"class":802}," ''",[775,942,943],{"class":809},")",[775,945,932],{"class":802},[775,947,948],{"class":794},"split",[775,950,799],{"class":809},[775,952,823],{"class":802},[775,954,813],{"class":819},[775,956,823],{"class":802},[775,958,959],{"class":809},")[",[775,961,962],{"class":856},"0",[775,964,965],{"class":809},"]",[775,967,968],{"class":802},"!",[775,970,971],{"class":780}," \u002F\u002F without the port\n",[775,973,974],{"class":777,"line":358},[775,975,977],{"emptyLinePlaceholder":976},true,"\n",[775,979,980,983,985,987,989,992,994,996,999,1001,1004,1007,1009,1011,1014,1016],{"class":777,"line":6},[775,981,982],{"class":787},"    if",[775,984,913],{"class":809},[775,986,924],{"class":798},[775,988,932],{"class":802},[775,990,991],{"class":794},"endsWith",[775,993,799],{"class":809},[775,995,823],{"class":802},[775,997,998],{"class":819},".de",[775,1000,823],{"class":802},[775,1002,1003],{"class":809},")) ",[775,1005,1006],{"class":794},"setLocale",[775,1008,799],{"class":809},[775,1010,823],{"class":802},[775,1012,1013],{"class":819},"de",[775,1015,823],{"class":802},[775,1017,1018],{"class":809},")\n",[775,1020,1022,1025,1028,1030,1032,1034,1036,1038,1040,1043,1045,1047,1049,1051,1053,1056,1058],{"class":777,"line":1021},11,[775,1023,1024],{"class":787},"    else",[775,1026,1027],{"class":787}," if",[775,1029,913],{"class":809},[775,1031,924],{"class":798},[775,1033,932],{"class":802},[775,1035,991],{"class":794},[775,1037,799],{"class":809},[775,1039,823],{"class":802},[775,1041,1042],{"class":819},".fr",[775,1044,823],{"class":802},[775,1046,1003],{"class":809},[775,1048,1006],{"class":794},[775,1050,799],{"class":809},[775,1052,823],{"class":802},[775,1054,1055],{"class":819},"fr",[775,1057,823],{"class":802},[775,1059,1018],{"class":809},[775,1061,1063],{"class":777,"line":1062},12,[775,1064,1065],{"class":802},"  },\n",[775,1067,1069,1072],{"class":777,"line":1068},13,[775,1070,1071],{"class":802},"}",[775,1073,1018],{"class":798},[748,1075,1076,1079,1080,1083,1084,1087,1088,1091],{},[752,1077,1078],{},"setLocale(code)"," writes the locale state (",[752,1081,1082],{},"useState('i18n-locale')",") and, when a locale cookie is configured, the cookie. Use it instead of writing ",[752,1085,1086],{},"useState"," or ",[752,1089,1090],{},"useCookie"," yourself. Pass only enabled locale codes.",[748,1093,1094,1095,1098,1099,1102,1103,932],{},"Keep the plugin ",[752,1096,1097],{},".server.ts"," when it reads request headers: they do not exist in the browser. A ",[752,1100,1101],{},".client.ts"," plugin is the place for browser-only sources such as ",[752,1104,1105],{},"localStorage",[761,1107,1109],{"id":1108},"turn-off-the-built-in-accept-language-step","Turn off the built-in Accept-Language step",[748,1111,1112,1113,1115],{},"Your plugin and ",[752,1114,754],{}," can disagree. To let only your code (plus the URL and cookie) decide, switch the header off:",[766,1117,1119],{"className":768,"code":1118,"language":770,"meta":771,"style":771},"\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['nuxt-i18n-micro'],\n  i18n: {\n    autoDetectLanguage: false,\n  },\n})\n",[752,1120,1121,1126,1139,1160,1169,1182,1186],{"__ignoreMap":771},[775,1122,1123],{"class":777,"line":353},[775,1124,1125],{"class":780},"\u002F\u002F nuxt.config.ts\n",[775,1127,1128,1130,1132,1135,1137],{"class":777,"line":784},[775,1129,788],{"class":787},[775,1131,791],{"class":787},[775,1133,1134],{"class":794}," defineNuxtConfig",[775,1136,799],{"class":798},[775,1138,803],{"class":802},[775,1140,1141,1144,1146,1149,1151,1154,1156,1158],{"class":777,"line":806},[775,1142,1143],{"class":809},"  modules",[775,1145,813],{"class":802},[775,1147,1148],{"class":798}," [",[775,1150,823],{"class":802},[775,1152,1153],{"class":819},"nuxt-i18n-micro",[775,1155,823],{"class":802},[775,1157,965],{"class":798},[775,1159,826],{"class":802},[775,1161,1162,1165,1167],{"class":777,"line":829},[775,1163,1164],{"class":809},"  i18n",[775,1166,813],{"class":802},[775,1168,875],{"class":802},[775,1170,1171,1174,1176,1180],{"class":777,"line":845},[775,1172,1173],{"class":809},"    autoDetectLanguage",[775,1175,813],{"class":802},[775,1177,1179],{"class":1178},"sfNiH"," false",[775,1181,826],{"class":802},[775,1183,1184],{"class":777,"line":866},[775,1185,1065],{"class":802},[775,1187,1188,1190],{"class":777,"line":878},[775,1189,1071],{"class":802},[775,1191,1018],{"class":798},[748,1193,1194,1200],{},[757,1195,1197],{"href":1196},"\u002Fapi\u002Fmodule-options#autodetectlanguage",[752,1198,1199],{},"autoDetectLanguage"," only controls the header step. The URL and a valid cookie still count.",[761,1202,1204],{"id":1203},"what-happens-next","What happens next",[748,1206,1207,1208,1210,1211,813],{},"The effect of ",[752,1209,1006],{}," depends on the ",[757,1212,1213],{"href":52},"strategy",[1215,1216,1217,1234],"table",{},[1218,1219,1220],"thead",{},[1221,1222,1223,1227],"tr",{},[1224,1225,1226],"th",{},"Strategy",[1224,1228,1229,1230,1233],{},"Effect of ",[752,1231,1232],{},"setLocale('de')"," in the plugin",[1235,1236,1237,1248,1277],"tbody",{},[1221,1238,1239,1245],{},[1240,1241,1242],"td",{},[752,1243,1244],{},"no_prefix",[1240,1246,1247],{},"The page renders in German; the URL does not change.",[1221,1249,1250,1259],{},[1240,1251,1252,1255,1256],{},[752,1253,1254],{},"prefix",", ",[752,1257,1258],{},"prefix_except_default",[1240,1260,1261,1262,1268,1269,1272,1273,1276],{},"On an unprefixed path where ",[757,1263,1265],{"href":1264},"\u002Fapi\u002Fmodule-options#autodetectpath",[752,1266,1267],{},"autoDetectPath"," allows redirects (by default only ",[752,1270,1271],{},"\u002F","), the server answers ",[752,1274,1275],{},"302"," to the German URL. A URL with a locale prefix keeps it.",[1221,1278,1279,1284],{},[1240,1280,1281],{},[752,1282,1283],{},"prefix_and_default",[1240,1285,1286],{},"No redirect: the unprefixed URL is a valid default-locale page.",[748,1288,1289,1290,1293,1294,1296,1297,1300,1301,1304,1305,1308],{},"Under the prefix strategies a locale in the URL is the user's choice and your plugin does not override it. ",[752,1291,1292],{},"autoDetectPath: '*'"," is the exception: the server then moves prefixed URLs by cookie and ",[752,1295,754],{}," and ignores the state, but ",[752,1298,1299],{},"setLocale()"," also writes the cookie when one is configured, so from the next request your plugin's choice can redirect a prefixed URL. Keep ",[752,1302,1303],{},"'\u002F'"," or use ",[752,1306,1307],{},"'no_prefix'"," when explicit locale URLs must win. Use your plugin to choose where a visitor lands, not to rewrite links they followed.",[761,1310,1312],{"id":1311},"respect-a-locale-the-user-picked","Respect a locale the user picked",[748,1314,1315],{},"Once a user switches language, the switch writes the cookie. Skip your own detection when there is already a valid preference:",[766,1317,1319],{"className":768,"code":1318,"language":770,"meta":771,"style":771},"\u002F\u002F plugins\u002Fi18n-locale.server.ts\nimport { detectLocaleFromAcceptLanguage } from '@i18n-micro\u002Futils\u002Faccept-language'\n\nexport default defineNuxtPlugin({\n  name: 'i18n-custom-locale',\n  enforce: 'pre',\n  order: -10,\n  setup() {\n    const { getPreferredLocale, setLocale, validLocales } = useI18nLocale()\n    if (getPreferredLocale()) return \u002F\u002F valid state or cookie: keep it\n\n    const country = useRequestHeaders(['x-country'])['x-country']\n    if (country === 'JP') return setLocale('ja')\n\n    const header = useRequestHeaders(['accept-language'])['accept-language']\n    setLocale(detectLocaleFromAcceptLanguage(header, validLocales))\n  },\n})\n",[752,1320,1321,1325,1348,1352,1364,1378,1392,1404,1412,1438,1456,1460,1493,1530,1535,1566,1589,1594],{"__ignoreMap":771},[775,1322,1323],{"class":777,"line":353},[775,1324,781],{"class":780},[775,1326,1327,1330,1332,1335,1337,1340,1342,1345],{"class":777,"line":784},[775,1328,1329],{"class":787},"import",[775,1331,885],{"class":802},[775,1333,1334],{"class":798}," detectLocaleFromAcceptLanguage",[775,1336,891],{"class":802},[775,1338,1339],{"class":787}," from",[775,1341,816],{"class":802},[775,1343,1344],{"class":819},"@i18n-micro\u002Futils\u002Faccept-language",[775,1346,1347],{"class":802},"'\n",[775,1349,1350],{"class":777,"line":806},[775,1351,977],{"emptyLinePlaceholder":976},[775,1353,1354,1356,1358,1360,1362],{"class":777,"line":829},[775,1355,788],{"class":787},[775,1357,791],{"class":787},[775,1359,795],{"class":794},[775,1361,799],{"class":798},[775,1363,803],{"class":802},[775,1365,1366,1368,1370,1372,1374,1376],{"class":777,"line":845},[775,1367,810],{"class":809},[775,1369,813],{"class":802},[775,1371,816],{"class":802},[775,1373,820],{"class":819},[775,1375,823],{"class":802},[775,1377,826],{"class":802},[775,1379,1380,1382,1384,1386,1388,1390],{"class":777,"line":866},[775,1381,832],{"class":809},[775,1383,813],{"class":802},[775,1385,816],{"class":802},[775,1387,766],{"class":819},[775,1389,823],{"class":802},[775,1391,826],{"class":802},[775,1393,1394,1396,1398,1400,1402],{"class":777,"line":878},[775,1395,848],{"class":809},[775,1397,813],{"class":802},[775,1399,853],{"class":802},[775,1401,857],{"class":856},[775,1403,826],{"class":802},[775,1405,1406,1408,1410],{"class":777,"line":903},[775,1407,869],{"class":809},[775,1409,872],{"class":802},[775,1411,875],{"class":802},[775,1413,1414,1416,1418,1421,1423,1425,1427,1430,1432,1434,1436],{"class":777,"line":358},[775,1415,882],{"class":881},[775,1417,885],{"class":802},[775,1419,1420],{"class":798}," getPreferredLocale",[775,1422,860],{"class":802},[775,1424,888],{"class":798},[775,1426,860],{"class":802},[775,1428,1429],{"class":798}," validLocales",[775,1431,891],{"class":802},[775,1433,894],{"class":802},[775,1435,897],{"class":794},[775,1437,900],{"class":809},[775,1439,1440,1442,1444,1447,1450,1453],{"class":777,"line":6},[775,1441,982],{"class":787},[775,1443,913],{"class":809},[775,1445,1446],{"class":794},"getPreferredLocale",[775,1448,1449],{"class":809},"()) ",[775,1451,1452],{"class":787},"return",[775,1454,1455],{"class":780}," \u002F\u002F valid state or cookie: keep it\n",[775,1457,1458],{"class":777,"line":1021},[775,1459,977],{"emptyLinePlaceholder":976},[775,1461,1462,1464,1467,1469,1472,1474,1476,1479,1481,1484,1486,1488,1490],{"class":777,"line":1062},[775,1463,882],{"class":881},[775,1465,1466],{"class":798}," country",[775,1468,894],{"class":802},[775,1470,1471],{"class":794}," useRequestHeaders",[775,1473,919],{"class":809},[775,1475,823],{"class":802},[775,1477,1478],{"class":819},"x-country",[775,1480,823],{"class":802},[775,1482,1483],{"class":809},"])[",[775,1485,823],{"class":802},[775,1487,1478],{"class":819},[775,1489,823],{"class":802},[775,1491,1492],{"class":809},"]\n",[775,1494,1495,1497,1499,1502,1505,1507,1510,1512,1515,1517,1519,1521,1523,1526,1528],{"class":777,"line":1068},[775,1496,982],{"class":787},[775,1498,913],{"class":809},[775,1500,1501],{"class":798},"country",[775,1503,1504],{"class":802}," ===",[775,1506,816],{"class":802},[775,1508,1509],{"class":819},"JP",[775,1511,823],{"class":802},[775,1513,1514],{"class":809},") ",[775,1516,1452],{"class":787},[775,1518,888],{"class":794},[775,1520,799],{"class":809},[775,1522,823],{"class":802},[775,1524,1525],{"class":819},"ja",[775,1527,823],{"class":802},[775,1529,1018],{"class":809},[775,1531,1533],{"class":777,"line":1532},14,[775,1534,977],{"emptyLinePlaceholder":976},[775,1536,1538,1540,1543,1545,1547,1549,1551,1554,1556,1558,1560,1562,1564],{"class":777,"line":1537},15,[775,1539,882],{"class":881},[775,1541,1542],{"class":798}," header",[775,1544,894],{"class":802},[775,1546,1471],{"class":794},[775,1548,919],{"class":809},[775,1550,823],{"class":802},[775,1552,1553],{"class":819},"accept-language",[775,1555,823],{"class":802},[775,1557,1483],{"class":809},[775,1559,823],{"class":802},[775,1561,1553],{"class":819},[775,1563,823],{"class":802},[775,1565,1492],{"class":809},[775,1567,1569,1572,1574,1577,1579,1582,1584,1586],{"class":777,"line":1568},16,[775,1570,1571],{"class":794},"    setLocale",[775,1573,799],{"class":809},[775,1575,1576],{"class":794},"detectLocaleFromAcceptLanguage",[775,1578,799],{"class":809},[775,1580,1581],{"class":798},"header",[775,1583,860],{"class":802},[775,1585,1429],{"class":798},[775,1587,1588],{"class":809},"))\n",[775,1590,1592],{"class":777,"line":1591},17,[775,1593,1065],{"class":802},[775,1595,1597,1599],{"class":777,"line":1596},18,[775,1598,1071],{"class":802},[775,1600,1018],{"class":798},[748,1602,1603,1606,1607,1609,1610,1612,1613,1616],{},[752,1604,1605],{},"getPreferredLocale()"," returns the state or cookie only when it is an enabled locale, so a stale cookie does not stop detection. ",[752,1608,1576],{}," is the q-value-aware matcher the module uses itself (install ",[752,1611,685],{}," to import it); ",[752,1614,1615],{},"setLocale(null)"," does nothing.",[761,1618,1620],{"id":1619},"one-domain-per-locale","One domain per locale",[748,1622,1623,1624,1627,1628,1631,1632,1635,1636,932],{},"If each domain should serve its own locales, you do not need a plugin: give each locale a ",[752,1625,1626],{},"baseUrl",", set ",[752,1629,1630],{},"baseDefault: true"," on each domain's default locale, and build once (a static site still runs ",[752,1633,1634],{},"nuxi generate"," per domain). See ",[757,1637,83],{"href":1638},"\u002Fguide\u002Flayers#multiple-domains",[761,1640,1642],{"id":1641},"related","Related",[1644,1645,1646,1653,1656,1658],"card-group",{},[1647,1648,1650],"card",{"icon":1649,"title":57,"to":58},"i-lucide-book-open",[748,1651,1652],{},"The full precedence and redirect rules",[1647,1654],{"icon":1655,"title":287,"to":288},"i-lucide-braces",[1647,1657],{"icon":1649,"title":51,"to":52},[1647,1659],{"icon":1649,"title":83,"to":84},[1661,1662,1663],"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 pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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);}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":771,"searchDepth":784,"depth":784,"links":1665},[1666,1667,1668,1669,1670,1671],{"id":763,"depth":784,"text":764},{"id":1108,"depth":784,"text":1109},{"id":1203,"depth":784,"text":1204},{"id":1311,"depth":784,"text":1312},{"id":1619,"depth":784,"text":1620},{"id":1641,"depth":784,"text":1642},"Pick the locale yourself — by domain, header or user profile — with a server plugin and useI18nLocale().setLocale().","md","2026-11-04T00:40:16+04:00",null,{"outline":1677},[784,806],{"order":70,"group":55},{"title":67,"description":1672},"85rkomvWYvg_8lQ4mCwZmlkX0LqxZP8DNfhG3Fgl4Co",[1682,1684],{"title":62,"path":63,"description":1683},"Give a page a different URL per locale with localeRoutes or globalLocaleRoutes, including dynamic params and per-locale slugs.",{"title":72,"path":73,"description":1685},"Keep pages and files out of locale routing with excludePatterns, and see which paths are excluded already.",1794131154482]