[{"data":1,"prerenderedAt":1763},["ShallowReactive",2],{"navigation":3,"v3-navigation":411,"\u002Fintegrations\u002Ftypes-generator":738,"\u002Fintegrations\u002Ftypes-generator-surround":1758},[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":173,"body":740,"description":1749,"extension":1750,"lastUpdated":1751,"links":1752,"meta":1753,"navigation":1755,"path":174,"seo":1756,"stem":175,"__hash__":1757},"docs\u002Fintegrations\u002Ftypes-generator.md",{"type":741,"value":742,"toc":1741},"minimark",[743,746,765,770,833,848,852,1067,1105,1109,1119,1313,1383,1393,1397,1411,1494,1503,1510,1607,1621,1623,1712,1719,1723,1737],[744,745,173],"h1",{"id":262},[747,748,749,752,753,756,757,760,761,764],"p",{},[750,751,681],"code",{}," reads every JSON file in your translation folder and writes a declaration that lists all keys. Add it when you want your editor to suggest keys in ",[750,754,755],{},"t()",", ",[750,758,759],{},"$t()"," and ",[750,762,763],{},"\u003CI18nT keypath>",". It works as a Nuxt module and as a Vite or Rollup plugin, and regenerates when a file changes.",[766,767,769],"h2",{"id":768},"install","Install",[771,772,773,800,817],"code-group",{},[774,775,781],"pre",{"className":776,"code":777,"filename":778,"language":779,"meta":780,"style":780},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add -D @i18n-micro\u002Ftypes-generator\n","pnpm","bash","",[750,782,783],{"__ignoreMap":780},[784,785,787,790,794,797],"span",{"class":786,"line":353},"line",[784,788,778],{"class":789},"sBMFI",[784,791,793],{"class":792},"sfazB"," add",[784,795,796],{"class":792}," -D",[784,798,799],{"class":792}," @i18n-micro\u002Ftypes-generator\n",[774,801,804],{"className":776,"code":802,"filename":803,"language":779,"meta":780,"style":780},"npm install -D @i18n-micro\u002Ftypes-generator\n","npm",[750,805,806],{"__ignoreMap":780},[784,807,808,810,813,815],{"class":786,"line":353},[784,809,803],{"class":789},[784,811,812],{"class":792}," install",[784,814,796],{"class":792},[784,816,799],{"class":792},[774,818,821],{"className":776,"code":819,"filename":820,"language":779,"meta":780,"style":780},"yarn add -D @i18n-micro\u002Ftypes-generator\n","yarn",[750,822,823],{"__ignoreMap":780},[784,824,825,827,829,831],{"class":786,"line":353},[784,826,820],{"class":789},[784,828,793],{"class":792},[784,830,796],{"class":792},[784,832,799],{"class":792},[747,834,835,836,839,840,843,844,847],{},"Peer dependency: ",[750,837,838],{},"@nuxt\u002Fkit"," ",[750,841,842],{},"^3.18.0 || ^4.0.0",". Only the ",[750,845,846],{},"\u002Fnuxt"," entry imports it; in a Vite-only project the peer warning can be ignored.",[766,849,851],{"id":850},"nuxt","Nuxt",[774,853,857],{"className":854,"code":855,"language":856,"meta":780,"style":780},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['nuxt-i18n-micro', '@i18n-micro\u002Ftypes-generator\u002Fnuxt'],\n  i18n: {\n    locales: [\n      { code: 'en', iso: 'en-US' },\n      { code: 'de', iso: 'de-DE' },\n    ],\n    defaultLocale: 'en',\n    translationDir: 'locales',\n  },\n})\n","ts",[750,858,859,865,887,925,936,947,982,1013,1021,1036,1052,1058],{"__ignoreMap":780},[784,860,861],{"class":786,"line":353},[784,862,864],{"class":863},"sHwdD","\u002F\u002F nuxt.config.ts\n",[784,866,868,872,875,879,883],{"class":786,"line":867},2,[784,869,871],{"class":870},"s7zQu","export",[784,873,874],{"class":870}," default",[784,876,878],{"class":877},"s2Zo4"," defineNuxtConfig",[784,880,882],{"class":881},"sTEyZ","(",[784,884,886],{"class":885},"sMK4o","{\n",[784,888,890,894,897,900,903,906,908,911,914,917,919,922],{"class":786,"line":889},3,[784,891,893],{"class":892},"swJcz","  modules",[784,895,896],{"class":885},":",[784,898,899],{"class":881}," [",[784,901,902],{"class":885},"'",[784,904,905],{"class":792},"nuxt-i18n-micro",[784,907,902],{"class":885},[784,909,910],{"class":885},",",[784,912,913],{"class":885}," '",[784,915,916],{"class":792},"@i18n-micro\u002Ftypes-generator\u002Fnuxt",[784,918,902],{"class":885},[784,920,921],{"class":881},"]",[784,923,924],{"class":885},",\n",[784,926,928,931,933],{"class":786,"line":927},4,[784,929,930],{"class":892},"  i18n",[784,932,896],{"class":885},[784,934,935],{"class":885}," {\n",[784,937,939,942,944],{"class":786,"line":938},5,[784,940,941],{"class":892},"    locales",[784,943,896],{"class":885},[784,945,946],{"class":881}," [\n",[784,948,950,953,956,958,960,963,965,967,970,972,974,977,979],{"class":786,"line":949},6,[784,951,952],{"class":885},"      {",[784,954,955],{"class":892}," code",[784,957,896],{"class":885},[784,959,913],{"class":885},[784,961,962],{"class":792},"en",[784,964,902],{"class":885},[784,966,910],{"class":885},[784,968,969],{"class":892}," iso",[784,971,896],{"class":885},[784,973,913],{"class":885},[784,975,976],{"class":792},"en-US",[784,978,902],{"class":885},[784,980,981],{"class":885}," },\n",[784,983,985,987,989,991,993,996,998,1000,1002,1004,1006,1009,1011],{"class":786,"line":984},7,[784,986,952],{"class":885},[784,988,955],{"class":892},[784,990,896],{"class":885},[784,992,913],{"class":885},[784,994,995],{"class":792},"de",[784,997,902],{"class":885},[784,999,910],{"class":885},[784,1001,969],{"class":892},[784,1003,896],{"class":885},[784,1005,913],{"class":885},[784,1007,1008],{"class":792},"de-DE",[784,1010,902],{"class":885},[784,1012,981],{"class":885},[784,1014,1016,1019],{"class":786,"line":1015},8,[784,1017,1018],{"class":881},"    ]",[784,1020,924],{"class":885},[784,1022,1023,1026,1028,1030,1032,1034],{"class":786,"line":358},[784,1024,1025],{"class":892},"    defaultLocale",[784,1027,896],{"class":885},[784,1029,913],{"class":885},[784,1031,962],{"class":792},[784,1033,902],{"class":885},[784,1035,924],{"class":885},[784,1037,1038,1041,1043,1045,1048,1050],{"class":786,"line":6},[784,1039,1040],{"class":892},"    translationDir",[784,1042,896],{"class":885},[784,1044,913],{"class":885},[784,1046,1047],{"class":792},"locales",[784,1049,902],{"class":885},[784,1051,924],{"class":885},[784,1053,1055],{"class":786,"line":1054},11,[784,1056,1057],{"class":885},"  },\n",[784,1059,1061,1064],{"class":786,"line":1060},12,[784,1062,1063],{"class":885},"}",[784,1065,1066],{"class":881},")\n",[747,1068,1069,1070,1073,1074,1077,1078,1080,1081,1084,1085,1088,1089,1092,1093,1096,1097,1100,1101,1104],{},"The module writes ",[750,1071,1072],{},".nuxt\u002Ftypes\u002Fi18n-micro.d.ts"," and Nuxt adds it to the type context; nothing to include by hand. It reads ",[750,1075,1076],{},"i18nTypes.translationDir",", else where ",[750,1079,905],{}," reads translations: ",[750,1082,1083],{},"translationDir"," (from ",[750,1086,1087],{},"i18n"," or inline module options, default ",[750,1090,1091],{},"'locales'",") in every layer, and ",[750,1094,1095],{},"additionalTranslationDirs",". Editing a JSON file under that folder regenerates the types in ",[750,1098,1099],{},"nuxi dev",". ",[750,1102,1103],{},"i18nTypes.outputFile"," is ignored in Nuxt (a warning says so).",[766,1106,1108],{"id":1107},"vite","Vite",[747,1110,1111,1114,1115,1118],{},[750,1112,1113],{},"I18nTypesPlugin"," is a Vite plugin, which Rollup also takes. For another bundler, call ",[750,1116,1117],{},"generateTypes"," in a script.",[774,1120,1122],{"className":854,"code":1121,"language":856,"meta":780,"style":780},"\u002F\u002F vite.config.ts\nimport { defineConfig } from 'vite'\nimport vue from '@vitejs\u002Fplugin-vue'\nimport { I18nTypesPlugin } from '@i18n-micro\u002Ftypes-generator'\n\nexport default defineConfig({\n  plugins: [\n    vue(),\n    I18nTypesPlugin({\n      srcDir: process.cwd(),\n      translationDir: 'src\u002Flocales',\n      outputFile: 'src\u002Fi18n-micro.d.ts',\n    }),\n  ],\n})\n",[750,1123,1124,1129,1153,1170,1189,1195,1207,1216,1226,1235,1255,1271,1287,1298,1306],{"__ignoreMap":780},[784,1125,1126],{"class":786,"line":353},[784,1127,1128],{"class":863},"\u002F\u002F vite.config.ts\n",[784,1130,1131,1134,1137,1140,1143,1146,1148,1150],{"class":786,"line":867},[784,1132,1133],{"class":870},"import",[784,1135,1136],{"class":885}," {",[784,1138,1139],{"class":881}," defineConfig",[784,1141,1142],{"class":885}," }",[784,1144,1145],{"class":870}," from",[784,1147,913],{"class":885},[784,1149,1107],{"class":792},[784,1151,1152],{"class":885},"'\n",[784,1154,1155,1157,1160,1163,1165,1168],{"class":786,"line":889},[784,1156,1133],{"class":870},[784,1158,1159],{"class":881}," vue ",[784,1161,1162],{"class":870},"from",[784,1164,913],{"class":885},[784,1166,1167],{"class":792},"@vitejs\u002Fplugin-vue",[784,1169,1152],{"class":885},[784,1171,1172,1174,1176,1179,1181,1183,1185,1187],{"class":786,"line":927},[784,1173,1133],{"class":870},[784,1175,1136],{"class":885},[784,1177,1178],{"class":881}," I18nTypesPlugin",[784,1180,1142],{"class":885},[784,1182,1145],{"class":870},[784,1184,913],{"class":885},[784,1186,681],{"class":792},[784,1188,1152],{"class":885},[784,1190,1191],{"class":786,"line":938},[784,1192,1194],{"emptyLinePlaceholder":1193},true,"\n",[784,1196,1197,1199,1201,1203,1205],{"class":786,"line":949},[784,1198,871],{"class":870},[784,1200,874],{"class":870},[784,1202,1139],{"class":877},[784,1204,882],{"class":881},[784,1206,886],{"class":885},[784,1208,1209,1212,1214],{"class":786,"line":984},[784,1210,1211],{"class":892},"  plugins",[784,1213,896],{"class":885},[784,1215,946],{"class":881},[784,1217,1218,1221,1224],{"class":786,"line":1015},[784,1219,1220],{"class":877},"    vue",[784,1222,1223],{"class":881},"()",[784,1225,924],{"class":885},[784,1227,1228,1231,1233],{"class":786,"line":358},[784,1229,1230],{"class":877},"    I18nTypesPlugin",[784,1232,882],{"class":881},[784,1234,886],{"class":885},[784,1236,1237,1240,1242,1245,1248,1251,1253],{"class":786,"line":6},[784,1238,1239],{"class":892},"      srcDir",[784,1241,896],{"class":885},[784,1243,1244],{"class":881}," process",[784,1246,1247],{"class":885},".",[784,1249,1250],{"class":877},"cwd",[784,1252,1223],{"class":881},[784,1254,924],{"class":885},[784,1256,1257,1260,1262,1264,1267,1269],{"class":786,"line":1054},[784,1258,1259],{"class":892},"      translationDir",[784,1261,896],{"class":885},[784,1263,913],{"class":885},[784,1265,1266],{"class":792},"src\u002Flocales",[784,1268,902],{"class":885},[784,1270,924],{"class":885},[784,1272,1273,1276,1278,1280,1283,1285],{"class":786,"line":1060},[784,1274,1275],{"class":892},"      outputFile",[784,1277,896],{"class":885},[784,1279,913],{"class":885},[784,1281,1282],{"class":792},"src\u002Fi18n-micro.d.ts",[784,1284,902],{"class":885},[784,1286,924],{"class":885},[784,1288,1290,1293,1296],{"class":786,"line":1289},13,[784,1291,1292],{"class":885},"    }",[784,1294,1295],{"class":881},")",[784,1297,924],{"class":885},[784,1299,1301,1304],{"class":786,"line":1300},14,[784,1302,1303],{"class":881},"  ]",[784,1305,924],{"class":885},[784,1307,1309,1311],{"class":786,"line":1308},15,[784,1310,1063],{"class":885},[784,1312,1066],{"class":881},[1314,1315,1316,1332],"table",{},[1317,1318,1319],"thead",{},[1320,1321,1322,1326,1329],"tr",{},[1323,1324,1325],"th",{},"Option",[1323,1327,1328],{},"Required",[1323,1330,1331],{},"Notes",[1333,1334,1335,1352,1367],"tbody",{},[1320,1336,1337,1343,1346],{},[1338,1339,1340],"td",{},[750,1341,1342],{},"srcDir",[1338,1344,1345],{},"yes",[1338,1347,1348,1349,1351],{},"Base directory; ",[750,1350,1083],{}," is resolved against it.",[1320,1353,1354,1358,1360],{},[1338,1355,1356],{},[750,1357,1083],{},[1338,1359,1345],{},[1338,1361,1362,1363,1366],{},"Folder with the JSON files (subfolders such as ",[750,1364,1365],{},"pages\u002F"," included), or an array of folders.",[1320,1368,1369,1374,1377],{},[1338,1370,1371],{},[750,1372,1373],{},"outputFile",[1338,1375,1376],{},"no",[1338,1378,1379,1380,1247],{},"Where to write the declaration; default ",[750,1381,1382],{},"\u003CsrcDir>\u002Fi18n-micro.d.ts",[747,1384,1385,1386,839,1389,1392],{},"The plugin generates once at build start and, on the dev server, regenerates 300 ms after a change in the folder. Make sure your ",[750,1387,1388],{},"tsconfig.json",[750,1390,1391],{},"include"," covers the output file.",[766,1394,1396],{"id":1395},"use-the-keys","Use the keys",[747,1398,1399,1400,1403,1404,1406,1407,1410],{},"The generated file augments ",[750,1401,1402],{},"DefineLocaleMessage"," in ",[750,1405,677],{},", which turns ",[750,1408,1409],{},"TranslationKey"," into your keys:",[774,1412,1414],{"className":854,"code":1413,"language":856,"meta":780,"style":780},"declare module '@i18n-micro\u002Ftypes' {\n  export interface DefineLocaleMessage {\n    nav: object\n    'nav.home': string\n    'profile.title': string\n  }\n}\n",[750,1415,1416,1433,1446,1456,1471,1484,1489],{"__ignoreMap":780},[784,1417,1418,1422,1425,1427,1429,1431],{"class":786,"line":353},[784,1419,1421],{"class":1420},"spNyl","declare",[784,1423,1424],{"class":1420}," module",[784,1426,913],{"class":885},[784,1428,677],{"class":792},[784,1430,902],{"class":885},[784,1432,935],{"class":885},[784,1434,1435,1438,1441,1444],{"class":786,"line":867},[784,1436,1437],{"class":870},"  export",[784,1439,1440],{"class":1420}," interface",[784,1442,1443],{"class":789}," DefineLocaleMessage",[784,1445,935],{"class":885},[784,1447,1448,1451,1453],{"class":786,"line":889},[784,1449,1450],{"class":892},"    nav",[784,1452,896],{"class":885},[784,1454,1455],{"class":789}," object\n",[784,1457,1458,1461,1464,1466,1468],{"class":786,"line":927},[784,1459,1460],{"class":885},"    '",[784,1462,1463],{"class":792},"nav.home",[784,1465,902],{"class":885},[784,1467,896],{"class":885},[784,1469,1470],{"class":789}," string\n",[784,1472,1473,1475,1478,1480,1482],{"class":786,"line":938},[784,1474,1460],{"class":885},[784,1476,1477],{"class":792},"profile.title",[784,1479,902],{"class":885},[784,1481,896],{"class":885},[784,1483,1470],{"class":789},[784,1485,1486],{"class":786,"line":949},[784,1487,1488],{"class":885},"  }\n",[784,1490,1491],{"class":786,"line":984},[784,1492,1493],{"class":885},"}\n",[747,1495,1496,1497,1499,1500,1502],{},"The keys are the ones ",[750,1498,755],{}," answers, objects too, from every locale and every page file, with the type of their JSON value. ",[750,1501,1409],{}," is the union of those keys plus any string, so you get autocomplete, not errors: a misspelled or dynamic key still compiles. Params and return values are not typed.",[747,1504,1505,1506,1509],{},"For dynamic keys under a known prefix, ",[750,1507,1508],{},"ScopedKey\u003C'prefix'>"," narrows to the matching keys:",[774,1511,1513],{"className":854,"code":1512,"language":856,"meta":780,"style":780},"import type { ScopedKey } from '@i18n-micro\u002Ftypes'\n\nconst statusText = (status: string) => t(`status.${status}` as ScopedKey\u003C'status'>)\n",[750,1514,1515,1537,1541],{"__ignoreMap":780},[784,1516,1517,1519,1522,1524,1527,1529,1531,1533,1535],{"class":786,"line":353},[784,1518,1133],{"class":870},[784,1520,1521],{"class":870}," type",[784,1523,1136],{"class":885},[784,1525,1526],{"class":881}," ScopedKey",[784,1528,1142],{"class":885},[784,1530,1145],{"class":870},[784,1532,913],{"class":885},[784,1534,677],{"class":792},[784,1536,1152],{"class":885},[784,1538,1539],{"class":786,"line":867},[784,1540,1194],{"emptyLinePlaceholder":1193},[784,1542,1543,1546,1549,1552,1555,1559,1561,1564,1566,1569,1572,1574,1577,1580,1583,1585,1588,1591,1593,1596,1598,1600,1602,1605],{"class":786,"line":889},[784,1544,1545],{"class":1420},"const",[784,1547,1548],{"class":881}," statusText ",[784,1550,1551],{"class":885},"=",[784,1553,1554],{"class":885}," (",[784,1556,1558],{"class":1557},"sHdIc","status",[784,1560,896],{"class":885},[784,1562,1563],{"class":789}," string",[784,1565,1295],{"class":885},[784,1567,1568],{"class":1420}," =>",[784,1570,1571],{"class":877}," t",[784,1573,882],{"class":881},[784,1575,1576],{"class":885},"`",[784,1578,1579],{"class":792},"status.",[784,1581,1582],{"class":885},"${",[784,1584,1558],{"class":881},[784,1586,1587],{"class":885},"}`",[784,1589,1590],{"class":870}," as",[784,1592,1526],{"class":789},[784,1594,1595],{"class":885},"\u003C",[784,1597,902],{"class":885},[784,1599,1558],{"class":792},[784,1601,902],{"class":885},[784,1603,1604],{"class":885},">",[784,1606,1066],{"class":881},[747,1608,1609,760,1611,1614,1615,1617,1618,1620],{},[750,1610,1409],{},[750,1612,1613],{},"ScopedKey"," come from ",[750,1616,677],{}," (React, Preact and Solid re-export ",[750,1619,1409],{},"; Vue does not).",[766,1622,181],{"id":183},[1314,1624,1625,1637],{},[1317,1626,1627],{},[1320,1628,1629,1632,1635],{},[1323,1630,1631],{},"Export",[1323,1633,1634],{},"Entry",[1323,1636,1331],{},[1333,1638,1639,1653,1667,1681,1695],{},[1320,1640,1641,1646,1650],{},[1338,1642,1643],{},[750,1644,1645],{},"I18nTypesPlugin(options)",[1338,1647,1648],{},[750,1649,681],{},[1338,1651,1652],{},"Vite and Rollup plugin",[1320,1654,1655,1660,1664],{},[1338,1656,1657],{},[750,1658,1659],{},"generateTypes(options)",[1338,1661,1662],{},[750,1663,681],{},[1338,1665,1666],{},"writes the file, returns its path",[1320,1668,1669,1674,1678],{},[1338,1670,1671],{},[750,1672,1673],{},"getTypesString(options)",[1338,1675,1676],{},[750,1677,681],{},[1338,1679,1680],{},"returns the declaration without writing",[1320,1682,1683,1688,1692],{},[1338,1684,1685],{},[750,1686,1687],{},"formatKeyProperty(key)",[1338,1689,1690],{},[750,1691,681],{},[1338,1693,1694],{},"helper",[1320,1696,1697,1703,1707],{},[1338,1698,1699,1700,1295],{},"Nuxt module (",[750,1701,1702],{},"configKey: 'i18nTypes'",[1338,1704,1705],{},[750,1706,916],{},[1338,1708,1709,1710],{},"option ",[750,1711,1083],{},[747,1713,1714,1715,1247],{},"Full signatures: ",[1716,1717,1718],"a",{"href":263},"package reference",[766,1720,1722],{"id":1721},"related","Related",[1724,1725,1726,1731],"card-group",{},[1727,1728],"card",{"icon":1729,"title":131,"to":1730},"i-lucide-book-open",".\u002F#typed-keys",[1727,1732,1734],{"icon":1729,"title":1733,"to":31},"Translations",[747,1735,1736],{},"Folder layout the generator scans",[1738,1739,1740],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":780,"searchDepth":867,"depth":867,"links":1742},[1743,1744,1745,1746,1747,1748],{"id":768,"depth":867,"text":769},{"id":850,"depth":867,"text":851},{"id":1107,"depth":867,"text":1108},{"id":1395,"depth":867,"text":1396},{"id":183,"depth":867,"text":181},{"id":1721,"depth":867,"text":1722},"Generate TypeScript autocomplete for translation keys from your JSON files, in Nuxt or any Vite project.","md","2026-11-04T00:40:16+04:00",null,{"outline":1754},"deep",{"order":60,"group":108},{"title":173,"description":1749},"Gsy4s0TAiVAKTVctuexNJkemhfXU-P0x7ujLzVc24YU",[1759,1761],{"title":169,"path":170,"description":1760},"Load translation files from disk and translate in Node.js servers, scripts and CLIs with @i18n-micro\u002Fnode.",{"title":177,"path":178,"description":1762},"A translation editor for Vite dev servers, and a bridge that connects it to any @i18n-micro instance.",1794131154127]