[{"data":1,"prerenderedAt":1820},["ShallowReactive",2],{"navigation":3,"v3-navigation":411,"\u002Fnews\u002Fv4.1.0":738,"\u002Fnews\u002Fv4.1.0-surround":1815},[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":355,"body":740,"description":1807,"extension":1808,"lastUpdated":1809,"links":1810,"meta":1811,"navigation":1812,"path":356,"seo":1813,"stem":357,"__hash__":1814},"docs\u002Fnews\u002Fv4.1.0.md",{"type":741,"value":742,"toc":1794},"minimark",[743,748,756,765,772,781,786,791,802,915,935,941,944,1086,1110,1114,1125,1301,1341,1345,1370,1473,1483,1487,1490,1525,1540,1544,1550,1696,1703,1707,1763,1767,1776,1779,1790],[744,745,747],"h1",{"id":746},"nuxt-i18n-micro-v410-linked-messages-a-locale-switch-hook-runtime-origins","Nuxt I18n Micro v4.1.0 — Linked Messages, a Locale Switch Hook, Runtime Origins",[749,750,751,755],"p",{},[752,753,754],"strong",{},"Date",": 2026-11-04",[749,757,758,761,762],{},[752,759,760],{},"Version",": ",[763,764,355],"code",{},[749,766,767],{},[768,769],"img",{"alt":770,"src":771},"v4.1.0 release","\u002F4.1.0.png",[749,773,774,776,777,780],{},[752,775,355],{}," adds what apps could not do before, without a second way to do what already works. Every option is opt-in: with your current config the output is the same as on 4.0, and the default bundle grows by about 280 B gzip (95 B with ",[763,778,779],{},"hooks: false",").",[782,783,785],"h2",{"id":784},"whats-new","What's New?",[787,788,790],"h3",{"id":789},"linked-messages","Linked Messages",[749,792,793,794,801],{},"A message can reuse another one, with the vue-i18n syntax. Turn it on with ",[795,796,798],"a",{"href":797},"\u002Fapi\u002Fmodule-options#linkedmessages",[763,799,800],{},"linkedMessages: true",":",[803,804,810],"pre",{"className":805,"code":806,"filename":807,"language":808,"meta":809,"style":809},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"brand\": \"Acme\",\n  \"title\": \"Welcome to @:brand\",\n  \"shout\": \"@.upper:brand\",\n  \"intro\": \"@.capitalize:{'nav.home'}.\"\n}\n","locales\u002Fen.json","json","",[763,811,812,820,847,868,889,909],{"__ignoreMap":809},[813,814,816],"span",{"class":815,"line":353},"line",[813,817,819],{"class":818},"sMK4o","{\n",[813,821,823,826,830,833,835,838,842,844],{"class":815,"line":822},2,[813,824,825],{"class":818},"  \"",[813,827,829],{"class":828},"spNyl","brand",[813,831,832],{"class":818},"\"",[813,834,801],{"class":818},[813,836,837],{"class":818}," \"",[813,839,841],{"class":840},"sfazB","Acme",[813,843,832],{"class":818},[813,845,846],{"class":818},",\n",[813,848,850,852,855,857,859,861,864,866],{"class":815,"line":849},3,[813,851,825],{"class":818},[813,853,854],{"class":828},"title",[813,856,832],{"class":818},[813,858,801],{"class":818},[813,860,837],{"class":818},[813,862,863],{"class":840},"Welcome to @:brand",[813,865,832],{"class":818},[813,867,846],{"class":818},[813,869,871,873,876,878,880,882,885,887],{"class":815,"line":870},4,[813,872,825],{"class":818},[813,874,875],{"class":828},"shout",[813,877,832],{"class":818},[813,879,801],{"class":818},[813,881,837],{"class":818},[813,883,884],{"class":840},"@.upper:brand",[813,886,832],{"class":818},[813,888,846],{"class":818},[813,890,892,894,897,899,901,903,906],{"class":815,"line":891},5,[813,893,825],{"class":818},[813,895,896],{"class":828},"intro",[813,898,832],{"class":818},[813,900,801],{"class":818},[813,902,837],{"class":818},[813,904,905],{"class":840},"@.capitalize:{'nav.home'}.",[813,907,908],{"class":818},"\"\n",[813,910,912],{"class":815,"line":911},6,[813,913,914],{"class":818},"}\n",[749,916,917,918,921,922,925,926,929,930,934],{},"Links are resolved when the dictionary is built, in every mode (premerged, ",[763,919,920],{},"mode: 'source'",", dev and HMR), across the root file, the page file and the fallback chain. ",[763,923,924],{},"$t"," does no extra work and the browser bundle does not change. ",[763,927,928],{},"{name}"," params inside a linked text stay and fill in at runtime; case modifiers leave them alone. A cycle or a missing key stays as written, with one build warning. ",[795,931,933],{"href":932},"\u002Fguide\u002Ftranslations#linked-messages","Translations"," has the details.",[787,936,938],{"id":937},"i18nbeforelocaleswitch",[763,939,940],{},"i18n:beforeLocaleSwitch",[749,942,943],{},"A runtime hook that runs before the page moves to another locale. It can stop the switch or send it to another locale:",[803,945,950],{"className":946,"code":947,"filename":948,"language":949,"meta":809,"style":809},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtPlugin((nuxtApp) => {\n  nuxtApp.hook('i18n:beforeLocaleSwitch', (ctx) => {\n    if (ctx.to === 'de' && !hasGermanContract()) ctx.cancel = true\n  })\n})\n","plugins\u002Flocale-guard.ts","ts",[763,951,952,984,1020,1071,1079],{"__ignoreMap":809},[813,953,954,958,961,965,969,971,975,978,981],{"class":815,"line":353},[813,955,957],{"class":956},"s7zQu","export",[813,959,960],{"class":956}," default",[813,962,964],{"class":963},"s2Zo4"," defineNuxtPlugin",[813,966,968],{"class":967},"sTEyZ","(",[813,970,968],{"class":818},[813,972,974],{"class":973},"sHdIc","nuxtApp",[813,976,977],{"class":818},")",[813,979,980],{"class":828}," =>",[813,982,983],{"class":818}," {\n",[813,985,986,989,992,995,998,1001,1003,1005,1008,1011,1014,1016,1018],{"class":815,"line":822},[813,987,988],{"class":967},"  nuxtApp",[813,990,991],{"class":818},".",[813,993,994],{"class":963},"hook",[813,996,968],{"class":997},"swJcz",[813,999,1000],{"class":818},"'",[813,1002,940],{"class":840},[813,1004,1000],{"class":818},[813,1006,1007],{"class":818},",",[813,1009,1010],{"class":818}," (",[813,1012,1013],{"class":973},"ctx",[813,1015,977],{"class":818},[813,1017,980],{"class":828},[813,1019,983],{"class":818},[813,1021,1022,1025,1027,1029,1031,1034,1037,1040,1043,1045,1048,1051,1054,1057,1059,1061,1064,1067],{"class":815,"line":849},[813,1023,1024],{"class":956},"    if",[813,1026,1010],{"class":997},[813,1028,1013],{"class":967},[813,1030,991],{"class":818},[813,1032,1033],{"class":967},"to",[813,1035,1036],{"class":818}," ===",[813,1038,1039],{"class":818}," '",[813,1041,1042],{"class":840},"de",[813,1044,1000],{"class":818},[813,1046,1047],{"class":818}," &&",[813,1049,1050],{"class":818}," !",[813,1052,1053],{"class":963},"hasGermanContract",[813,1055,1056],{"class":997},"()) ",[813,1058,1013],{"class":967},[813,1060,991],{"class":818},[813,1062,1063],{"class":967},"cancel",[813,1065,1066],{"class":818}," =",[813,1068,1070],{"class":1069},"sfNiH"," true\n",[813,1072,1073,1076],{"class":815,"line":870},[813,1074,1075],{"class":818},"  }",[813,1077,1078],{"class":997},")\n",[813,1080,1081,1084],{"class":815,"line":891},[813,1082,1083],{"class":818},"}",[813,1085,1078],{"class":967},[749,1087,1088,1089,1092,1093,1096,1097,1099,1100,1103,1104,1107,1108,991],{},"It fires once per switch: for a link or ",[763,1090,1091],{},"$switchLocale"," under the prefix strategies, and before the dictionary changes under ",[763,1094,1095],{},"no_prefix"," and in hash mode. ",[763,1098,1091],{}," resolves ",[763,1101,1102],{},"false"," when a subscriber cancels. To act after a switch, watch the locale: ",[763,1105,1106],{},"watch(() => $getLocale(), …)"," fires once the new dictionary is in place. See ",[795,1109,201],{"href":202},[787,1111,1113],{"id":1112},"plurals-and-formats-on-the-server","Plurals and Formats on the Server",[749,1115,1116,1117,1120,1121,1124],{},"The ",[763,1118,1119],{},"t"," of ",[763,1122,1123],{},"useTranslationServerMiddleware"," keeps its signature and gains the helpers the page has:",[803,1126,1129],{"className":946,"code":1127,"filename":1128,"language":949,"meta":809,"style":809},"export default defineEventHandler(async (event) => {\n  const t = await useTranslationServerMiddleware(event)\n  return {\n    items: t.tc('apples', 5),\n    total: t.tn(1234.5, 'currency'),\n    date: t.td(new Date(), 'short'),\n  }\n})\n","server\u002Fapi\u002Forder.ts",[763,1130,1131,1156,1178,1185,1218,1250,1288,1294],{"__ignoreMap":809},[813,1132,1133,1135,1137,1140,1142,1145,1147,1150,1152,1154],{"class":815,"line":353},[813,1134,957],{"class":956},[813,1136,960],{"class":956},[813,1138,1139],{"class":963}," defineEventHandler",[813,1141,968],{"class":967},[813,1143,1144],{"class":828},"async",[813,1146,1010],{"class":818},[813,1148,1149],{"class":973},"event",[813,1151,977],{"class":818},[813,1153,980],{"class":828},[813,1155,983],{"class":818},[813,1157,1158,1161,1164,1166,1169,1172,1174,1176],{"class":815,"line":822},[813,1159,1160],{"class":828},"  const",[813,1162,1163],{"class":967}," t",[813,1165,1066],{"class":818},[813,1167,1168],{"class":956}," await",[813,1170,1171],{"class":963}," useTranslationServerMiddleware",[813,1173,968],{"class":997},[813,1175,1149],{"class":967},[813,1177,1078],{"class":997},[813,1179,1180,1183],{"class":815,"line":849},[813,1181,1182],{"class":956},"  return",[813,1184,983],{"class":818},[813,1186,1187,1190,1192,1194,1196,1199,1201,1203,1206,1208,1210,1214,1216],{"class":815,"line":870},[813,1188,1189],{"class":997},"    items",[813,1191,801],{"class":818},[813,1193,1163],{"class":967},[813,1195,991],{"class":818},[813,1197,1198],{"class":963},"tc",[813,1200,968],{"class":997},[813,1202,1000],{"class":818},[813,1204,1205],{"class":840},"apples",[813,1207,1000],{"class":818},[813,1209,1007],{"class":818},[813,1211,1213],{"class":1212},"sbssI"," 5",[813,1215,977],{"class":997},[813,1217,846],{"class":818},[813,1219,1220,1223,1225,1227,1229,1232,1234,1237,1239,1241,1244,1246,1248],{"class":815,"line":891},[813,1221,1222],{"class":997},"    total",[813,1224,801],{"class":818},[813,1226,1163],{"class":967},[813,1228,991],{"class":818},[813,1230,1231],{"class":963},"tn",[813,1233,968],{"class":997},[813,1235,1236],{"class":1212},"1234.5",[813,1238,1007],{"class":818},[813,1240,1039],{"class":818},[813,1242,1243],{"class":840},"currency",[813,1245,1000],{"class":818},[813,1247,977],{"class":997},[813,1249,846],{"class":818},[813,1251,1252,1255,1257,1259,1261,1264,1266,1269,1272,1275,1277,1279,1282,1284,1286],{"class":815,"line":911},[813,1253,1254],{"class":997},"    date",[813,1256,801],{"class":818},[813,1258,1163],{"class":967},[813,1260,991],{"class":818},[813,1262,1263],{"class":963},"td",[813,1265,968],{"class":997},[813,1267,1268],{"class":818},"new",[813,1270,1271],{"class":963}," Date",[813,1273,1274],{"class":997},"()",[813,1276,1007],{"class":818},[813,1278,1039],{"class":818},[813,1280,1281],{"class":840},"short",[813,1283,1000],{"class":818},[813,1285,977],{"class":997},[813,1287,846],{"class":818},[813,1289,1291],{"class":815,"line":1290},7,[813,1292,1293],{"class":818},"  }\n",[813,1295,1297,1299],{"class":815,"line":1296},8,[813,1298,1083],{"class":818},[813,1300,1078],{"class":967},[749,1302,1303,1305,1306,1305,1308,1305,1310,1313,1314,1317,1318,1305,1321,1305,1324,1305,1327,1313,1330,1333,1334,1337,1338,991],{},[763,1304,1198],{},", ",[763,1307,1231],{},[763,1309,1263],{},[763,1311,1312],{},"tdr"," and ",[763,1315,1316],{},"has"," follow the same rules as ",[763,1319,1320],{},"$tc",[763,1322,1323],{},"$tn",[763,1325,1326],{},"$td",[763,1328,1329],{},"$tdr",[763,1331,1332],{},"$has",", with your ",[763,1335,1336],{},"plural"," function and formats. See ",[795,1339,1340],{"href":47},"Server-side translations",[787,1342,1344],{"id":1343},"locale-cookie-attributes","Locale Cookie Attributes",[749,1346,1347,1353,1354,1305,1357,1305,1360,1305,1363,1313,1366,1369],{},[795,1348,1350],{"href":1349},"\u002Fapi\u002Fmodule-options#localecookieoptions",[763,1351,1352],{},"localeCookieOptions"," sets ",[763,1355,1356],{},"domain",[763,1358,1359],{},"path",[763,1361,1362],{},"secure",[763,1364,1365],{},"sameSite",[763,1367,1368],{},"maxAge"," of the locale cookie, for example to share the choice across subdomains or to work inside an iframe:",[803,1371,1373],{"className":946,"code":1372,"language":949,"meta":809,"style":809},"export default defineNuxtConfig({\n  i18n: {\n    localeCookie: 'user-locale',\n    localeCookieOptions: { domain: '.example.com', sameSite: 'none', secure: true },\n  },\n})\n",[763,1374,1375,1388,1397,1413,1462,1467],{"__ignoreMap":809},[813,1376,1377,1379,1381,1384,1386],{"class":815,"line":353},[813,1378,957],{"class":956},[813,1380,960],{"class":956},[813,1382,1383],{"class":963}," defineNuxtConfig",[813,1385,968],{"class":967},[813,1387,819],{"class":818},[813,1389,1390,1393,1395],{"class":815,"line":822},[813,1391,1392],{"class":997},"  i18n",[813,1394,801],{"class":818},[813,1396,983],{"class":818},[813,1398,1399,1402,1404,1406,1409,1411],{"class":815,"line":849},[813,1400,1401],{"class":997},"    localeCookie",[813,1403,801],{"class":818},[813,1405,1039],{"class":818},[813,1407,1408],{"class":840},"user-locale",[813,1410,1000],{"class":818},[813,1412,846],{"class":818},[813,1414,1415,1418,1420,1423,1426,1428,1430,1433,1435,1437,1440,1442,1444,1447,1449,1451,1454,1456,1459],{"class":815,"line":870},[813,1416,1417],{"class":997},"    localeCookieOptions",[813,1419,801],{"class":818},[813,1421,1422],{"class":818}," {",[813,1424,1425],{"class":997}," domain",[813,1427,801],{"class":818},[813,1429,1039],{"class":818},[813,1431,1432],{"class":840},".example.com",[813,1434,1000],{"class":818},[813,1436,1007],{"class":818},[813,1438,1439],{"class":997}," sameSite",[813,1441,801],{"class":818},[813,1443,1039],{"class":818},[813,1445,1446],{"class":840},"none",[813,1448,1000],{"class":818},[813,1450,1007],{"class":818},[813,1452,1453],{"class":997}," secure",[813,1455,801],{"class":818},[813,1457,1458],{"class":1069}," true",[813,1460,1461],{"class":818}," },\n",[813,1463,1464],{"class":815,"line":891},[813,1465,1466],{"class":818},"  },\n",[813,1468,1469,1471],{"class":815,"line":911},[813,1470,1083],{"class":818},[813,1472,1078],{"class":967},[749,1474,1475,1476,1479,1480,1482],{},"The attributes come from the config only. The build warns about ",[763,1477,1478],{},"sameSite: 'none'"," without ",[763,1481,1362],{},", which browsers drop.",[787,1484,1486],{"id":1485},"runtime-origins","Runtime Origins",[749,1488,1489],{},"One build can run on staging and production with different origins:",[803,1491,1495],{"className":1492,"code":1493,"language":1494,"meta":809,"style":809},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","NUXT_I18N_META_BASE_URL=https:\u002F\u002Fstaging.example.com \\\nNUXT_I18N_LOCALE_BASE_URLS=en=https:\u002F\u002Fstaging.example.com,de=https:\u002F\u002Fstaging.example.de \\\nnode .output\u002Fserver\u002Findex.mjs\n","bash",[763,1496,1497,1512,1517],{"__ignoreMap":809},[813,1498,1499,1502,1505,1508],{"class":815,"line":353},[813,1500,1501],{"class":967},"NUXT_I18N_META_BASE_URL",[813,1503,1504],{"class":818},"=",[813,1506,1507],{"class":840},"https:\u002F\u002Fstaging.example.com",[813,1509,1511],{"class":1510},"sBMFI"," \\\n",[813,1513,1514],{"class":815,"line":822},[813,1515,1516],{"class":967},"NUXT_I18N_LOCALE_BASE_URLS=en=https:\u002F\u002Fstaging.example.com,de=https:\u002F\u002Fstaging.example.de \\\n",[813,1518,1519,1522],{"class":815,"line":849},[813,1520,1521],{"class":967},"node ",[813,1523,1524],{"class":840},".output\u002Fserver\u002Findex.mjs\n",[749,1526,1527,1529,1530,1533,1534,1537,1538,991],{},[763,1528,1501],{}," sets the origin of canonical and hreflang. ",[763,1531,1532],{},"NUXT_I18N_LOCALE_BASE_URLS"," moves the domains of a build that has locale domains; a build without them warns and ignores it. ",[763,1535,1536],{},"nuxt generate"," per host stays a build-time choice. See ",[795,1539,41],{"href":42},[787,1541,1543],{"id":1542},"translations-from-other-nuxt-modules","Translations from Other Nuxt Modules",[749,1545,1546,1549],{},[763,1547,1548],{},"additionalTranslationDirs"," accepts absolute paths, so a Nuxt module can ship its own keys:",[803,1551,1554],{"className":946,"code":1552,"filename":1553,"language":949,"meta":809,"style":809},"export default defineNuxtModule({\n  setup(_, nuxt) {\n    const { resolve } = createResolver(import.meta.url)\n    nuxt.options.i18n.additionalTranslationDirs ??= []\n    nuxt.options.i18n.additionalTranslationDirs.push(resolve('.\u002Flocales'))\n  },\n})\n","my-module\u002Fmodule.ts",[763,1555,1556,1569,1588,1623,1648,1686,1690],{"__ignoreMap":809},[813,1557,1558,1560,1562,1565,1567],{"class":815,"line":353},[813,1559,957],{"class":956},[813,1561,960],{"class":956},[813,1563,1564],{"class":963}," defineNuxtModule",[813,1566,968],{"class":967},[813,1568,819],{"class":818},[813,1570,1571,1574,1576,1579,1581,1584,1586],{"class":815,"line":822},[813,1572,1573],{"class":997},"  setup",[813,1575,968],{"class":818},[813,1577,1578],{"class":973},"_",[813,1580,1007],{"class":818},[813,1582,1583],{"class":973}," nuxt",[813,1585,977],{"class":818},[813,1587,983],{"class":818},[813,1589,1590,1593,1595,1598,1601,1603,1606,1608,1611,1613,1616,1618,1621],{"class":815,"line":849},[813,1591,1592],{"class":828},"    const",[813,1594,1422],{"class":818},[813,1596,1597],{"class":967}," resolve",[813,1599,1600],{"class":818}," }",[813,1602,1066],{"class":818},[813,1604,1605],{"class":963}," createResolver",[813,1607,968],{"class":997},[813,1609,1610],{"class":956},"import",[813,1612,991],{"class":818},[813,1614,1615],{"class":967},"meta",[813,1617,991],{"class":818},[813,1619,1620],{"class":967},"url",[813,1622,1078],{"class":997},[813,1624,1625,1628,1630,1633,1635,1638,1640,1642,1645],{"class":815,"line":870},[813,1626,1627],{"class":967},"    nuxt",[813,1629,991],{"class":818},[813,1631,1632],{"class":967},"options",[813,1634,991],{"class":818},[813,1636,1637],{"class":967},"i18n",[813,1639,991],{"class":818},[813,1641,1548],{"class":967},[813,1643,1644],{"class":818}," ??=",[813,1646,1647],{"class":997}," []\n",[813,1649,1650,1652,1654,1656,1658,1660,1662,1664,1666,1669,1671,1674,1676,1678,1681,1683],{"class":815,"line":891},[813,1651,1627],{"class":967},[813,1653,991],{"class":818},[813,1655,1632],{"class":967},[813,1657,991],{"class":818},[813,1659,1637],{"class":967},[813,1661,991],{"class":818},[813,1663,1548],{"class":967},[813,1665,991],{"class":818},[813,1667,1668],{"class":963},"push",[813,1670,968],{"class":997},[813,1672,1673],{"class":963},"resolve",[813,1675,968],{"class":997},[813,1677,1000],{"class":818},[813,1679,1680],{"class":840},".\u002Flocales",[813,1682,1000],{"class":818},[813,1684,1685],{"class":997},"))\n",[813,1687,1688],{"class":815,"line":911},[813,1689,1466],{"class":818},[813,1691,1692,1694],{"class":815,"line":1290},[813,1693,1083],{"class":818},[813,1695,1078],{"class":967},[749,1697,1698,1699,1702],{},"The list is read after every module has run, so the order in ",[763,1700,1701],{},"modules"," does not matter. The build, the dev watcher, DevTools, the types generator and the CLI all read it.",[787,1704,1706],{"id":1705},"smaller-additions","Smaller Additions",[1708,1709,1710,1720,1730],"ul",{},[1711,1712,1713,1719],"li",{},[795,1714,1716],{"href":1715},"\u002Fapi\u002Fmodule-options#redirectstatuscode",[763,1717,1718],{},"redirectStatusCode"," sets the code of the module's locale redirects: 301, 302, 303, 307 or 308 (default 302). A permanent code on a preference redirect is cached by browsers: use it only when the redirect never depends on the visitor.",[1711,1721,1722,1725,1726,1729],{},[763,1723,1724],{},"$defineI18nRoute(false)"," takes a page out of localization, like ",[763,1727,1728],{},"globalLocaleRoutes: { page: false }",". It used to be ignored.",[1711,1731,1732,1313,1735,1738,1739,1305,1742,761,1745,1748,1749,1752,1753,1755,1756,1759,1760,1762],{},[763,1733,1734],{},"t()",[763,1736,1737],{},"interpolate"," take a list for ",[763,1740,1741],{},"{0}",[763,1743,1744],{},"{1}",[763,1746,1747],{},"$t('pair', ['a', 'b'])",". The new ",[763,1750,1751],{},"TranslateParams"," type in ",[763,1754,677],{}," names what they take; ",[763,1757,1758],{},"Params"," and custom ",[763,1761,1336],{}," functions are unchanged.",[787,1764,1766],{"id":1765},"api-reference","API Reference",[749,1768,1116,1769,1772,1773,1775],{},[795,1770,1771],{"href":206},"API pages"," are generated from the sources' JSDoc: each export with its description, signature, params and members, grouped by kind, without the inherited DOM attributes and without repeating types that live in another package. ",[795,1774,189],{"href":190}," has one section per option.",[782,1777,20],{"id":1778},"upgrading",[749,1780,1781,1782,1785,1786,1789],{},"No change is needed. Update ",[763,1783,1784],{},"nuxt-i18n-micro"," and the ",[763,1787,1788],{},"@i18n-micro\u002F*"," packages you use together.",[1791,1792,1793],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .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 .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 .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}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 pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":809,"searchDepth":822,"depth":822,"links":1795},[1796,1806],{"id":784,"depth":822,"text":785,"children":1797},[1798,1799,1800,1801,1802,1803,1804,1805],{"id":789,"depth":849,"text":790},{"id":937,"depth":849,"text":940},{"id":1112,"depth":849,"text":1113},{"id":1343,"depth":849,"text":1344},{"id":1485,"depth":849,"text":1486},{"id":1542,"depth":849,"text":1543},{"id":1705,"depth":849,"text":1706},{"id":1765,"depth":849,"text":1766},{"id":1778,"depth":822,"text":20},"Release notes: v4.1.0 — linked messages, a locale switch hook, runtime origins, server plurals and formats","md","2026-11-04T19:36:00+05:00",null,{},{"order":358},{"title":355,"description":1807},"B200BuuLkH0u7YT3UKCyWMTHzVJHUv-dQ8lKy_nfx3Y",[1816,1818],{"title":352,"path":348,"description":1817},"Release notes and project updates.",{"title":360,"path":361,"description":1819},"Release notes: v4.0.0 — One route model, one build for every domain, rewritten packages",1794131140639]