[{"data":1,"prerenderedAt":1621},["ShallowReactive",2],{"navigation":3,"v3-navigation":411,"\u002Fnews\u002Fv3.0.0":738,"\u002Fnews\u002Fv3.0.0-surround":1616},[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":384,"body":740,"description":1608,"extension":1609,"lastUpdated":1610,"links":1611,"meta":1612,"navigation":1613,"path":385,"seo":1614,"stem":386,"__hash__":1615},"docs\u002Fnews\u002Fv3.0.0.md",{"type":741,"value":742,"toc":1595},"minimark",[743,748,756,765,772,782,787,792,795,886,891,908,912,1012,1016,1115,1119,1183,1187,1220,1224,1240,1244,1271,1426,1430,1525,1529,1580,1588,1591],[744,745,747],"h1",{"id":746},"nuxt-i18n-micro-v300-performance-optimization-route-path-strategy-packages","Nuxt I18n Micro v3.0.0 — Performance Optimization, Route & Path Strategy Packages",[749,750,751,755],"p",{},[752,753,754],"strong",{},"Date",": 2026-02-04",[749,757,758,761,762],{},[752,759,760],{},"Version",": ",[763,764,384],"code",{},[749,766,767],{},[768,769],"img",{"alt":770,"src":771},"v3.0.0 release","\u002F3.0.0.png",[749,773,774,775,777,778,781],{},"We're announcing ",[752,776,384],{}," with a ",[752,779,780],{},"major architectural overhaul",": complete rewrite of the translation storage system for maximum performance, route generation and runtime path logic are now split into dedicated packages, and the redirect flow has been redesigned for better reliability and Serverless compatibility.",[783,784,786],"h2",{"id":785},"whats-new","What's New?",[788,789,791],"h3",{"id":790},"performance-optimization-new-translation-storage-architecture","Performance Optimization — New Translation Storage Architecture",[749,793,794],{},"The translation loading and caching system has been completely rewritten for maximum performance:",[796,797,798,821,850,862,872],"ul",{},[799,800,801,804,805,808,809,812,813,816,817,820],"li",{},[752,802,803],{},"Centralized TranslationStorage class"," — A new ",[763,806,807],{},"TranslationStorage"," class (",[763,810,811],{},"src\u002Fruntime\u002Futils\u002Fstorage.ts",") provides a unified storage for both client and server. Uses ",[763,814,815],{},"globalThis"," with ",[763,818,819],{},"Symbol.for"," to guarantee a true singleton across the entire Node.js process, preventing cache duplication across bundled modules.",[799,822,823,830,831],{},[752,824,825,826,829],{},"Optimized ",[763,827,828],{},"$t()"," function (tFast)"," — The translation function uses a direct lookup against a single active dictionary:",[832,833,834,837,840,847],"ol",{},[799,835,836],{},"All translations (root + page-specific + fallback) are pre-merged at build time into a single file per page",[799,838,839],{},"On same-locale navigation, new page translations are cumulatively merged into the active dictionary (prevents key flickering during transition animations)",[799,841,842,843,846],{},"Supports nested keys (",[763,844,845],{},"key.subkey.subsubkey",") with optimized path resolution",[799,848,849],{},"No Map lookups or locale\u002Froute calculations on each call — uses pre-computed context",[799,851,852,858,859,861],{},[752,853,854,855],{},"Server-side injection via ",[763,856,857],{},"window.__I18N__"," — Translations loaded during SSR are injected into the HTML as a script tag. The client reads directly from ",[763,860,857],{}," on initial load, avoiding duplicate fetches.",[799,863,864,867,868,871],{},[752,865,866],{},"Local chunk cache in plugin"," — The plugin maintains a local ",[763,869,870],{},"loadedChunks"," Map that stores all loaded translation chunks. Once loaded, translations are never re-fetched during the page lifecycle.",[799,873,874,877,878,881,882,885],{},[752,875,876],{},"Build-time pre-merge"," — A ",[763,879,880],{},"preMergeLocales"," step in ",[763,883,884],{},"module.ts"," merges all layers, fallback locale chains, and root-level translations into every page file at build time. The server-loader simply reads a single pre-built file — no runtime merging needed.",[749,887,888],{},[752,889,890],{},"Performance improvements:",[796,892,893,899,902,905],{},[799,894,895,896,898],{},"Reduced memory allocation per request (no object re-creation on each ",[763,897,828],{}," call)",[799,900,901],{},"Lower garbage collection pressure",[799,903,904],{},"Faster response times under load",[799,906,907],{},"Stable memory usage pattern (no \"jumping\" graphs)",[788,909,911],{"id":910},"route-path-strategy-packages","Route & Path Strategy Packages",[796,913,914,941,957,995],{},[799,915,916,918,919,922,923,926,927,930,931,930,934,930,937,940],{},[752,917,661],{}," — Build-time route generation: extends Nuxt pages with localized routes, handles aliases, nested routes, and custom paths per strategy. Single entry point: ",[763,920,921],{},"new RouteGenerator(options)"," and ",[763,924,925],{},"extendPages(pages)",". Strategies (",[763,928,929],{},"no_prefix",", ",[763,932,933],{},"prefix",[763,935,936],{},"prefix_except_default",[763,938,939],{},"prefix_and_default",") are implemented as separate classes and selected via a factory.",[799,942,943,945,946,949,950,930,953,956],{},[752,944,649],{}," — Runtime path and locale handling: provides ",[763,947,948],{},"PathStrategy"," for building localized paths, resolving redirects, and locale switching. Tree-shakeable subpath exports (",[763,951,952],{},"\u002Fprefix",[763,954,955],{},"\u002Fno-prefix",", etc.) so only the selected strategy is bundled. Uses pure functions for route resolution and pre-computed context flags for minimal allocations.",[799,958,959,962,963,816,965,930,968,971,972,974,975,978,979,930,982,930,985,930,988,991,992,994],{},[752,960,961],{},"Structured package layout"," — Route logic in ",[763,964,661],{},[763,966,967],{},"core\u002F",[763,969,970],{},"strategies\u002F",". Path strategy in ",[763,973,649],{}," with a flat ",[763,976,977],{},"src\u002F"," structure: ",[763,980,981],{},"types.ts",[763,983,984],{},"path.ts",[763,986,987],{},"resolver.ts",[763,989,990],{},"helpers.ts",", and ",[763,993,970],{},".",[799,996,997,1000,1001,1004,1005,1004,1008,1011],{},[752,998,999],{},"Consistent behavior"," — Alias handling, parent–child path joining, custom ",[763,1002,1003],{},"globalLocaleRoutes"," \u002F ",[763,1006,1007],{},"filesLocaleRoutes",[763,1009,1010],{},"routeLocales",", and immutability guarantees are covered by a dedicated test suite.",[788,1013,1015],{"id":1014},"redirect-architecture-overhaul","Redirect Architecture Overhaul",[796,1017,1018,1036,1050,1064,1077,1106],{},[799,1019,1020,1023,1024,1027,1028,1031,1032,1035],{},[752,1021,1022],{},"Server middleware"," — Redirects and 404 handling run in Nitro middleware (",[763,1025,1026],{},"i18n.global.ts","). This executes before Nuxt render, so redirects from ",[763,1029,1030],{},"\u002F"," to ",[763,1033,1034],{},"\u002F\u003Clocale>\u002F"," happen without an error flash when a locale cookie is present.",[799,1037,1038,1041,1042,1045,1046,1049],{},[752,1039,1040],{},"Client plugin (client-side)"," — A client-only plugin (",[763,1043,1044],{},"06.client-redirect.client.ts",") runs after hydration and handles redirects when ",[763,1047,1048],{},"useI18nLocale()"," or cookie sets a non-default locale. Nitro runs before Nuxt, so the server cannot see cookie\u002Fstate changes from user plugins; the client plugin covers this case.",[799,1051,1052,1055,1056,1059,1060,1063],{},[752,1053,1054],{},"No fallback component"," — The ",[763,1057,1058],{},"locale-redirect.vue"," fallback component and ",[763,1061,1062],{},"fallbackRedirectComponentPath"," option have been removed. Redirect logic is fully handled by the server middleware and client plugin.",[799,1065,1066,1069,1070,1073,1074,1076],{},[752,1067,1068],{},"Custom path support"," — Paths like ",[763,1071,1072],{},"\u002Fkontakt"," for German (via ",[763,1075,1003],{},") are correctly recognized as valid without a locale prefix, avoiding incorrect 404s during prerender.",[799,1078,1079,1082,1083,1086,1087,1090,1091,922,1094,1097,1098,1101,1102,1105],{},[752,1080,1081],{},"customRegexMatcher fix"," — When using ",[763,1084,1085],{},"customRegexMatcher",", the pattern now matches the ",[752,1088,1089],{},"entire"," first path segment (with ",[763,1092,1093],{},"^",[763,1095,1096],{},"$"," anchors). This prevents false 404s for routes like ",[763,1099,1100],{},"\u002Flocale-test"," when the pattern ",[763,1103,1104],{},"[a-z]{2}-[a-z]{2}"," would previously match substrings.",[799,1107,1108,1055,1111,1114],{},[752,1109,1110],{},"autoDetectPath fix",[763,1112,1113],{},"autoDetectPath"," option now correctly compares against the original URL path, preventing unwanted redirects when explicitly navigating to locale-prefixed URLs.",[788,1116,1118],{"id":1117},"usei18nlocale-composable","useI18nLocale Composable",[796,1120,1121,1134,1169],{},[799,1122,1123,1126,1127,1129,1130,1133],{},[752,1124,1125],{},"Centralized locale management"," — New ",[763,1128,1048],{}," composable replaces ",[763,1131,1132],{},"useLocaleCookies"," and provides a single entry point for locale state, cookies, and sync utilities.",[799,1135,1136,1138,1139,930,1142,930,1145,930,1148,930,1151,930,1154,930,1157,930,1160,930,1163,930,1166,994],{},[752,1137,181],{}," — ",[763,1140,1141],{},"locale",[763,1143,1144],{},"localeCookie",[763,1146,1147],{},"hashCookie",[763,1149,1150],{},"getLocale()",[763,1152,1153],{},"getPreferredLocale()",[763,1155,1156],{},"setLocale()",[763,1158,1159],{},"syncLocale()",[763,1161,1162],{},"isValidLocale()",[763,1164,1165],{},"getEffectiveLocale()",[763,1167,1168],{},"resolveInitialLocale()",[799,1170,1171,1174,1175,1178,1179,1182],{},[752,1172,1173],{},"Programmatic locale"," — Use ",[763,1176,1177],{},"useI18nLocale().setLocale(locale)"," in server plugins instead of ",[763,1180,1181],{},"useState('i18n-locale')"," for cleaner, centralized locale handling.",[788,1184,1186],{"id":1185},"custom-auto-detection-configuration","Custom Auto-Detection & Configuration",[796,1188,1189,1211],{},[799,1190,1191,1196,1197,1199,1200,1203,1204,1207,1208,1210],{},[752,1192,1193],{},[763,1194,1195],{},"getI18nConfig()"," — Custom plugins (e.g. for locale detection) should use ",[763,1198,1195],{}," from ",[763,1201,1202],{},"#build\u002Fi18n.strategy.mjs"," instead of ",[763,1205,1206],{},"useRuntimeConfig().public.i18nConfig",". This provides direct access to the resolved i18n config (e.g. ",[763,1209,1144],{},") without relying on runtime config.",[799,1212,1213,1174,1216,1219],{},[752,1214,1215],{},"Cookie name",[763,1217,1218],{},"getI18nConfig().localeCookie ?? 'user-locale'"," when implementing custom detection logic.",[788,1221,1223],{"id":1222},"simplified-integration-packages","Simplified Integration Packages",[749,1225,1226,1227,930,1229,930,1231,930,1233,930,1235,930,1237,1239],{},"All integration packages (",[763,1228,693],{},[763,1230,629],{},[763,1232,645],{},[763,1234,657],{},[763,1236,653],{},[763,1238,669],{},") have been simplified and optimized, sharing the same core translation logic.",[788,1241,1243],{"id":1242},"configuration-changes","Configuration Changes",[796,1245,1246,1259],{},[799,1247,1248,1254,1255,1258],{},[752,1249,1250,1253],{},[763,1251,1252],{},"previousPageFallback"," removed"," — This option is no longer needed. The new cumulative merge strategy automatically keeps previous page translations available during transition animations, then cleans them up via the ",[763,1256,1257],{},"page:transition:finish"," hook.",[799,1260,1261,1266,1267,1270],{},[752,1262,1263],{},[763,1264,1265],{},"hmr"," — Moved from ",[763,1268,1269],{},"experimental.hmr"," to a top-level option. Controls server-side HMR for translation files (enabled by default in development).",[1272,1273,1278],"pre",{"className":1274,"code":1275,"language":1276,"meta":1277,"style":1277},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Before (v2.x)\nexport default defineNuxtConfig({\n  i18n: {\n    experimental: {\n      hmr: true,\n    },\n  },\n})\n\n\u002F\u002F After (v3.0.0)\nexport default defineNuxtConfig({\n  i18n: {\n    hmr: true,\n  },\n})\n","typescript","",[763,1279,1280,1288,1310,1323,1333,1348,1354,1360,1369,1375,1380,1393,1402,1414,1419],{"__ignoreMap":1277},[1281,1282,1284],"span",{"class":1283,"line":353},"line",[1281,1285,1287],{"class":1286},"sHwdD","\u002F\u002F Before (v2.x)\n",[1281,1289,1291,1295,1298,1302,1306],{"class":1283,"line":1290},2,[1281,1292,1294],{"class":1293},"s7zQu","export",[1281,1296,1297],{"class":1293}," default",[1281,1299,1301],{"class":1300},"s2Zo4"," defineNuxtConfig",[1281,1303,1305],{"class":1304},"sTEyZ","(",[1281,1307,1309],{"class":1308},"sMK4o","{\n",[1281,1311,1313,1317,1320],{"class":1283,"line":1312},3,[1281,1314,1316],{"class":1315},"swJcz","  i18n",[1281,1318,1319],{"class":1308},":",[1281,1321,1322],{"class":1308}," {\n",[1281,1324,1326,1329,1331],{"class":1283,"line":1325},4,[1281,1327,1328],{"class":1315},"    experimental",[1281,1330,1319],{"class":1308},[1281,1332,1322],{"class":1308},[1281,1334,1336,1339,1341,1345],{"class":1283,"line":1335},5,[1281,1337,1338],{"class":1315},"      hmr",[1281,1340,1319],{"class":1308},[1281,1342,1344],{"class":1343},"sfNiH"," true",[1281,1346,1347],{"class":1308},",\n",[1281,1349,1351],{"class":1283,"line":1350},6,[1281,1352,1353],{"class":1308},"    },\n",[1281,1355,1357],{"class":1283,"line":1356},7,[1281,1358,1359],{"class":1308},"  },\n",[1281,1361,1363,1366],{"class":1283,"line":1362},8,[1281,1364,1365],{"class":1308},"}",[1281,1367,1368],{"class":1304},")\n",[1281,1370,1371],{"class":1283,"line":358},[1281,1372,1374],{"emptyLinePlaceholder":1373},true,"\n",[1281,1376,1377],{"class":1283,"line":6},[1281,1378,1379],{"class":1286},"\u002F\u002F After (v3.0.0)\n",[1281,1381,1383,1385,1387,1389,1391],{"class":1283,"line":1382},11,[1281,1384,1294],{"class":1293},[1281,1386,1297],{"class":1293},[1281,1388,1301],{"class":1300},[1281,1390,1305],{"class":1304},[1281,1392,1309],{"class":1308},[1281,1394,1396,1398,1400],{"class":1283,"line":1395},12,[1281,1397,1316],{"class":1315},[1281,1399,1319],{"class":1308},[1281,1401,1322],{"class":1308},[1281,1403,1405,1408,1410,1412],{"class":1283,"line":1404},13,[1281,1406,1407],{"class":1315},"    hmr",[1281,1409,1319],{"class":1308},[1281,1411,1344],{"class":1343},[1281,1413,1347],{"class":1308},[1281,1415,1417],{"class":1283,"line":1416},14,[1281,1418,1359],{"class":1308},[1281,1420,1422,1424],{"class":1283,"line":1421},15,[1281,1423,1365],{"class":1308},[1281,1425,1368],{"class":1304},[783,1427,1429],{"id":1428},"breaking-changes","Breaking Changes",[796,1431,1432,1439,1460,1470,1480,1506],{},[799,1433,1434,1438],{},[752,1435,1436],{},[763,1437,1062],{}," — Removed. The module no longer uses a fallback route component for redirects. If you had a custom component path configured, remove it from your config.",[799,1440,1441,1445,1446,1448,1449,930,1451,930,1453,930,1455,930,1457,1459],{},[752,1442,1443],{},[763,1444,1132],{}," — Removed. Use ",[763,1447,1048],{}," instead. The new composable provides ",[763,1450,1141],{},[763,1452,1144],{},[763,1454,1147],{},[763,1456,1156],{},[763,1458,1159],{},", and more.",[799,1461,1462,1469],{},[752,1463,1464,1004,1467],{},[763,1465,1466],{},"experimental.i18nPreviousPageFallback",[763,1468,1252],{}," — Removed entirely. The cumulative merge strategy handles transition flickering automatically. Remove this option from your config.",[799,1471,1472,1476,1477,1479],{},[752,1473,1474],{},[763,1475,1269],{}," — Moved to ",[763,1478,1265],{},". Update your config if you were using this option.",[799,1481,1482,1485,1486,1488,1489,1199,1491,1493,1494,1497,1498,1500,1501,1505],{},[752,1483,1484],{},"Custom plugins"," — If your custom locale-detection plugin used ",[763,1487,1206],{},", switch to ",[763,1490,1195],{},[763,1492,1202],{},". Prefer ",[763,1495,1496],{},"useI18nLocale().setLocale()"," over ",[763,1499,1181],{},". See ",[1502,1503,1504],"a",{"href":68},"Custom Language Detection"," for updated examples.",[799,1507,1508,1138,1511,922,1514,1517,1518,922,1521,1524],{},[752,1509,1510],{},"Internal file changes",[763,1512,1513],{},"load-from-storage.ts",[763,1515,1516],{},"translation-loader.ts"," have been removed and replaced with ",[763,1519,1520],{},"storage.ts",[763,1522,1523],{},"server-loader.ts",". If you were importing from these files directly (not recommended), update your imports.",[783,1526,1528],{"id":1527},"why-it-matters","Why It Matters",[796,1530,1531,1536,1542,1548,1554,1560],{},[799,1532,1533,1535],{},[752,1534,479],{},": Centralized singleton cache eliminates per-request object creation and reduces GC pressure.",[799,1537,1538,1541],{},[752,1539,1540],{},"Maintainability",": Route and path logic live in dedicated packages with clear boundaries and types.",[799,1543,1544,1547],{},[752,1545,1546],{},"Testing",": Strategy behavior and edge cases are tested in isolation.",[799,1549,1550,1553],{},[752,1551,1552],{},"Reliability",": Split server (Nitro) and client redirect logic avoids timing issues when cookie\u002FuseState are set by user plugins.",[799,1555,1556,1559],{},[752,1557,1558],{},"Serverless-ready",": Nitro plugin runs in the same context as Nitro handlers, compatible with Edge\u002FWorkers.",[799,1561,1562,1565,1566,1569,1570,922,1575,1579],{},[752,1563,1564],{},"Documentation",": Routing behavior is documented in the ",[1502,1567,1568],{"href":52},"Strategy guide"," and in the ",[1502,1571,230],{"href":1572,"rel":1573},"https:\u002F\u002Fgithub.com\u002Fs00d\u002Fnuxt-i18n-micro\u002Ftree\u002Fmain\u002Fpackages\u002Fpath-strategy",[1574],"nofollow",[1502,1576,242],{"href":1577,"rel":1578},"https:\u002F\u002Fgithub.com\u002Fs00d\u002Fnuxt-i18n-micro\u002Ftree\u002Fmain\u002Fpackages\u002Froute-strategy",[1574]," packages.",[749,1581,1582,1583,994],{},"For upgrade notes and a full list of changes, see the ",[1502,1584,1587],{"href":1585,"rel":1586},"https:\u002F\u002Fgithub.com\u002Fs00d\u002Fnuxt-i18n-micro\u002Fblob\u002Fmain\u002FCHANGELOG.md",[1574],"changelog",[1589,1590],"hr",{},[1592,1593,1594],"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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":1277,"searchDepth":1290,"depth":1290,"links":1596},[1597,1606,1607],{"id":785,"depth":1290,"text":786,"children":1598},[1599,1600,1601,1602,1603,1604,1605],{"id":790,"depth":1312,"text":791},{"id":910,"depth":1312,"text":911},{"id":1014,"depth":1312,"text":1015},{"id":1117,"depth":1312,"text":1118},{"id":1185,"depth":1312,"text":1186},{"id":1222,"depth":1312,"text":1223},{"id":1242,"depth":1312,"text":1243},{"id":1428,"depth":1290,"text":1429},{"id":1527,"depth":1290,"text":1528},"Release notes: v3.0.0 — Performance Optimization, Route & Path Strategy Packages","md","2026-11-04T00:40:16+04:00",null,{},{"order":44},{"title":384,"description":1608},"sZLwc7R3q9GzxdzPUOyiGtZmoLGoKlzXW0bXm3eeIX0",[1617,1619],{"title":380,"path":381,"description":1618},"Release notes: v3.19.0 — Utils & HMR Packages, Source Payload Mode",{"title":388,"path":389,"description":1620},"Release notes: v2.14.1 — New Integrations for Node.js, Vue, and Astro",1794131140296]