[{"data":1,"prerenderedAt":1680},["ShallowReactive",2],{"navigation":3,"v3-navigation":406,"\u002Fguide\u002Ftranslations":733,"\u002Fguide\u002Ftranslations-surround":1675},[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,358,362,366,370,374,378,382,386,390,394,398,402],{"title":352,"path":348,"stem":349,"order":353},"News & Releases",1,{"title":355,"path":356,"stem":357,"order":6},"v4.0.0","\u002Fnews\u002Fv4.0.0","news\u002Fv4.0.0",{"title":359,"path":360,"stem":361,"order":18},"v3.24.0","\u002Fnews\u002Fv3.24.0","news\u002Fv3.24.0",{"title":363,"path":364,"stem":365,"order":23},"v3.22.0","\u002Fnews\u002Fv3.22.0","news\u002Fv3.22.0",{"title":367,"path":368,"stem":369,"order":28},"v3.21.0","\u002Fnews\u002Fv3.21.0","news\u002Fv3.21.0",{"title":371,"path":372,"stem":373,"order":33},"v3.20.0","\u002Fnews\u002Fv3.20.0","news\u002Fv3.20.0",{"title":375,"path":376,"stem":377,"order":39},"v3.19.0","\u002Fnews\u002Fv3.19.0","news\u002Fv3.19.0",{"title":379,"path":380,"stem":381,"order":44},"v3.0.0","\u002Fnews\u002Fv3.0.0","news\u002Fv3.0.0",{"title":383,"path":384,"stem":385,"order":49},"v2.14.1","\u002Fnews\u002Fv2.14.1","news\u002Fv2.14.1",{"title":387,"path":388,"stem":389,"order":54},"v2.0.0","\u002Fnews\u002Fv2.0.0","news\u002Fv2.0.0",{"title":391,"path":392,"stem":393,"order":60},"v1.73.0","\u002Fnews\u002Fv1.73.0","news\u002Fv1.73.0",{"title":395,"path":396,"stem":397,"order":65},"v1.65.0","\u002Fnews\u002Fv1.65.0","news\u002Fv1.65.0",{"title":399,"path":400,"stem":401,"order":70},"v1.58.0","\u002Fnews\u002Fv1.58.0","news\u002Fv1.58.0",{"title":403,"path":404,"stem":405,"order":75},"v1.1.0","\u002Fnews\u002Fv1.1.0","news\u002Fv1.1.0",[407],{"title":408,"path":409,"stem":410,"children":411},"V3","\u002Fv3","v3",[412,415,552,598,691,712,729],{"title":136,"path":409,"stem":413,"order":414},"v3\u002Findex",0,{"title":5,"order":6,"path":416,"stem":417,"children":418,"page":129},"\u002Fv3\u002Fguide","v3\u002Fguide",[419,424,428,432,436,441,445,449,453,457,461,465,469,473,478,482,487,491,495,499,503,507,511,514,518,522,527,533,538,542,547],{"title":420,"path":421,"stem":422,"order":6,"group":423},"Getting Started","\u002Fv3\u002Fguide\u002Fgetting-started","v3\u002Fguide\u002Fgetting-started","Basics",{"title":425,"path":426,"stem":427,"order":18,"group":423},"Configuration","\u002Fv3\u002Fguide\u002Fconfiguration","v3\u002Fguide\u002Fconfiguration",{"title":429,"path":430,"stem":431,"order":23,"group":423},"Folder Structure","\u002Fv3\u002Fguide\u002Ffolder-structure","v3\u002Fguide\u002Ffolder-structure",{"title":433,"path":434,"stem":435,"order":28,"group":423},"Routing Strategy","\u002Fv3\u002Fguide\u002Fstrategy","v3\u002Fguide\u002Fstrategy",{"title":437,"path":438,"stem":439,"order":33,"group":440},"Translating Content","\u002Fv3\u002Fguide\u002Fusing","v3\u002Fguide\u002Fusing","Usage",{"title":442,"path":443,"stem":444,"order":39,"group":440},"Per Component Translations","\u002Fv3\u002Fguide\u002Fper-component-translations","v3\u002Fguide\u002Fper-component-translations",{"title":446,"path":447,"stem":448,"order":44,"group":440},"Custom Localized Routes","\u002Fv3\u002Fguide\u002Fcustom-locale-routes","v3\u002Fguide\u002Fcustom-locale-routes",{"title":450,"path":451,"stem":452,"order":49,"group":440},"Custom Auto Detect","\u002Fv3\u002Fguide\u002Fcustom-auto-detect","v3\u002Fguide\u002Fcustom-auto-detect",{"title":454,"path":455,"stem":456,"order":54,"group":440},"Runtime Overrides","\u002Fv3\u002Fguide\u002Fruntime-overrides","v3\u002Fguide\u002Fruntime-overrides",{"title":458,"path":459,"stem":460,"order":60,"group":440},"Layers","\u002Fv3\u002Fguide\u002Flayers","v3\u002Fguide\u002Flayers",{"title":77,"path":462,"stem":463,"order":65,"group":464},"\u002Fv3\u002Fguide\u002Fseo","v3\u002Fguide\u002Fseo","SEO & URLs",{"title":466,"path":467,"stem":468,"order":70,"group":464},"Multi Domain Locales","\u002Fv3\u002Fguide\u002Fmulti-domain-locales","v3\u002Fguide\u002Fmulti-domain-locales",{"title":470,"path":471,"stem":472,"order":75,"group":464},"Excluding Static Files","\u002Fv3\u002Fguide\u002Fexcluding-static-files","v3\u002Fguide\u002Fexcluding-static-files",{"title":474,"path":475,"stem":476,"order":80,"group":477},"Performance","\u002Fv3\u002Fguide\u002Fperformance","v3\u002Fguide\u002Fperformance","Performance & Deployment",{"title":479,"path":480,"stem":481,"order":86,"group":477},"Benchmark Results","\u002Fv3\u002Fguide\u002Fperformance-results","v3\u002Fguide\u002Fperformance-results",{"title":483,"path":484,"stem":485,"order":486,"group":477},"Performance methodology","\u002Fv3\u002Fguide\u002Fperformance-methodology","v3\u002Fguide\u002Fperformance-methodology",155,{"title":488,"path":489,"stem":490,"order":91,"group":477},"Server Side Translations","\u002Fv3\u002Fguide\u002Fserver-side-translations","v3\u002Fguide\u002Fserver-side-translations",{"title":492,"path":493,"stem":494,"order":97,"group":477},"Firebase Deployment","\u002Fv3\u002Fguide\u002Ffirebase","v3\u002Fguide\u002Ffirebase",{"title":496,"path":497,"stem":498,"order":102,"group":477},"Release Smoke Checks","\u002Fv3\u002Fguide\u002Frelease-smoke","v3\u002Fguide\u002Frelease-smoke",{"title":500,"path":501,"stem":502,"order":107,"group":477},"Preset local testing","\u002Fv3\u002Fguide\u002Fpreset-local-testing","v3\u002Fguide\u002Fpreset-local-testing",{"title":504,"path":505,"stem":506,"order":113,"group":477},"Maintenance Commands","\u002Fv3\u002Fguide\u002Fmaintenance-commands","v3\u002Fguide\u002Fmaintenance-commands",{"title":508,"path":509,"stem":510,"order":118,"group":108},"CLI Tool","\u002Fv3\u002Fguide\u002Fcli","v3\u002Fguide\u002Fcli",{"title":104,"path":512,"stem":513,"order":123,"group":108},"\u002Fv3\u002Fguide\u002Fdevtools","v3\u002Fguide\u002Fdevtools",{"title":515,"path":516,"stem":517,"order":128,"group":108},"Testing Your App","\u002Fv3\u002Fguide\u002Ftesting","v3\u002Fguide\u002Ftesting",{"title":120,"path":519,"stem":520,"order":521,"group":108},"\u002Fv3\u002Fguide\u002Fstorybook","v3\u002Fguide\u002Fstorybook",240,{"title":523,"path":524,"stem":525,"order":526,"group":108},"Crowdin Integration","\u002Fv3\u002Fguide\u002Fcrowdin","v3\u002Fguide\u002Fcrowdin",250,{"title":528,"path":529,"stem":530,"order":531,"group":532},"Migration from nuxt-i18n","\u002Fv3\u002Fguide\u002Fmigration","v3\u002Fguide\u002Fmigration",260,"Migration & Help",{"title":534,"path":535,"stem":536,"order":537,"group":532},"Upgrade to v3","\u002Fv3\u002Fguide\u002Fv3-upgrade","v3\u002Fguide\u002Fv3-upgrade",270,{"title":25,"path":539,"stem":540,"order":541,"group":532},"\u002Fv3\u002Fguide\u002Ffaq","v3\u002Fguide\u002Ffaq",280,{"title":543,"path":544,"stem":545,"order":546,"group":532},"Contribution","\u002Fv3\u002Fguide\u002Fcontribution","v3\u002Fguide\u002Fcontribution",290,{"title":548,"path":549,"stem":550,"order":551,"group":532},"Testing the Module","\u002Fv3\u002Fguide\u002Ftesting-strategies","v3\u002Fguide\u002Ftesting-strategies",300,{"title":553,"order":18,"path":554,"stem":555,"children":556},"Integrations","\u002Fv3\u002Fintegrations","v3\u002Fintegrations\u002Findex",[557,558,562,566,570,574,578,582,586,590,594],{"title":136,"path":554,"stem":555,"order":6},{"title":559,"path":560,"stem":561,"order":18},"Vue Package","\u002Fv3\u002Fintegrations\u002Fvue-package","v3\u002Fintegrations\u002Fvue-package",{"title":563,"path":564,"stem":565,"order":23},"React Package","\u002Fv3\u002Fintegrations\u002Freact-package","v3\u002Fintegrations\u002Freact-package",{"title":567,"path":568,"stem":569,"order":28},"Preact Package","\u002Fv3\u002Fintegrations\u002Fpreact-package","v3\u002Fintegrations\u002Fpreact-package",{"title":571,"path":572,"stem":573,"order":33},"Solid Package","\u002Fv3\u002Fintegrations\u002Fsolid-package","v3\u002Fintegrations\u002Fsolid-package",{"title":575,"path":576,"stem":577,"order":39},"Astro Package","\u002Fv3\u002Fintegrations\u002Fastro-package","v3\u002Fintegrations\u002Fastro-package",{"title":579,"path":580,"stem":581,"order":44},"VitePress Package","\u002Fv3\u002Fintegrations\u002Fvitepress-package","v3\u002Fintegrations\u002Fvitepress-package",{"title":583,"path":584,"stem":585,"order":49},"Runtime Package","\u002Fv3\u002Fintegrations\u002Fruntime-package","v3\u002Fintegrations\u002Fruntime-package",{"title":587,"path":588,"stem":589,"order":54},"Node.js Package","\u002Fv3\u002Fintegrations\u002Fnodejs-package","v3\u002Fintegrations\u002Fnodejs-package",{"title":591,"path":592,"stem":593,"order":60},"Types Generator","\u002Fv3\u002Fintegrations\u002Ftypes-generator","v3\u002Fintegrations\u002Ftypes-generator",{"title":595,"path":596,"stem":597,"order":65},"Devtools Package","\u002Fv3\u002Fintegrations\u002Fdevtools-ui-package","v3\u002Fintegrations\u002Fdevtools-ui-package",{"title":181,"order":23,"path":599,"stem":600,"children":601},"\u002Fv3\u002Fapi","v3\u002Fapi\u002Findex",[602,603,607,611,615,619],{"title":136,"path":599,"stem":600,"order":6},{"title":604,"path":605,"stem":606,"order":18},"Methods","\u002Fv3\u002Fapi\u002Fmethods","v3\u002Fapi\u002Fmethods",{"title":608,"path":609,"stem":610,"order":23},"Events","\u002Fv3\u002Fapi\u002Fevents","v3\u002Fapi\u002Fevents",{"title":612,"path":613,"stem":614,"order":28},"Translations and Cache","\u002Fv3\u002Fapi\u002Fi18n-cache-api","v3\u002Fapi\u002Fi18n-cache-api",{"title":616,"path":617,"stem":618,"order":33},"Module Options","\u002Fv3\u002Fapi\u002Fmodule-options","v3\u002Fapi\u002Fmodule-options",{"title":205,"path":620,"stem":621,"children":622,"order":39},"\u002Fv3\u002Fapi\u002Fpackages","v3\u002Fapi\u002Fpackages",[623,627,631,635,639,643,647,651,655,659,663,667,671,675,679,683,687],{"title":624,"path":625,"stem":626},"@i18n-micro\u002Fastro","\u002Fv3\u002Fapi\u002Fpackages\u002Fastro","v3\u002Fapi\u002Fpackages\u002Fastro",{"title":628,"path":629,"stem":630},"@i18n-micro\u002Fcore","\u002Fv3\u002Fapi\u002Fpackages\u002Fcore","v3\u002Fapi\u002Fpackages\u002Fcore",{"title":632,"path":633,"stem":634},"@i18n-micro\u002Fdevtools-ui","\u002Fv3\u002Fapi\u002Fpackages\u002Fdevtools-ui","v3\u002Fapi\u002Fpackages\u002Fdevtools-ui",{"title":636,"path":637,"stem":638},"@i18n-micro\u002Fhmr","\u002Fv3\u002Fapi\u002Fpackages\u002Fhmr","v3\u002Fapi\u002Fpackages\u002Fhmr",{"title":640,"path":641,"stem":642},"@i18n-micro\u002Fnode","\u002Fv3\u002Fapi\u002Fpackages\u002Fnode","v3\u002Fapi\u002Fpackages\u002Fnode",{"title":644,"path":645,"stem":646},"@i18n-micro\u002Fpath-strategy","\u002Fv3\u002Fapi\u002Fpackages\u002Fpath-strategy","v3\u002Fapi\u002Fpackages\u002Fpath-strategy",{"title":648,"path":649,"stem":650},"@i18n-micro\u002Fpreact","\u002Fv3\u002Fapi\u002Fpackages\u002Fpreact","v3\u002Fapi\u002Fpackages\u002Fpreact",{"title":652,"path":653,"stem":654},"@i18n-micro\u002Freact","\u002Fv3\u002Fapi\u002Fpackages\u002Freact","v3\u002Fapi\u002Fpackages\u002Freact",{"title":656,"path":657,"stem":658},"@i18n-micro\u002Froute-strategy","\u002Fv3\u002Fapi\u002Fpackages\u002Froute-strategy","v3\u002Fapi\u002Fpackages\u002Froute-strategy",{"title":660,"path":661,"stem":662},"@i18n-micro\u002Fruntime","\u002Fv3\u002Fapi\u002Fpackages\u002Fruntime","v3\u002Fapi\u002Fpackages\u002Fruntime",{"title":664,"path":665,"stem":666},"@i18n-micro\u002Fsolid","\u002Fv3\u002Fapi\u002Fpackages\u002Fsolid","v3\u002Fapi\u002Fpackages\u002Fsolid",{"title":668,"path":669,"stem":670},"@i18n-micro\u002Ftest-utils","\u002Fv3\u002Fapi\u002Fpackages\u002Ftest-utils","v3\u002Fapi\u002Fpackages\u002Ftest-utils",{"title":672,"path":673,"stem":674},"@i18n-micro\u002Ftypes","\u002Fv3\u002Fapi\u002Fpackages\u002Ftypes","v3\u002Fapi\u002Fpackages\u002Ftypes",{"title":676,"path":677,"stem":678},"@i18n-micro\u002Ftypes-generator","\u002Fv3\u002Fapi\u002Fpackages\u002Ftypes-generator","v3\u002Fapi\u002Fpackages\u002Ftypes-generator",{"title":680,"path":681,"stem":682},"@i18n-micro\u002Futils","\u002Fv3\u002Fapi\u002Fpackages\u002Futils","v3\u002Fapi\u002Fpackages\u002Futils",{"title":684,"path":685,"stem":686},"@i18n-micro\u002Fvitepress","\u002Fv3\u002Fapi\u002Fpackages\u002Fvitepress","v3\u002Fapi\u002Fpackages\u002Fvitepress",{"title":688,"path":689,"stem":690},"@i18n-micro\u002Fvue","\u002Fv3\u002Fapi\u002Fpackages\u002Fvue","v3\u002Fapi\u002Fpackages\u002Fvue",{"title":299,"order":28,"path":692,"stem":693,"children":694},"\u002Fv3\u002Fcomponents","v3\u002Fcomponents\u002Findex",[695,696,700,704,708],{"title":136,"path":692,"stem":693,"order":6},{"title":697,"path":698,"stem":699,"order":18},"i18n-t","\u002Fv3\u002Fcomponents\u002Fi18n-t","v3\u002Fcomponents\u002Fi18n-t",{"title":701,"path":702,"stem":703,"order":23},"i18n-switcher","\u002Fv3\u002Fcomponents\u002Fi18n-switcher","v3\u002Fcomponents\u002Fi18n-switcher",{"title":705,"path":706,"stem":707,"order":28},"i18n-link","\u002Fv3\u002Fcomponents\u002Fi18n-link","v3\u002Fcomponents\u002Fi18n-link",{"title":709,"path":710,"stem":711,"order":33},"i18n-group","\u002Fv3\u002Fcomponents\u002Fi18n-group","v3\u002Fcomponents\u002Fi18n-group",{"title":278,"path":713,"stem":714,"children":715,"order":33},"\u002Fv3\u002Fcomposables","v3\u002Fcomposables\u002Findex",[716,717,720,723,726],{"title":136,"path":713,"stem":714,"order":6},{"title":283,"path":718,"stem":719,"order":18},"\u002Fv3\u002Fcomposables\u002FuseI18n","v3\u002Fcomposables\u002FuseI18n",{"title":295,"path":721,"stem":722,"order":23},"\u002Fv3\u002Fcomposables\u002FuseLocaleHead","v3\u002Fcomposables\u002FuseLocaleHead",{"title":291,"path":724,"stem":725,"order":28},"\u002Fv3\u002Fcomposables\u002FuseI18nHead","v3\u002Fcomposables\u002FuseI18nHead",{"title":287,"path":727,"stem":728,"order":33},"\u002Fv3\u002Fcomposables\u002FuseI18nLocale","v3\u002Fcomposables\u002FuseI18nLocale",{"title":730,"path":731,"stem":732,"order":39},"Examples","\u002Fv3\u002Fexamples","v3\u002Fexamples",{"id":734,"title":30,"body":735,"description":1666,"extension":1667,"lastUpdated":1668,"links":1669,"meta":1670,"navigation":1672,"path":31,"seo":1673,"stem":32,"__hash__":1674},"docs\u002Fguide\u002Ftranslations.md",{"type":736,"value":737,"toc":1656},"minimark",[738,742,746,751,762,832,836,843,846,945,1005,1102,1105,1110,1113,1351,1376,1390,1394,1511,1515,1521,1532,1586,1602,1606,1619,1623,1652],[739,740,30],"h1",{"id":741},"translation-files",[743,744,745],"p",{},"Translations are plain JSON files: one root file per locale for shared keys, and one file per page and locale for that page's keys. Read this when you add pages, share keys between them or set up fallbacks. You learn which file a key must go in, what a page can see, and when each file is loaded.",[747,748,750],"h2",{"id":749},"layout","Layout",[752,753,759],"pre",{"className":754,"code":756,"language":757,"meta":758},[755],"language-text","locales\u002F\n├── en.json                 # root: menus, footer, buttons\n├── de.json\n└── pages\u002F\n    ├── index\u002F              # pages\u002Findex.vue\n    │   ├── en.json\n    │   └── de.json\n    ├── about\u002F              # pages\u002Fabout.vue\n    │   ├── en.json\n    │   └── de.json\n    └── products-id\u002F        # pages\u002Fproducts\u002F[id].vue\n        ├── en.json\n        └── de.json\n","text","",[760,761,756],"code",{"__ignoreMap":758},[763,764,765,793,803,817],"ul",{},[766,767,768,769,772,773,777,778,781,782,785,786,781,789,792],"li",{},"The folder under ",[760,770,771],{},"locales\u002Fpages\u002F"," is the Nuxt ",[774,775,776],"strong",{},"route name"," of the page: ",[760,779,780],{},"pages\u002Fproducts\u002F[id].vue"," is ",[760,783,784],{},"products-id",", ",[760,787,788],{},"pages\u002Fblog\u002F[slug]\u002Fcomments.vue",[760,790,791],{},"blog-slug-comments",".",[766,794,795,796,799,800,792],{},"Keys can nest to any depth; ",[760,797,798],{},"$t('auth.form.login')"," reads ",[760,801,802],{},"{ \"auth\": { \"form\": { \"login\": … } } }",[766,804,805,808,809,812,813,816],{},[760,806,807],{},"translationDir"," moves the folder (",[760,810,811],{},"'locales'"," by default, relative to the project root, also under the Nuxt 4 ",[760,814,815],{},"app\u002F"," layout).",[766,818,819,820,823,824,831],{},"Missing files are created as ",[760,821,822],{},"{}"," when Nuxt resolves the pages, unless ",[825,826,828],"a",{"href":827},"\u002Fapi\u002Fmodule-options#disablewatcher",[760,829,830],{},"disableWatcher"," is set.",[747,833,835],{"id":834},"what-a-page-sees","What a page sees",[743,837,838],{},[839,840],"img",{"alt":841,"src":842},"Lookup order for a key on \u002Fabout in de: pages\u002Fabout\u002Fde.json, de.json, pages\u002Fabout\u002Fen.json, en.json. They merge into one about\u002Fde\u002Fdata.json that $t reads","\u002Fdiagrams\u002Fpage-dictionary.svg",[743,844,845],{},"A page's dictionary is its root file merged with its page file, deeply (every level). The page file wins on a clash:",[752,847,851],{"className":848,"code":849,"language":850,"meta":758,"style":758},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F locales\u002Fen.json\n{ \"title\": \"My shop\", \"nav\": { \"home\": \"Home\", \"cart\": \"Cart\" } }\n","json",[760,852,853,861],{"__ignoreMap":758},[854,855,857],"span",{"class":856,"line":353},"line",[854,858,860],{"class":859},"sHwdD","\u002F\u002F locales\u002Fen.json\n",[854,862,864,868,871,875,878,881,883,887,889,892,894,897,899,901,904,906,910,912,914,916,919,921,923,925,928,930,932,934,937,939,942],{"class":856,"line":863},2,[854,865,867],{"class":866},"sMK4o","{",[854,869,870],{"class":866}," \"",[854,872,874],{"class":873},"spNyl","title",[854,876,877],{"class":866},"\"",[854,879,880],{"class":866},":",[854,882,870],{"class":866},[854,884,886],{"class":885},"sfazB","My shop",[854,888,877],{"class":866},[854,890,891],{"class":866},",",[854,893,870],{"class":866},[854,895,896],{"class":873},"nav",[854,898,877],{"class":866},[854,900,880],{"class":866},[854,902,903],{"class":866}," {",[854,905,870],{"class":866},[854,907,909],{"class":908},"sBMFI","home",[854,911,877],{"class":866},[854,913,880],{"class":866},[854,915,870],{"class":866},[854,917,918],{"class":885},"Home",[854,920,877],{"class":866},[854,922,891],{"class":866},[854,924,870],{"class":866},[854,926,927],{"class":908},"cart",[854,929,877],{"class":866},[854,931,880],{"class":866},[854,933,870],{"class":866},[854,935,936],{"class":885},"Cart",[854,938,877],{"class":866},[854,940,941],{"class":866}," }",[854,943,944],{"class":866}," }\n",[752,946,948],{"className":848,"code":947,"language":850,"meta":758,"style":758},"\u002F\u002F locales\u002Fpages\u002Fabout\u002Fen.json\n{ \"title\": \"About us\", \"nav\": { \"cart\": \"Basket\" } }\n",[760,949,950,955],{"__ignoreMap":758},[854,951,952],{"class":856,"line":353},[854,953,954],{"class":859},"\u002F\u002F locales\u002Fpages\u002Fabout\u002Fen.json\n",[854,956,957,959,961,963,965,967,969,972,974,976,978,980,982,984,986,988,990,992,994,996,999,1001,1003],{"class":856,"line":863},[854,958,867],{"class":866},[854,960,870],{"class":866},[854,962,874],{"class":873},[854,964,877],{"class":866},[854,966,880],{"class":866},[854,968,870],{"class":866},[854,970,971],{"class":885},"About us",[854,973,877],{"class":866},[854,975,891],{"class":866},[854,977,870],{"class":866},[854,979,896],{"class":873},[854,981,877],{"class":866},[854,983,880],{"class":866},[854,985,903],{"class":866},[854,987,870],{"class":866},[854,989,927],{"class":908},[854,991,877],{"class":866},[854,993,880],{"class":866},[854,995,870],{"class":866},[854,997,998],{"class":885},"Basket",[854,1000,877],{"class":866},[854,1002,941],{"class":866},[854,1004,944],{"class":866},[752,1006,1010],{"className":1007,"code":1008,"language":1009,"meta":758,"style":758},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F on \u002Fabout\nt('title') \u002F\u002F 'About us'\nt('nav.home') \u002F\u002F 'Home'   (root)\nt('nav.cart') \u002F\u002F 'Basket' (page wins)\n\u002F\u002F on any other page\nt('title') \u002F\u002F 'My shop'\n","ts",[760,1011,1012,1017,1040,1059,1078,1084],{"__ignoreMap":758},[854,1013,1014],{"class":856,"line":353},[854,1015,1016],{"class":859},"\u002F\u002F on \u002Fabout\n",[854,1018,1019,1023,1027,1030,1032,1034,1037],{"class":856,"line":863},[854,1020,1022],{"class":1021},"s2Zo4","t",[854,1024,1026],{"class":1025},"sTEyZ","(",[854,1028,1029],{"class":866},"'",[854,1031,874],{"class":885},[854,1033,1029],{"class":866},[854,1035,1036],{"class":1025},") ",[854,1038,1039],{"class":859},"\u002F\u002F 'About us'\n",[854,1041,1043,1045,1047,1049,1052,1054,1056],{"class":856,"line":1042},3,[854,1044,1022],{"class":1021},[854,1046,1026],{"class":1025},[854,1048,1029],{"class":866},[854,1050,1051],{"class":885},"nav.home",[854,1053,1029],{"class":866},[854,1055,1036],{"class":1025},[854,1057,1058],{"class":859},"\u002F\u002F 'Home'   (root)\n",[854,1060,1062,1064,1066,1068,1071,1073,1075],{"class":856,"line":1061},4,[854,1063,1022],{"class":1021},[854,1065,1026],{"class":1025},[854,1067,1029],{"class":866},[854,1069,1070],{"class":885},"nav.cart",[854,1072,1029],{"class":866},[854,1074,1036],{"class":1025},[854,1076,1077],{"class":859},"\u002F\u002F 'Basket' (page wins)\n",[854,1079,1081],{"class":856,"line":1080},5,[854,1082,1083],{"class":859},"\u002F\u002F on any other page\n",[854,1085,1087,1089,1091,1093,1095,1097,1099],{"class":856,"line":1086},6,[854,1088,1022],{"class":1021},[854,1090,1026],{"class":1025},[854,1092,1029],{"class":866},[854,1094,874],{"class":885},[854,1096,1029],{"class":866},[854,1098,1036],{"class":1025},[854,1100,1101],{"class":859},"\u002F\u002F 'My shop'\n",[743,1103,1104],{},"A page without its own folder gets the root dictionary alone. Keys of other pages are not visible.",[1106,1107,1109],"h3",{"id":1108},"fallback-locales","Fallback locales",[743,1111,1112],{},"A key missing in the active locale is taken from its fallback locale before the key itself is shown:",[752,1114,1116],{"className":1007,"code":1115,"language":1009,"meta":758,"style":758},"\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['nuxt-i18n-micro'],\n  i18n: {\n    locales: [\n      { code: 'en', iso: 'en-US' },\n      { code: 'de', iso: 'de-DE' },\n      { code: 'de-at', iso: 'de-AT', fallbackLocale: 'de' },\n    ],\n    defaultLocale: 'en',\n    fallbackLocale: 'en', \u002F\u002F global, for every locale\n  },\n})\n",[760,1117,1118,1123,1140,1164,1174,1184,1219,1250,1294,1302,1317,1336,1342],{"__ignoreMap":758},[854,1119,1120],{"class":856,"line":353},[854,1121,1122],{"class":859},"\u002F\u002F nuxt.config.ts\n",[854,1124,1125,1129,1132,1135,1137],{"class":856,"line":863},[854,1126,1128],{"class":1127},"s7zQu","export",[854,1130,1131],{"class":1127}," default",[854,1133,1134],{"class":1021}," defineNuxtConfig",[854,1136,1026],{"class":1025},[854,1138,1139],{"class":866},"{\n",[854,1141,1142,1146,1148,1151,1153,1156,1158,1161],{"class":856,"line":1042},[854,1143,1145],{"class":1144},"swJcz","  modules",[854,1147,880],{"class":866},[854,1149,1150],{"class":1025}," [",[854,1152,1029],{"class":866},[854,1154,1155],{"class":885},"nuxt-i18n-micro",[854,1157,1029],{"class":866},[854,1159,1160],{"class":1025},"]",[854,1162,1163],{"class":866},",\n",[854,1165,1166,1169,1171],{"class":856,"line":1061},[854,1167,1168],{"class":1144},"  i18n",[854,1170,880],{"class":866},[854,1172,1173],{"class":866}," {\n",[854,1175,1176,1179,1181],{"class":856,"line":1080},[854,1177,1178],{"class":1144},"    locales",[854,1180,880],{"class":866},[854,1182,1183],{"class":1025}," [\n",[854,1185,1186,1189,1192,1194,1197,1200,1202,1204,1207,1209,1211,1214,1216],{"class":856,"line":1086},[854,1187,1188],{"class":866},"      {",[854,1190,1191],{"class":1144}," code",[854,1193,880],{"class":866},[854,1195,1196],{"class":866}," '",[854,1198,1199],{"class":885},"en",[854,1201,1029],{"class":866},[854,1203,891],{"class":866},[854,1205,1206],{"class":1144}," iso",[854,1208,880],{"class":866},[854,1210,1196],{"class":866},[854,1212,1213],{"class":885},"en-US",[854,1215,1029],{"class":866},[854,1217,1218],{"class":866}," },\n",[854,1220,1222,1224,1226,1228,1230,1233,1235,1237,1239,1241,1243,1246,1248],{"class":856,"line":1221},7,[854,1223,1188],{"class":866},[854,1225,1191],{"class":1144},[854,1227,880],{"class":866},[854,1229,1196],{"class":866},[854,1231,1232],{"class":885},"de",[854,1234,1029],{"class":866},[854,1236,891],{"class":866},[854,1238,1206],{"class":1144},[854,1240,880],{"class":866},[854,1242,1196],{"class":866},[854,1244,1245],{"class":885},"de-DE",[854,1247,1029],{"class":866},[854,1249,1218],{"class":866},[854,1251,1253,1255,1257,1259,1261,1264,1266,1268,1270,1272,1274,1277,1279,1281,1284,1286,1288,1290,1292],{"class":856,"line":1252},8,[854,1254,1188],{"class":866},[854,1256,1191],{"class":1144},[854,1258,880],{"class":866},[854,1260,1196],{"class":866},[854,1262,1263],{"class":885},"de-at",[854,1265,1029],{"class":866},[854,1267,891],{"class":866},[854,1269,1206],{"class":1144},[854,1271,880],{"class":866},[854,1273,1196],{"class":866},[854,1275,1276],{"class":885},"de-AT",[854,1278,1029],{"class":866},[854,1280,891],{"class":866},[854,1282,1283],{"class":1144}," fallbackLocale",[854,1285,880],{"class":866},[854,1287,1196],{"class":866},[854,1289,1232],{"class":885},[854,1291,1029],{"class":866},[854,1293,1218],{"class":866},[854,1295,1297,1300],{"class":856,"line":1296},9,[854,1298,1299],{"class":1025},"    ]",[854,1301,1163],{"class":866},[854,1303,1304,1307,1309,1311,1313,1315],{"class":856,"line":6},[854,1305,1306],{"class":1144},"    defaultLocale",[854,1308,880],{"class":866},[854,1310,1196],{"class":866},[854,1312,1199],{"class":885},[854,1314,1029],{"class":866},[854,1316,1163],{"class":866},[854,1318,1320,1323,1325,1327,1329,1331,1333],{"class":856,"line":1319},11,[854,1321,1322],{"class":1144},"    fallbackLocale",[854,1324,880],{"class":866},[854,1326,1196],{"class":866},[854,1328,1199],{"class":885},[854,1330,1029],{"class":866},[854,1332,891],{"class":866},[854,1334,1335],{"class":859}," \u002F\u002F global, for every locale\n",[854,1337,1339],{"class":856,"line":1338},12,[854,1340,1341],{"class":866},"  },\n",[854,1343,1345,1348],{"class":856,"line":1344},13,[854,1346,1347],{"class":866},"}",[854,1349,1350],{"class":1025},")\n",[763,1352,1353,1367,1373],{},[766,1354,1355,1356,1359,1360,1362,1363,1362,1365,792],{},"A locale's own ",[760,1357,1358],{},"fallbackLocale"," is followed to its end: ",[760,1361,1263],{}," → ",[760,1364,1232],{},[760,1366,1199],{},[766,1368,1369,1370,1372],{},"The global ",[760,1371,1358],{}," is the weakest layer, under every chain.",[766,1374,1375],{},"Each locale in the chain adds its root file, then its page file, from the weakest fallback up to the active locale. So the active locale's root file beats a fallback locale's page file.",[743,1377,1378,1379,1382,1383,1389],{},"Without a fallback, a missing key renders as the key (",[760,1380,1381],{},"'nav.home'",") and logs a warning in the browser console in dev (",[825,1384,1386],{"href":1385},"\u002Fapi\u002Fmodule-options#missingwarn",[760,1387,1388],{},"missingWarn",").",[747,1391,1393],{"id":1392},"sharing-and-other-sources","Sharing and other sources",[1395,1396,1397,1410],"table",{},[1398,1399,1400],"thead",{},[1401,1402,1403,1407],"tr",{},[1404,1405,1406],"th",{},"Need",[1404,1408,1409],{},"Option",[1411,1412,1413,1431,1448,1468,1478,1498],"tbody",{},[1401,1414,1415,1423],{},[1416,1417,1418,1419,1422],"td",{},"Only root files, no ",[760,1420,1421],{},"pages\u002F"," folders",[1416,1424,1425],{},[825,1426,1428],{"href":1427},"\u002Fapi\u002Fmodule-options#disablepagelocales",[760,1429,1430],{},"disablePageLocales: true",[1401,1432,1433,1436],{},[1416,1434,1435],{},"Two pages read one page folder",[1416,1437,1438,1444,1445],{},[825,1439,1441],{"href":1440},"\u002Fapi\u002Fmodule-options#routeslocalelinks",[760,1442,1443],{},"routesLocaleLinks",": ",[760,1446,1447],{},"{ 'about-us': 'about' }",[1401,1449,1450,1453],{},[1416,1451,1452],{},"Shared root files in another folder",[1416,1454,1455,1444,1461,1464,1465,1467],{},[825,1456,1458],{"href":1457},"\u002Fapi\u002Fmodule-options#additionaltranslationdirs",[760,1459,1460],{},"additionalTranslationDirs",[760,1462,1463],{},"['common']"," (the main ",[760,1466,807],{}," wins)",[1401,1469,1470,1473],{},[1416,1471,1472],{},"Keys from a Nuxt layer",[1416,1474,1475,1476],{},"Layers' files merge, the project's own files win. See ",[825,1477,458],{"href":84},[1401,1479,1480,1483],{},[1416,1481,1482],{},"Keys added at runtime",[1416,1484,1485,1486,1491,1492,785,1495],{},"the ",[825,1487,1488],{"href":202},[760,1489,1490],{},"i18n:register"," hook, ",[760,1493,1494],{},"$mergeTranslations",[760,1496,1497],{},"$setTranslation",[1401,1499,1500,1503],{},[1416,1501,1502],{},"Keys inline in a page component",[1416,1504,1505,1508,1509],{},[760,1506,1507],{},"$defineI18nRoute({ locales: { en: { … } } })",", see ",[825,1510,36],{"href":37},[747,1512,1514],{"id":1513},"how-a-page-loads-its-dictionary","How a page loads its dictionary",[743,1516,1517],{},[839,1518],{"alt":1519,"src":1520},"Locale JSON files are built into a payload tree, stored in public\u002F on Node or in server assets on Edge, read by a server loader, then used by $t on the server and fetched for $t in the browser","\u002Fdiagrams\u002Ftranslation-pipeline.svg",[743,1522,1523,1524,1527,1528,1531],{},"The module builds one payload per page and locale: ",[760,1525,1526],{},"\u002F{apiBaseUrl}\u002F{page}\u002F{locale}\u002Fdata.json"," (",[760,1529,1530],{},"\u002F_locales\u002Fabout\u002Fde\u002Fdata.json"," by default).",[1533,1534,1535,1541,1551,1577],"ol",{},[766,1536,1537,1540],{},[774,1538,1539],{},"Server render."," Nitro detects the locale and the page loads its payload from the server loader directly, with no HTTP request. The dictionary is not written into the HTML payload, so pages stay small.",[766,1542,1543,1546,1547,1550],{},[774,1544,1545],{},"Hydration."," The browser fetches the same payload. The server already emitted a ",[760,1548,1549],{},"\u003Clink rel=\"preload\">"," for it, so the fetch starts with the HTML.",[766,1552,1553,1556,1557,1560,1561,1564,1565,1568,1569,1572,1573,1576],{},[774,1554,1555],{},"Navigation."," The next page's payload replaces the dictionary. The leaving page's keys still resolve until it is gone (end of the page transition, or ",[760,1558,1559],{},"page:finish","), so a fading-out page does not flash raw keys. A chunk that fails to load (network error, 4xx or 5xx, a body that is not an object) leaves the current dictionary in place, and the next navigation loads it again. A failed locale switch is the same: ",[760,1562,1563],{},"$switchLocale"," resolves ",[760,1566,1567],{},"false",", and calling it again, or clicking the switcher again, retries. Under the prefix strategies the URL has already moved by then, so ",[760,1570,1571],{},"lang"," and ",[760,1574,1575],{},"$getLocale()"," name the URL's locale while the old texts stay on screen.",[766,1578,1579,1582,1583,1585],{},[774,1580,1581],{},"Cache."," Loaded payloads are cached on the server and in the browser; ",[825,1584,474],{"href":95}," has the size and TTL knobs.",[743,1587,1588,1591,1592,1595,1596,1599,1600,792],{},[760,1589,1590],{},"translationPayloads.mode"," decides how payloads are built. ",[760,1593,1594],{},"'premerged'"," (default) writes every page × locale file at build time. ",[760,1597,1598],{},"'source'"," keeps the source files and merges per request, which is smaller for large catalogs on Edge targets. Both give the same dictionaries. Where the files end up for each deploy target is on ",[825,1601,88],{"href":89},[747,1603,1605],{"id":1604},"editing-in-development","Editing in development",[743,1607,1608,1611,1612,1618],{},[760,1609,1610],{},"nuxt dev"," reads the files live. Saving a translation file refreshes the open page's dictionary in place: no reload, removed keys disappear, and a change to a root file reaches every page. A broken JSON file logs a warning with its path and is treated as empty. Set ",[825,1613,1615],{"href":1614},"\u002Fapi\u002Fmodule-options#hmr",[760,1616,1617],{},"hmr: false"," to refresh by hand instead.",[747,1620,1622],{"id":1621},"related","Related",[1624,1625,1626,1633,1650],"card-group",{},[1627,1628,1630],"card",{"icon":1629,"title":36,"to":37},"i-lucide-book-open",[743,1631,1632],{},"Per-page locales and inline translations",[1627,1634,1636],{"icon":1635,"title":604,"to":198},"i-lucide-braces",[743,1637,1638,785,1641,785,1644,785,1647],{},[760,1639,1640],{},"$t",[760,1642,1643],{},"$tc",[760,1645,1646],{},"$tn",[760,1648,1649],{},"$td",[1627,1651],{"icon":1629,"title":88,"to":89},[1653,1654,1655],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .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 .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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":758,"searchDepth":863,"depth":863,"links":1657},[1658,1659,1662,1663,1664,1665],{"id":749,"depth":863,"text":750},{"id":834,"depth":863,"text":835,"children":1660},[1661],{"id":1108,"depth":1042,"text":1109},{"id":1392,"depth":863,"text":1393},{"id":1513,"depth":863,"text":1514},{"id":1604,"depth":863,"text":1605},{"id":1621,"depth":863,"text":1622},"Where translation keys live, how root and page files combine with fallbacks, and how a page loads its dictionary.","md","2026-11-04T00:40:16+04:00",null,{"outline":1671},[863,1042],{"order":33,"group":34},{"title":30,"description":1666},"cl7t4mgKhIJrMzbI-5Dzs1ptDiRNxBLFte494xOiy8E",[1676,1678],{"title":25,"path":26,"description":1677},"Short answers to common nuxt-i18n-micro problems, each with a link to the page that covers it.",{"title":36,"path":37,"description":1679},"Restrict a page to some locales, give it custom paths, inline translations or no SEO tags with $defineI18nRoute.",1793790718027]