[{"data":1,"prerenderedAt":2222},["ShallowReactive",2],{"navigation":3,"v3-navigation":411,"\u002Fguide\u002Fcustom-locale-routes":738,"\u002Fguide\u002Fcustom-locale-routes-surround":2217},[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":62,"body":740,"description":2208,"extension":2209,"lastUpdated":2210,"links":2211,"meta":2212,"navigation":2214,"path":63,"seo":2215,"stem":64,"__hash__":2216},"docs\u002Fguide\u002Fcustom-locale-routes.md",{"type":741,"value":742,"toc":2199},"minimark",[743,747,772,777,941,968,972,981,1237,1246,1250,1267,1334,1344,1348,1351,1488,1502,1506,1521,1735,1746,1764,1782,1785,1822,1826,1861,2169,2176,2180,2195],[744,745,62],"h1",{"id":746},"localized-paths",[748,749,750,751,755,756,759,760,763,764,767,768,771],"p",{},"By default every locale serves a page at the same path: ",[752,753,754],"code",{},"\u002Fen\u002Fabout",", ",[752,757,758],{},"\u002Fde\u002Fabout",". Localized paths let each locale use its own words, such as ",[752,761,762],{},"\u002Fde\u002Fueber-uns",", while the page file stays the same. You set them in the page with ",[752,765,766],{},"$defineI18nRoute",", or for many pages at once in ",[752,769,770],{},"nuxt.config.ts",".",[773,774,776],"h2",{"id":775},"in-the-page","In the page",[778,779,783],"pre",{"className":780,"code":781,"language":274,"meta":782,"style":782},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003C!-- pages\u002Fabout.vue -->\n\u003Cscript setup lang=\"ts\">\nconst { $defineI18nRoute } = useNuxtApp()\n\n$defineI18nRoute({\n  localeRoutes: {\n    de: '\u002Fueber-uns',\n    fr: '\u002Fa-propos',\n  },\n})\n\u003C\u002Fscript>\n","",[752,784,785,793,826,852,859,870,882,902,919,924,931],{"__ignoreMap":782},[786,787,789],"span",{"class":788,"line":353},"line",[786,790,792],{"class":791},"sHwdD","\u003C!-- pages\u002Fabout.vue -->\n",[786,794,796,800,804,808,811,814,817,821,823],{"class":788,"line":795},2,[786,797,799],{"class":798},"sMK4o","\u003C",[786,801,803],{"class":802},"swJcz","script",[786,805,807],{"class":806},"spNyl"," setup",[786,809,810],{"class":806}," lang",[786,812,813],{"class":798},"=",[786,815,816],{"class":798},"\"",[786,818,820],{"class":819},"sfazB","ts",[786,822,816],{"class":798},[786,824,825],{"class":798},">\n",[786,827,829,832,835,839,842,845,849],{"class":788,"line":828},3,[786,830,831],{"class":806},"const",[786,833,834],{"class":798}," {",[786,836,838],{"class":837},"sTEyZ"," $defineI18nRoute ",[786,840,841],{"class":798},"}",[786,843,844],{"class":798}," =",[786,846,848],{"class":847},"s2Zo4"," useNuxtApp",[786,850,851],{"class":837},"()\n",[786,853,855],{"class":788,"line":854},4,[786,856,858],{"emptyLinePlaceholder":857},true,"\n",[786,860,862,864,867],{"class":788,"line":861},5,[786,863,766],{"class":847},[786,865,866],{"class":837},"(",[786,868,869],{"class":798},"{\n",[786,871,873,876,879],{"class":788,"line":872},6,[786,874,875],{"class":802},"  localeRoutes",[786,877,878],{"class":798},":",[786,880,881],{"class":798}," {\n",[786,883,885,888,890,893,896,899],{"class":788,"line":884},7,[786,886,887],{"class":802},"    de",[786,889,878],{"class":798},[786,891,892],{"class":798}," '",[786,894,895],{"class":819},"\u002Fueber-uns",[786,897,898],{"class":798},"'",[786,900,901],{"class":798},",\n",[786,903,905,908,910,912,915,917],{"class":788,"line":904},8,[786,906,907],{"class":802},"    fr",[786,909,878],{"class":798},[786,911,892],{"class":798},[786,913,914],{"class":819},"\u002Fa-propos",[786,916,898],{"class":798},[786,918,901],{"class":798},[786,920,921],{"class":788,"line":358},[786,922,923],{"class":798},"  },\n",[786,925,926,928],{"class":788,"line":6},[786,927,841],{"class":798},[786,929,930],{"class":837},")\n",[786,932,934,937,939],{"class":788,"line":933},11,[786,935,936],{"class":798},"\u003C\u002F",[786,938,803],{"class":802},[786,940,825],{"class":798},[748,942,943,944,947,948,951,952,755,955,947,957,960,961,965,966,771],{},"With ",[752,945,946],{},"prefix_except_default"," and ",[752,949,950],{},"defaultLocale: 'en'"," the page answers at ",[752,953,954],{},"\u002Fabout",[752,956,762],{},[752,958,959],{},"\u002Ffr\u002Fa-propos",". A locale without an entry keeps the default path. Write paths without the locale code: the prefix is added by the ",[962,963,964],"a",{"href":52},"strategy",", and a path that starts with the locale code logs a warning. What else the call accepts is on ",[962,967,36],{"href":37},[773,969,971],{"id":970},"in-nuxtconfig","In nuxt.config",[748,973,974,980],{},[962,975,977],{"href":976},"\u002Fapi\u002Fmodule-options#globallocaleroutes",[752,978,979],{},"globalLocaleRoutes"," does the same for any page, keyed by its path (or by its route name, when written without a leading slash):",[778,982,985],{"className":983,"code":984,"language":820,"meta":782,"style":782},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['nuxt-i18n-micro'],\n  i18n: {\n    locales: [\n      { code: 'en', iso: 'en-US' },\n      { code: 'de', iso: 'de-DE' },\n    ],\n    defaultLocale: 'en',\n    globalLocaleRoutes: {\n      '\u002Fabout': { de: '\u002Fueber-uns' },\n      '\u002Fabout\u002Fteam': { de: '\u002Fueber-uns\u002Fteam' },\n      '\u002Fadmin': false, \u002F\u002F not localized: one \u002Fadmin route, no locale prefix\n    },\n  },\n})\n",[752,986,987,992,1008,1030,1039,1049,1084,1114,1121,1136,1145,1171,1198,1219,1225,1230],{"__ignoreMap":782},[786,988,989],{"class":788,"line":353},[786,990,991],{"class":791},"\u002F\u002F nuxt.config.ts\n",[786,993,994,998,1001,1004,1006],{"class":788,"line":795},[786,995,997],{"class":996},"s7zQu","export",[786,999,1000],{"class":996}," default",[786,1002,1003],{"class":847}," defineNuxtConfig",[786,1005,866],{"class":837},[786,1007,869],{"class":798},[786,1009,1010,1013,1015,1018,1020,1023,1025,1028],{"class":788,"line":828},[786,1011,1012],{"class":802},"  modules",[786,1014,878],{"class":798},[786,1016,1017],{"class":837}," [",[786,1019,898],{"class":798},[786,1021,1022],{"class":819},"nuxt-i18n-micro",[786,1024,898],{"class":798},[786,1026,1027],{"class":837},"]",[786,1029,901],{"class":798},[786,1031,1032,1035,1037],{"class":788,"line":854},[786,1033,1034],{"class":802},"  i18n",[786,1036,878],{"class":798},[786,1038,881],{"class":798},[786,1040,1041,1044,1046],{"class":788,"line":861},[786,1042,1043],{"class":802},"    locales",[786,1045,878],{"class":798},[786,1047,1048],{"class":837}," [\n",[786,1050,1051,1054,1057,1059,1061,1064,1066,1069,1072,1074,1076,1079,1081],{"class":788,"line":872},[786,1052,1053],{"class":798},"      {",[786,1055,1056],{"class":802}," code",[786,1058,878],{"class":798},[786,1060,892],{"class":798},[786,1062,1063],{"class":819},"en",[786,1065,898],{"class":798},[786,1067,1068],{"class":798},",",[786,1070,1071],{"class":802}," iso",[786,1073,878],{"class":798},[786,1075,892],{"class":798},[786,1077,1078],{"class":819},"en-US",[786,1080,898],{"class":798},[786,1082,1083],{"class":798}," },\n",[786,1085,1086,1088,1090,1092,1094,1097,1099,1101,1103,1105,1107,1110,1112],{"class":788,"line":884},[786,1087,1053],{"class":798},[786,1089,1056],{"class":802},[786,1091,878],{"class":798},[786,1093,892],{"class":798},[786,1095,1096],{"class":819},"de",[786,1098,898],{"class":798},[786,1100,1068],{"class":798},[786,1102,1071],{"class":802},[786,1104,878],{"class":798},[786,1106,892],{"class":798},[786,1108,1109],{"class":819},"de-DE",[786,1111,898],{"class":798},[786,1113,1083],{"class":798},[786,1115,1116,1119],{"class":788,"line":904},[786,1117,1118],{"class":837},"    ]",[786,1120,901],{"class":798},[786,1122,1123,1126,1128,1130,1132,1134],{"class":788,"line":358},[786,1124,1125],{"class":802},"    defaultLocale",[786,1127,878],{"class":798},[786,1129,892],{"class":798},[786,1131,1063],{"class":819},[786,1133,898],{"class":798},[786,1135,901],{"class":798},[786,1137,1138,1141,1143],{"class":788,"line":6},[786,1139,1140],{"class":802},"    globalLocaleRoutes",[786,1142,878],{"class":798},[786,1144,881],{"class":798},[786,1146,1147,1150,1152,1154,1156,1158,1161,1163,1165,1167,1169],{"class":788,"line":933},[786,1148,1149],{"class":798},"      '",[786,1151,954],{"class":802},[786,1153,898],{"class":798},[786,1155,878],{"class":798},[786,1157,834],{"class":798},[786,1159,1160],{"class":802}," de",[786,1162,878],{"class":798},[786,1164,892],{"class":798},[786,1166,895],{"class":819},[786,1168,898],{"class":798},[786,1170,1083],{"class":798},[786,1172,1174,1176,1179,1181,1183,1185,1187,1189,1191,1194,1196],{"class":788,"line":1173},12,[786,1175,1149],{"class":798},[786,1177,1178],{"class":802},"\u002Fabout\u002Fteam",[786,1180,898],{"class":798},[786,1182,878],{"class":798},[786,1184,834],{"class":798},[786,1186,1160],{"class":802},[786,1188,878],{"class":798},[786,1190,892],{"class":798},[786,1192,1193],{"class":819},"\u002Fueber-uns\u002Fteam",[786,1195,898],{"class":798},[786,1197,1083],{"class":798},[786,1199,1201,1203,1206,1208,1210,1214,1216],{"class":788,"line":1200},13,[786,1202,1149],{"class":798},[786,1204,1205],{"class":802},"\u002Fadmin",[786,1207,898],{"class":798},[786,1209,878],{"class":798},[786,1211,1213],{"class":1212},"sfNiH"," false",[786,1215,1068],{"class":798},[786,1217,1218],{"class":791}," \u002F\u002F not localized: one \u002Fadmin route, no locale prefix\n",[786,1220,1222],{"class":788,"line":1221},14,[786,1223,1224],{"class":798},"    },\n",[786,1226,1228],{"class":788,"line":1227},15,[786,1229,923],{"class":798},[786,1231,1233,1235],{"class":788,"line":1232},16,[786,1234,841],{"class":798},[786,1236,930],{"class":837},[748,1238,1239,1240,947,1243,1245],{},"When a page sets ",[752,1241,1242],{},"localeRoutes",[752,1244,979],{}," has the same key, the config entry wins.",[773,1247,1249],{"id":1248},"dynamic-params","Dynamic params",[748,1251,1252,1253,755,1256,755,1259,1262,1263,1266],{},"Write params in any Nuxt form: ",[752,1254,1255],{},"[id]",[752,1257,1258],{},"[[page]]",[752,1260,1261],{},"[...slug]",", or ",[752,1264,1265],{},":id()",". The param names must match the page file.",[778,1268,1270],{"className":983,"code":1269,"language":820,"meta":782,"style":782},"\u002F\u002F pages\u002Fproducts\u002F[...slug].vue\n$defineI18nRoute({\n  localeRoutes: {\n    en: '\u002Four-products\u002F[...slug]',\n    de: '\u002Funsere-produkte\u002F[...slug]',\n  },\n})\n",[752,1271,1272,1277,1285,1293,1309,1324,1328],{"__ignoreMap":782},[786,1273,1274],{"class":788,"line":353},[786,1275,1276],{"class":791},"\u002F\u002F pages\u002Fproducts\u002F[...slug].vue\n",[786,1278,1279,1281,1283],{"class":788,"line":795},[786,1280,766],{"class":847},[786,1282,866],{"class":837},[786,1284,869],{"class":798},[786,1286,1287,1289,1291],{"class":788,"line":828},[786,1288,875],{"class":802},[786,1290,878],{"class":798},[786,1292,881],{"class":798},[786,1294,1295,1298,1300,1302,1305,1307],{"class":788,"line":854},[786,1296,1297],{"class":802},"    en",[786,1299,878],{"class":798},[786,1301,892],{"class":798},[786,1303,1304],{"class":819},"\u002Four-products\u002F[...slug]",[786,1306,898],{"class":798},[786,1308,901],{"class":798},[786,1310,1311,1313,1315,1317,1320,1322],{"class":788,"line":861},[786,1312,887],{"class":802},[786,1314,878],{"class":798},[786,1316,892],{"class":798},[786,1318,1319],{"class":819},"\u002Funsere-produkte\u002F[...slug]",[786,1321,898],{"class":798},[786,1323,901],{"class":798},[786,1325,1326],{"class":788,"line":872},[786,1327,923],{"class":798},[786,1329,1330,1332],{"class":788,"line":884},[786,1331,841],{"class":798},[786,1333,930],{"class":837},[748,1335,1336,1337,1339,1340,1343],{},"Nested pages take an absolute child path (",[752,1338,1193],{},") or a path relative to the parent's localized path (",[752,1341,1342],{},"team",").",[773,1345,1347],{"id":1346},"linking-to-localized-pages","Linking to localized pages",[748,1349,1350],{},"Links resolve to the localized path of the target locale, whether you pass a route name or a plain path:",[778,1352,1354],{"className":780,"code":1353,"language":274,"meta":782,"style":782},"\u003Ctemplate>\n  \u003Ci18n-link :to=\"{ name: 'about' }\">About\u003C\u002Fi18n-link>\n  \u003Ci18n-link to=\"\u002Fabout\">About\u003C\u002Fi18n-link>\n  \u003C!-- de: both render \u002Fde\u002Fueber-uns -->\n  \u003CNuxtLink :to=\"$localePath('\u002Fabout', 'de')\">Deutsch\u003C\u002FNuxtLink>\n\u003C\u002Ftemplate>\n",[752,1355,1356,1365,1396,1423,1428,1480],{"__ignoreMap":782},[786,1357,1358,1360,1363],{"class":788,"line":353},[786,1359,799],{"class":798},[786,1361,1362],{"class":802},"template",[786,1364,825],{"class":798},[786,1366,1367,1370,1372,1375,1377,1379,1382,1384,1387,1390,1392,1394],{"class":788,"line":795},[786,1368,1369],{"class":798},"  \u003C",[786,1371,710],{"class":802},[786,1373,1374],{"class":806}," :to",[786,1376,813],{"class":798},[786,1378,816],{"class":798},[786,1380,1381],{"class":819},"{ name: 'about' }",[786,1383,816],{"class":798},[786,1385,1386],{"class":798},">",[786,1388,1389],{"class":837},"About",[786,1391,936],{"class":798},[786,1393,710],{"class":802},[786,1395,825],{"class":798},[786,1397,1398,1400,1402,1405,1407,1409,1411,1413,1415,1417,1419,1421],{"class":788,"line":828},[786,1399,1369],{"class":798},[786,1401,710],{"class":802},[786,1403,1404],{"class":806}," to",[786,1406,813],{"class":798},[786,1408,816],{"class":798},[786,1410,954],{"class":819},[786,1412,816],{"class":798},[786,1414,1386],{"class":798},[786,1416,1389],{"class":837},[786,1418,936],{"class":798},[786,1420,710],{"class":802},[786,1422,825],{"class":798},[786,1424,1425],{"class":788,"line":854},[786,1426,1427],{"class":791},"  \u003C!-- de: both render \u002Fde\u002Fueber-uns -->\n",[786,1429,1430,1432,1435,1438,1441,1443,1445,1448,1450,1452,1454,1456,1458,1460,1462,1464,1467,1469,1471,1474,1476,1478],{"class":788,"line":861},[786,1431,1369],{"class":798},[786,1433,1434],{"class":802},"NuxtLink",[786,1436,1437],{"class":798}," :",[786,1439,1440],{"class":806},"to",[786,1442,813],{"class":798},[786,1444,816],{"class":798},[786,1446,1447],{"class":847},"$localePath",[786,1449,866],{"class":798},[786,1451,898],{"class":798},[786,1453,954],{"class":819},[786,1455,898],{"class":798},[786,1457,755],{"class":798},[786,1459,898],{"class":798},[786,1461,1096],{"class":819},[786,1463,898],{"class":798},[786,1465,1466],{"class":798},")",[786,1468,816],{"class":798},[786,1470,1386],{"class":798},[786,1472,1473],{"class":837},"Deutsch",[786,1475,936],{"class":798},[786,1477,1434],{"class":802},[786,1479,825],{"class":798},[786,1481,1482,1484,1486],{"class":788,"line":872},[786,1483,936],{"class":798},[786,1485,1362],{"class":802},[786,1487,825],{"class":798},[748,1489,1490,1491,1494,1495,1498,1499,771],{},"Route names come from the file path (",[752,1492,1493],{},"pages\u002Fabout\u002Fteam.vue"," is ",[752,1496,1497],{},"about-team",") unless you set one with ",[752,1500,1501],{},"definePageMeta({ name })",[773,1503,1505],{"id":1504},"per-locale-slugs","Per-locale slugs",[748,1507,1508,1509,1512,1513,1516,1517,1520],{},"When the slug itself differs per locale (",[752,1510,1511],{},"\u002Four-products\u002Fred-shoe"," vs ",[752,1514,1515],{},"\u002Fde\u002Funsere-produkte\u002Froter-schuh","), tell the language switcher which params to use with ",[752,1518,1519],{},"$setI18nRouteParams"," once the data is loaded:",[778,1522,1524],{"className":780,"code":1523,"language":274,"meta":782,"style":782},"\u003Cscript setup lang=\"ts\">\nconst { $setI18nRouteParams } = useNuxtApp()\nconst route = useRoute()\n\nconst { data: product } = await useFetch(`\u002Fapi\u002Fproducts\u002F${route.params.slug}`)\n\nif (product.value) {\n  $setI18nRouteParams({\n    en: { slug: product.value.slugEn },\n    de: { slug: product.value.slugDe },\n  })\n}\n\u003C\u002Fscript>\n",[752,1525,1526,1546,1563,1577,1581,1634,1638,1653,1662,1690,1715,1722,1727],{"__ignoreMap":782},[786,1527,1528,1530,1532,1534,1536,1538,1540,1542,1544],{"class":788,"line":353},[786,1529,799],{"class":798},[786,1531,803],{"class":802},[786,1533,807],{"class":806},[786,1535,810],{"class":806},[786,1537,813],{"class":798},[786,1539,816],{"class":798},[786,1541,820],{"class":819},[786,1543,816],{"class":798},[786,1545,825],{"class":798},[786,1547,1548,1550,1552,1555,1557,1559,1561],{"class":788,"line":795},[786,1549,831],{"class":806},[786,1551,834],{"class":798},[786,1553,1554],{"class":837}," $setI18nRouteParams ",[786,1556,841],{"class":798},[786,1558,844],{"class":798},[786,1560,848],{"class":847},[786,1562,851],{"class":837},[786,1564,1565,1567,1570,1572,1575],{"class":788,"line":828},[786,1566,831],{"class":806},[786,1568,1569],{"class":837}," route ",[786,1571,813],{"class":798},[786,1573,1574],{"class":847}," useRoute",[786,1576,851],{"class":837},[786,1578,1579],{"class":788,"line":854},[786,1580,858],{"emptyLinePlaceholder":857},[786,1582,1583,1585,1587,1590,1592,1595,1597,1599,1602,1605,1607,1610,1613,1616,1619,1621,1624,1626,1629,1632],{"class":788,"line":861},[786,1584,831],{"class":806},[786,1586,834],{"class":798},[786,1588,1589],{"class":802}," data",[786,1591,878],{"class":798},[786,1593,1594],{"class":837}," product ",[786,1596,841],{"class":798},[786,1598,844],{"class":798},[786,1600,1601],{"class":996}," await",[786,1603,1604],{"class":847}," useFetch",[786,1606,866],{"class":837},[786,1608,1609],{"class":798},"`",[786,1611,1612],{"class":819},"\u002Fapi\u002Fproducts\u002F",[786,1614,1615],{"class":798},"${",[786,1617,1618],{"class":837},"route",[786,1620,771],{"class":798},[786,1622,1623],{"class":837},"params",[786,1625,771],{"class":798},[786,1627,1628],{"class":837},"slug",[786,1630,1631],{"class":798},"}`",[786,1633,930],{"class":837},[786,1635,1636],{"class":788,"line":872},[786,1637,858],{"emptyLinePlaceholder":857},[786,1639,1640,1643,1646,1648,1651],{"class":788,"line":884},[786,1641,1642],{"class":996},"if",[786,1644,1645],{"class":837}," (product",[786,1647,771],{"class":798},[786,1649,1650],{"class":837},"value) ",[786,1652,869],{"class":798},[786,1654,1655,1658,1660],{"class":788,"line":904},[786,1656,1657],{"class":847},"  $setI18nRouteParams",[786,1659,866],{"class":802},[786,1661,869],{"class":798},[786,1663,1664,1666,1668,1670,1673,1675,1678,1680,1683,1685,1688],{"class":788,"line":358},[786,1665,1297],{"class":802},[786,1667,878],{"class":798},[786,1669,834],{"class":798},[786,1671,1672],{"class":802}," slug",[786,1674,878],{"class":798},[786,1676,1677],{"class":837}," product",[786,1679,771],{"class":798},[786,1681,1682],{"class":837},"value",[786,1684,771],{"class":798},[786,1686,1687],{"class":837},"slugEn",[786,1689,1083],{"class":798},[786,1691,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1713],{"class":788,"line":6},[786,1693,887],{"class":802},[786,1695,878],{"class":798},[786,1697,834],{"class":798},[786,1699,1672],{"class":802},[786,1701,878],{"class":798},[786,1703,1677],{"class":837},[786,1705,771],{"class":798},[786,1707,1682],{"class":837},[786,1709,771],{"class":798},[786,1711,1712],{"class":837},"slugDe",[786,1714,1083],{"class":798},[786,1716,1717,1720],{"class":788,"line":933},[786,1718,1719],{"class":798},"  }",[786,1721,930],{"class":802},[786,1723,1724],{"class":788,"line":1173},[786,1725,1726],{"class":798},"}\n",[786,1728,1729,1731,1733],{"class":788,"line":1200},[786,1730,936],{"class":798},[786,1732,803],{"class":802},[786,1734,825],{"class":798},[748,1736,1737,947,1740,1742,1743,1745],{},[752,1738,1739],{},"$switchLocalePath('de')",[752,1741,312],{}," then link to ",[752,1744,1515],{},". Keys are locale codes, values are params by name (as in the page file).",[748,1747,1748,1749,1751,1752,1755,1756,1759,1760,1763],{},"A switcher in the layout renders before the page's async setup gets here, so when the render ends the module rewrites the links of ",[752,1750,312],{},", in ",[752,1753,1754],{},"app.vue"," and in the page alike. The server HTML, a visitor without JavaScript and the first client render then agree. Set the params during SSR for this: with ",[752,1757,1758],{},"lazy"," or ",[752,1761,1762],{},"server: false"," the links change only after hydration. Nuxt's SSR streaming sends the HTML before the params are known, so under it the links in the first HTML keep the URL's own params.",[748,1765,1766,1767,1770,1771,1774,1775,1777,1778,1781],{},"Only the switcher's own links are rewritten. A hand-written ",[752,1768,1769],{},"$switchLocalePath"," link must render after the params are set, so put it in the page that sets them, also after an ",[752,1772,1773],{},"await",". In a layout it renders first: its server HTML keeps the URL's params, and hydration warns about a mismatch. Use ",[752,1776,312],{}," there, with its slots and ",[752,1779,1780],{},"custom*Style"," props for the look.",[748,1783,1784],{},"The params belong to the page that set them:",[1786,1787,1788,1792,1813],"ul",{},[1789,1790,1791],"li",{},"They are dropped when a navigation to another path commits, so each page sets its own. A cancelled navigation leaves them in place.",[1789,1793,1794,1795,1797,1798,1759,1801,1804,1805,1808,1809,1812],{},"Take ",[752,1796,1519],{}," from ",[752,1799,1800],{},"useNuxtApp()",[752,1802,1803],{},"useI18n()"," in ",[752,1806,1807],{},"setup",", also when you call it later in a ",[752,1810,1811],{},"useAsyncData"," handler. Taken there, the function knows its page: if the visitor has left, a late call does nothing.",[1789,1814,943,1815,1818,1819,1821],{},[752,1816,1817],{},"keepalive",", a page gets the params it set back when the visitor returns. ",[752,1820,291],{}," does the same.",[773,1823,1825],{"id":1824},"routes-added-in-pagesextend","Routes added in pages:extend",[748,1827,1828,1829,1832,1833,1835,1836,1839,1840,1843,1844,1847,1848,1850,1851,1853,1854,1797,1857,1860],{},"Routes you push in the ",[752,1830,1831],{},"pages:extend"," hook have no page file to read ",[752,1834,766],{}," from, and several of them often share one wrapper component. A route pushed without a ",[752,1837,1838],{},"name"," gets the name Nuxt would give its path (",[752,1841,1842],{},"\u002Fa\u002F:id()"," becomes ",[752,1845,1846],{},"a-id","), so language links reach it, unless another route already has that name; then give it an explicit ",[752,1849,1838],{},". Keep one list and split it into pages and ",[752,1852,979],{}," keyed by route name with ",[752,1855,1856],{},"splitLocaleRoutes",[752,1858,1859],{},"@i18n-micro\u002Futils\u002Fsplit-locale-routes"," (add the package to your dependencies):",[778,1862,1864],{"className":983,"code":1863,"language":820,"meta":782,"style":782},"\u002F\u002F nuxt.config.ts\nimport { splitLocaleRoutes } from '@i18n-micro\u002Futils\u002Fsplit-locale-routes'\n\nconst dynamic = splitLocaleRoutes([\n  { name: 'products-tag', path: '\u002Fproducts\u002F:tag', file: '~\u002Fpages\u002F_dynamic.vue', paths: { de: '\u002Fprodukte\u002F:tag' } },\n  { name: 'internal', path: '\u002Finternal', file: '~\u002Fpages\u002F_dynamic.vue', paths: false }, \u002F\u002F not localized\n])\n\nexport default defineNuxtConfig({\n  modules: ['nuxt-i18n-micro'],\n  hooks: {\n    'pages:extend'(pages) {\n      pages.push(...dynamic.pages)\n    },\n  },\n  i18n: {\n    globalLocaleRoutes: dynamic.globalLocaleRoutes,\n  },\n})\n",[752,1865,1866,1870,1893,1897,1911,1980,2034,2039,2043,2055,2073,2082,2101,2125,2129,2133,2141,2157,2162],{"__ignoreMap":782},[786,1867,1868],{"class":788,"line":353},[786,1869,991],{"class":791},[786,1871,1872,1875,1877,1880,1883,1886,1888,1890],{"class":788,"line":795},[786,1873,1874],{"class":996},"import",[786,1876,834],{"class":798},[786,1878,1879],{"class":837}," splitLocaleRoutes",[786,1881,1882],{"class":798}," }",[786,1884,1885],{"class":996}," from",[786,1887,892],{"class":798},[786,1889,1859],{"class":819},[786,1891,1892],{"class":798},"'\n",[786,1894,1895],{"class":788,"line":828},[786,1896,858],{"emptyLinePlaceholder":857},[786,1898,1899,1901,1904,1906,1908],{"class":788,"line":854},[786,1900,831],{"class":806},[786,1902,1903],{"class":837}," dynamic ",[786,1905,813],{"class":798},[786,1907,1879],{"class":847},[786,1909,1910],{"class":837},"([\n",[786,1912,1913,1916,1919,1921,1923,1926,1928,1930,1933,1935,1937,1940,1942,1944,1947,1949,1951,1954,1956,1958,1961,1963,1965,1967,1969,1971,1974,1976,1978],{"class":788,"line":861},[786,1914,1915],{"class":798},"  {",[786,1917,1918],{"class":802}," name",[786,1920,878],{"class":798},[786,1922,892],{"class":798},[786,1924,1925],{"class":819},"products-tag",[786,1927,898],{"class":798},[786,1929,1068],{"class":798},[786,1931,1932],{"class":802}," path",[786,1934,878],{"class":798},[786,1936,892],{"class":798},[786,1938,1939],{"class":819},"\u002Fproducts\u002F:tag",[786,1941,898],{"class":798},[786,1943,1068],{"class":798},[786,1945,1946],{"class":802}," file",[786,1948,878],{"class":798},[786,1950,892],{"class":798},[786,1952,1953],{"class":819},"~\u002Fpages\u002F_dynamic.vue",[786,1955,898],{"class":798},[786,1957,1068],{"class":798},[786,1959,1960],{"class":802}," paths",[786,1962,878],{"class":798},[786,1964,834],{"class":798},[786,1966,1160],{"class":802},[786,1968,878],{"class":798},[786,1970,892],{"class":798},[786,1972,1973],{"class":819},"\u002Fprodukte\u002F:tag",[786,1975,898],{"class":798},[786,1977,1882],{"class":798},[786,1979,1083],{"class":798},[786,1981,1982,1984,1986,1988,1990,1993,1995,1997,1999,2001,2003,2006,2008,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028,2031],{"class":788,"line":872},[786,1983,1915],{"class":798},[786,1985,1918],{"class":802},[786,1987,878],{"class":798},[786,1989,892],{"class":798},[786,1991,1992],{"class":819},"internal",[786,1994,898],{"class":798},[786,1996,1068],{"class":798},[786,1998,1932],{"class":802},[786,2000,878],{"class":798},[786,2002,892],{"class":798},[786,2004,2005],{"class":819},"\u002Finternal",[786,2007,898],{"class":798},[786,2009,1068],{"class":798},[786,2011,1946],{"class":802},[786,2013,878],{"class":798},[786,2015,892],{"class":798},[786,2017,1953],{"class":819},[786,2019,898],{"class":798},[786,2021,1068],{"class":798},[786,2023,1960],{"class":802},[786,2025,878],{"class":798},[786,2027,1213],{"class":1212},[786,2029,2030],{"class":798}," },",[786,2032,2033],{"class":791}," \u002F\u002F not localized\n",[786,2035,2036],{"class":788,"line":884},[786,2037,2038],{"class":837},"])\n",[786,2040,2041],{"class":788,"line":904},[786,2042,858],{"emptyLinePlaceholder":857},[786,2044,2045,2047,2049,2051,2053],{"class":788,"line":358},[786,2046,997],{"class":996},[786,2048,1000],{"class":996},[786,2050,1003],{"class":847},[786,2052,866],{"class":837},[786,2054,869],{"class":798},[786,2056,2057,2059,2061,2063,2065,2067,2069,2071],{"class":788,"line":6},[786,2058,1012],{"class":802},[786,2060,878],{"class":798},[786,2062,1017],{"class":837},[786,2064,898],{"class":798},[786,2066,1022],{"class":819},[786,2068,898],{"class":798},[786,2070,1027],{"class":837},[786,2072,901],{"class":798},[786,2074,2075,2078,2080],{"class":788,"line":933},[786,2076,2077],{"class":802},"  hooks",[786,2079,878],{"class":798},[786,2081,881],{"class":798},[786,2083,2084,2087,2089,2091,2093,2097,2099],{"class":788,"line":1173},[786,2085,2086],{"class":798},"    '",[786,2088,1831],{"class":819},[786,2090,898],{"class":798},[786,2092,866],{"class":798},[786,2094,2096],{"class":2095},"sHdIc","pages",[786,2098,1466],{"class":798},[786,2100,881],{"class":798},[786,2102,2103,2106,2108,2111,2113,2116,2119,2121,2123],{"class":788,"line":1200},[786,2104,2105],{"class":837},"      pages",[786,2107,771],{"class":798},[786,2109,2110],{"class":847},"push",[786,2112,866],{"class":802},[786,2114,2115],{"class":798},"...",[786,2117,2118],{"class":837},"dynamic",[786,2120,771],{"class":798},[786,2122,2096],{"class":837},[786,2124,930],{"class":802},[786,2126,2127],{"class":788,"line":1221},[786,2128,1224],{"class":798},[786,2130,2131],{"class":788,"line":1227},[786,2132,923],{"class":798},[786,2134,2135,2137,2139],{"class":788,"line":1232},[786,2136,1034],{"class":802},[786,2138,878],{"class":798},[786,2140,881],{"class":798},[786,2142,2144,2146,2148,2151,2153,2155],{"class":788,"line":2143},17,[786,2145,1140],{"class":802},[786,2147,878],{"class":798},[786,2149,2150],{"class":837}," dynamic",[786,2152,771],{"class":798},[786,2154,979],{"class":837},[786,2156,901],{"class":798},[786,2158,2160],{"class":788,"line":2159},18,[786,2161,923],{"class":798},[786,2163,2165,2167],{"class":788,"line":2164},19,[786,2166,841],{"class":798},[786,2168,930],{"class":837},[748,2170,2171,2172,2175],{},"Do not put localized paths in ",[752,2173,2174],{},"route.meta",": they would ship in the client route table.",[773,2177,2179],{"id":2178},"related","Related",[2181,2182,2183,2187,2189,2193],"card-group",{},[2184,2185],"card",{"icon":2186,"title":36,"to":37},"i-lucide-book-open",[2184,2188],{"icon":2186,"title":51,"to":52},[2184,2190],{"icon":2191,"title":2192,"to":198},"i-lucide-braces","$localePath and $switchLocalePath",[2184,2194],{"icon":2186,"title":77,"to":78},[2196,2197,2198],"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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":782,"searchDepth":795,"depth":795,"links":2200},[2201,2202,2203,2204,2205,2206,2207],{"id":775,"depth":795,"text":776},{"id":970,"depth":795,"text":971},{"id":1248,"depth":795,"text":1249},{"id":1346,"depth":795,"text":1347},{"id":1504,"depth":795,"text":1505},{"id":1824,"depth":795,"text":1825},{"id":2178,"depth":795,"text":2179},"Give a page a different URL per locale with localeRoutes or globalLocaleRoutes, including dynamic params and per-locale slugs.","md","2026-11-04T00:40:16+04:00",null,{"outline":2213},[795,828],{"order":65,"group":55},{"title":62,"description":2208},"qWkFbgyKxuu7CjRld3kt9_Wj4x83JdTGdkxDBL9Np0w",[2218,2220],{"title":57,"path":58,"description":2219},"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.",{"title":67,"path":68,"description":2221},"Pick the locale yourself — by domain, header or user profile — with a server plugin and useI18nLocale().setLocale().",1794131153501]