[{"data":1,"prerenderedAt":1370},["ShallowReactive",2],{"navigation":3,"v3-navigation":411,"\u002Fnews\u002Fv3.19.0":738,"\u002Fnews\u002Fv3.19.0-surround":1365},[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":380,"body":740,"description":1357,"extension":1358,"lastUpdated":1359,"links":1360,"meta":1361,"navigation":1362,"path":381,"seo":1363,"stem":382,"__hash__":1364},"docs\u002Fnews\u002Fv3.19.0.md",{"type":741,"value":742,"toc":1342},"minimark",[743,748,756,765,772,787,792,799,814,902,909,915,921,951,961,968,971,1067,1101,1113,1117,1166,1170,1193,1197,1233,1237,1244,1284,1291,1295,1326,1335,1338],[744,745,747],"h1",{"id":746},"nuxt-i18n-micro-v3190-utils-hmr-packages-source-payload-mode","Nuxt I18n Micro v3.19.0 — Utils & HMR Packages, Source Payload Mode",[749,750,751,755],"p",{},[752,753,754],"strong",{},"Date",": 2026-05-25",[749,757,758,761,762],{},[752,759,760],{},"Version",": ",[763,764,380],"code",{},[749,766,767],{},[768,769],"img",{"alt":770,"src":771},"v3.19.0 release","\u002F3.19.0.png",[749,773,774,775,778,779,782,783,786],{},"This release focuses on ",[752,776,777],{},"modularizing internal utilities",", adding a ",[752,780,781],{},"compact serverless payload mode",", and ",[752,784,785],{},"reusing shared logic"," across Nuxt, Node, Astro, and DevTools — without changing the public module API for typical apps.",[788,789,791],"h2",{"id":790},"whats-new","What's New?",[793,794,796,798],"h3",{"id":795},"i18n-microutils-framework-agnostic-utilities",[763,797,685],{}," — Framework-Agnostic Utilities",[749,800,801,802,805,806,809,810,813],{},"Shared logic previously scattered across ",[763,803,804],{},"src\u002Fruntime\u002Futils\u002F"," and ",[763,807,808],{},"src\u002Fmodule.ts"," now lives in a dedicated workspace package with ",[752,811,812],{},"granular subpath imports"," (no fat barrel, tree-shake friendly):",[815,816,817,836,857,869,893],"ul",{},[818,819,820,823,824,827,828,831,832,835],"li",{},[752,821,822],{},"Build"," — ",[763,825,826],{},"preMergeLocales",", ",[763,829,830],{},"buildTranslationSourceLayers"," (",[763,833,834],{},"@i18n-micro\u002Futils\u002Fbuild",")",[818,837,838,823,841,844,845,827,848,827,851,827,854,835],{},[752,839,840],{},"Payloads",[763,842,843],{},"translationPayloads"," resolution, URL building, fetch helpers, stats (",[763,846,847],{},"payload-config",[763,849,850],{},"payload-url",[763,852,853],{},"payload-fetch",[763,855,856],{},"payload-stats",[818,858,859,862,863,827,866,835],{},[752,860,861],{},"Source mode"," — fallback chains, source file paths, runtime merge (",[763,864,865],{},"merge-source",[763,867,868],{},"source-loader",[818,870,871,874,875,827,878,827,881,827,884,827,887,827,890,835],{},[752,872,873],{},"Runtime helpers"," — locale resolution, cookies, Accept-Language parsing, route\u002Fmeta helpers (",[763,876,877],{},"resolve-locale",[763,879,880],{},"accept-language",[763,882,883],{},"cookie",[763,885,886],{},"route",[763,888,889],{},"route-pattern",[763,891,892],{},"runtime-config",[818,894,895,898,899,835],{},[752,896,897],{},"Shared FS paths"," — translation file classification, nested page paths (",[763,900,901],{},"parse-path",[749,903,904,905,908],{},"The Nuxt module keeps thin glue in ",[763,906,907],{},"src\u002Fruntime\u002F"," and imports only the subpaths it needs.",[793,910,912,914],{"id":911},"i18n-microhmr-dev-translation-hot-reload",[763,913,641],{}," — Dev Translation Hot Reload",[749,916,917,918,920],{},"Development HMR is extracted into ",[763,919,641],{},":",[815,922,923,931,939],{},[818,924,925,930],{},[752,926,927],{},[763,928,929],{},"watcher"," — file change handling, cache invalidation, source\u002Fpremerged merge in dev",[818,932,933,938],{},[752,934,935],{},[763,936,937],{},"generate-plugin"," — client-side HMR plugin generation",[818,940,941,946,947,950],{},[752,942,943],{},[763,944,945],{},"cache-keys"," — shared ",[763,948,949],{},"Symbol.for"," keys for server\u002Fstorage caches",[749,952,953,954,805,957,960],{},"Works with both ",[763,955,956],{},"translationPayloads.mode: 'premerged'",[763,958,959],{},"'source'",".",[793,962,964,967],{"id":963},"translationpayloadsmode-source-compact-serverless-deployments",[763,965,966],{},"translationPayloads.mode: 'source'"," — Compact Serverless Deployments",[749,969,970],{},"New payload mode for large locale matrices on serverless platforms (Cloudflare Workers, etc.):",[972,973,978],"pre",{"className":974,"code":975,"language":976,"meta":977,"style":977},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  i18n: {\n    translationPayloads: {\n      mode: 'source',\n    },\n  },\n})\n","typescript","",[763,979,980,1003,1015,1025,1046,1052,1058],{"__ignoreMap":977},[981,982,984,988,991,995,999],"span",{"class":983,"line":353},"line",[981,985,987],{"class":986},"s7zQu","export",[981,989,990],{"class":986}," default",[981,992,994],{"class":993},"s2Zo4"," defineNuxtConfig",[981,996,998],{"class":997},"sTEyZ","(",[981,1000,1002],{"class":1001},"sMK4o","{\n",[981,1004,1006,1010,1012],{"class":983,"line":1005},2,[981,1007,1009],{"class":1008},"swJcz","  i18n",[981,1011,920],{"class":1001},[981,1013,1014],{"class":1001}," {\n",[981,1016,1018,1021,1023],{"class":983,"line":1017},3,[981,1019,1020],{"class":1008},"    translationPayloads",[981,1022,920],{"class":1001},[981,1024,1014],{"class":1001},[981,1026,1028,1031,1033,1036,1040,1043],{"class":983,"line":1027},4,[981,1029,1030],{"class":1008},"      mode",[981,1032,920],{"class":1001},[981,1034,1035],{"class":1001}," '",[981,1037,1039],{"class":1038},"sfazB","source",[981,1041,1042],{"class":1001},"'",[981,1044,1045],{"class":1001},",\n",[981,1047,1049],{"class":983,"line":1048},5,[981,1050,1051],{"class":1001},"    },\n",[981,1053,1055],{"class":983,"line":1054},6,[981,1056,1057],{"class":1001},"  },\n",[981,1059,1061,1064],{"class":983,"line":1060},7,[981,1062,1063],{"class":1001},"}",[981,1065,1066],{"class":997},")\n",[815,1068,1069,1076,1087],{},[818,1070,1071,1072,1075],{},"Bundles ",[752,1073,1074],{},"compact source files"," into Nitro assets instead of a full pre-merged matrix",[818,1077,1078,1079,1082,1083,1086],{},"Merges root, page, and fallback locale chains ",[752,1080,1081],{},"at runtime"," via the built-in ",[763,1084,1085],{},"\u002F_locales\u002F:page\u002F:locale\u002Fdata.json"," route",[818,1088,1089,1090,805,1093,1096,1097,1100],{},"Defaults ",[763,1091,1092],{},"publicAssets",[763,1094,1095],{},"prerenderRoutes"," to ",[763,1098,1099],{},"false"," — ideal when you rely on a Nitro\u002Fedge runtime rather than pure static hosting",[749,1102,1103,1104,805,1109,960],{},"See ",[1105,1106,1108],"a",{"href":1107},"\u002Fguide\u002Fdeployment#serverless-and-edge","Deployment — serverless and Edge",[1105,1110,1112],{"href":1111},"\u002Fapi\u002Fi18n-cache-api","Cache & Storage Architecture",[793,1114,1116],{"id":1115},"shared-utilities-across-integration-packages","Shared Utilities Across Integration Packages",[815,1118,1119,1133,1147,1160],{},[818,1120,1121,805,1125,1129,1130],{},[752,1122,1123],{},[763,1124,645],{},[752,1126,1127],{},[763,1128,629],{}," — unified translation path parsing and deep merge via ",[763,1131,1132],{},"@i18n-micro\u002Futils\u002Fparse-path",[818,1134,1135,823,1139,1142,1143,1146],{},[752,1136,1137],{},[763,1138,629],{},[763,1140,1141],{},"detectLocaleFromAcceptLanguage"," from ",[763,1144,1145],{},"@i18n-micro\u002Futils\u002Faccept-language"," (removed duplicate parser)",[818,1148,1149,1153,1154,1156,1157,1159],{},[752,1150,1151],{},[763,1152,637],{}," — virtual file paths via ",[763,1155,865],{}," + ",[763,1158,901],{}," helpers",[818,1161,1162,1165],{},[752,1163,1164],{},"Server locale detection"," — Accept-Language handling aligned with shared utils",[793,1167,1169],{"id":1168},"hmr-devtools-fixes","HMR & DevTools Fixes",[815,1171,1172,1184],{},[818,1173,1174,1175,1180,1181],{},"Client HMR plugin now calls ",[752,1176,1177],{},[763,1178,1179],{},"$loadPageTranslations"," (correct API) instead of the removed ",[763,1182,1183],{},"$loadTranslations",[818,1185,1186,1187,805,1190,1192],{},"Playwright coverage for translation watcher in ",[752,1188,1189],{},"premerged",[752,1191,1039],{}," modes",[793,1194,1196],{"id":1195},"documentation-contributor-guide","Documentation & Contributor Guide",[815,1198,1199,1204,1220],{},[818,1200,1201,1203],{},[1105,1202,1112],{"href":1111}," — documents both payload modes and package boundaries",[818,1205,1206,827,1209,827,1211,823,1214,1216,1217,1219],{},[1105,1207,1208],{"href":47},"Server-Side Translations",[1105,1210,425],{"href":12},[1105,1212,434],{"href":1213},"\u002Fguide\u002Ffolder-structure",[763,1215,1189],{}," vs ",[763,1218,1039],{}," caveats",[818,1221,1222,1226,1227,805,1230],{},[1105,1223,1225],{"href":1224},"\u002Fguide\u002Fcontribution","Contribution Guide"," — Node 18+, pnpm 9+, Oxlint\u002FOxfmt, monorepo layout with ",[763,1228,1229],{},"packages\u002Futils",[763,1231,1232],{},"packages\u002Fhmr",[788,1234,1236],{"id":1235},"breaking-changes-advanced-internal","Breaking Changes (Advanced \u002F Internal)",[749,1238,1239,1240,1243],{},"These affect only projects that imported ",[752,1241,1242],{},"internal"," module paths (not part of the public API):",[815,1245,1246,1261,1271],{},[818,1247,1248,1249,761,1251,827,1254,1257,1258],{},"Removed from ",[763,1250,804],{},[763,1252,1253],{},"route-utils.ts",[763,1255,1256],{},"runtime-i18n-config.ts",", and other utilities moved to ",[763,1259,1260],{},"@i18n-micro\u002Futils\u002F*",[818,1262,1248,1263,1266,1267,1270],{},[763,1264,1265],{},"src\u002Fruntime\u002Fserver\u002Fplugins\u002F",": inline HMR watcher\u002Fgenerator — use ",[763,1268,1269],{},"@i18n-micro\u002Fhmr\u002F*"," if you forked dev tooling",[818,1272,1273,1278,1279,805,1281,1283],{},[752,1274,1275],{},[763,1276,1277],{},"nuxt-i18n-micro"," now depends on ",[763,1280,685],{},[763,1282,641],{}," workspace packages (installed automatically with the module)",[749,1285,1286,1287,1290],{},"Typical ",[763,1288,1289],{},"nuxt.config"," + composables usage is unchanged.",[788,1292,1294],{"id":1293},"why-it-matters","Why It Matters",[815,1296,1297,1305,1311,1320],{},[818,1298,1299,823,1302,1304],{},[752,1300,1301],{},"Smaller serverless bundles",[763,1303,1039],{}," mode avoids shipping a pre-merged file per locale × page",[818,1306,1307,1310],{},[752,1308,1309],{},"Single source of truth"," — one implementation for path parsing, merge, locale detection, and payload config",[818,1312,1313,1316,1317,1319],{},[752,1314,1315],{},"Easier maintenance"," — framework-agnostic code is tested in ",[763,1318,685],{}," (50+ unit tests) and reused everywhere",[818,1321,1322,1325],{},[752,1323,1324],{},"Better dev UX"," — HMR logic is isolated, testable, and consistent across payload modes",[749,1327,1328,1329,960],{},"For the full commit list, see the ",[1105,1330,1334],{"href":1331,"rel":1332},"https:\u002F\u002Fgithub.com\u002Fs00d\u002Fnuxt-i18n-micro\u002Fblob\u002Fmain\u002FCHANGELOG.md",[1333],"nofollow","changelog",[1336,1337],"hr",{},[1339,1340,1341],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .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":977,"searchDepth":1005,"depth":1005,"links":1343},[1344,1355,1356],{"id":790,"depth":1005,"text":791,"children":1345},[1346,1348,1350,1352,1353,1354],{"id":795,"depth":1017,"text":1347},"@i18n-micro\u002Futils — Framework-Agnostic Utilities",{"id":911,"depth":1017,"text":1349},"@i18n-micro\u002Fhmr — Dev Translation Hot Reload",{"id":963,"depth":1017,"text":1351},"translationPayloads.mode: 'source' — Compact Serverless Deployments",{"id":1115,"depth":1017,"text":1116},{"id":1168,"depth":1017,"text":1169},{"id":1195,"depth":1017,"text":1196},{"id":1235,"depth":1005,"text":1236},{"id":1293,"depth":1005,"text":1294},"Release notes: v3.19.0 — Utils & HMR Packages, Source Payload Mode","md","2026-11-04T00:40:16+04:00",null,{},{"order":39},{"title":380,"description":1357},"ZnEriBYN1HNZG1yv98JX3-aHNJhA5O9R7JaCrCwgRos",[1366,1368],{"title":376,"path":377,"description":1367},"Release notes: v3.20.0 — Runtime Layer Refactor & Redirect Split",{"title":384,"path":385,"description":1369},"Release notes: v3.0.0 — Performance Optimization, Route & Path Strategy Packages",1794131140349]