[{"data":1,"prerenderedAt":2044},["ShallowReactive",2],{"navigation":3,"v3-navigation":411,"\u002Fguide\u002Flayers":738,"\u002Fguide\u002Flayers-surround":2039},[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":83,"body":740,"description":2030,"extension":2031,"lastUpdated":2032,"links":2033,"meta":2034,"navigation":2036,"path":84,"seo":2037,"stem":85,"__hash__":2038},"docs\u002Fguide\u002Flayers.md",{"type":741,"value":742,"toc":2022},"minimark",[743,747,756,761,986,1127,1179,1190,1194,1201,1475,1478,1630,1642,1771,1780,1783,1964,1971,1976,1985,1989,1997,2001,2018],[744,745,83],"h1",{"id":746},"layers-and-domains",[748,749,750,751,755],"p",{},"A Nuxt layer can carry the i18n config and the ",[752,753,754],"code",{},"locales\u002F"," folder for several apps, and each app adds or overrides what it needs. This page shows that, and how one build serves several domains.",[757,758,760],"h2",{"id":759},"share-config-and-translations","Share config and translations",[762,763,768],"pre",{"className":764,"code":765,"language":766,"meta":767,"style":767},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F base\u002Fnuxt.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: 'fr', iso: 'fr-FR' },\n    ],\n    defaultLocale: 'en',\n  },\n})\n","ts","",[752,769,770,778,800,828,839,850,887,918,949,956,971,977],{"__ignoreMap":767},[771,772,774],"span",{"class":773,"line":353},"line",[771,775,777],{"class":776},"sHwdD","\u002F\u002F base\u002Fnuxt.config.ts\n",[771,779,781,785,788,792,796],{"class":773,"line":780},2,[771,782,784],{"class":783},"s7zQu","export",[771,786,787],{"class":783}," default",[771,789,791],{"class":790},"s2Zo4"," defineNuxtConfig",[771,793,795],{"class":794},"sTEyZ","(",[771,797,799],{"class":798},"sMK4o","{\n",[771,801,803,807,810,813,816,820,822,825],{"class":773,"line":802},3,[771,804,806],{"class":805},"swJcz","  modules",[771,808,809],{"class":798},":",[771,811,812],{"class":794}," [",[771,814,815],{"class":798},"'",[771,817,819],{"class":818},"sfazB","nuxt-i18n-micro",[771,821,815],{"class":798},[771,823,824],{"class":794},"]",[771,826,827],{"class":798},",\n",[771,829,831,834,836],{"class":773,"line":830},4,[771,832,833],{"class":805},"  i18n",[771,835,809],{"class":798},[771,837,838],{"class":798}," {\n",[771,840,842,845,847],{"class":773,"line":841},5,[771,843,844],{"class":805},"    locales",[771,846,809],{"class":798},[771,848,849],{"class":794}," [\n",[771,851,853,856,859,861,864,867,869,872,875,877,879,882,884],{"class":773,"line":852},6,[771,854,855],{"class":798},"      {",[771,857,858],{"class":805}," code",[771,860,809],{"class":798},[771,862,863],{"class":798}," '",[771,865,866],{"class":818},"en",[771,868,815],{"class":798},[771,870,871],{"class":798},",",[771,873,874],{"class":805}," iso",[771,876,809],{"class":798},[771,878,863],{"class":798},[771,880,881],{"class":818},"en-US",[771,883,815],{"class":798},[771,885,886],{"class":798}," },\n",[771,888,890,892,894,896,898,901,903,905,907,909,911,914,916],{"class":773,"line":889},7,[771,891,855],{"class":798},[771,893,858],{"class":805},[771,895,809],{"class":798},[771,897,863],{"class":798},[771,899,900],{"class":818},"de",[771,902,815],{"class":798},[771,904,871],{"class":798},[771,906,874],{"class":805},[771,908,809],{"class":798},[771,910,863],{"class":798},[771,912,913],{"class":818},"de-DE",[771,915,815],{"class":798},[771,917,886],{"class":798},[771,919,921,923,925,927,929,932,934,936,938,940,942,945,947],{"class":773,"line":920},8,[771,922,855],{"class":798},[771,924,858],{"class":805},[771,926,809],{"class":798},[771,928,863],{"class":798},[771,930,931],{"class":818},"fr",[771,933,815],{"class":798},[771,935,871],{"class":798},[771,937,874],{"class":805},[771,939,809],{"class":798},[771,941,863],{"class":798},[771,943,944],{"class":818},"fr-FR",[771,946,815],{"class":798},[771,948,886],{"class":798},[771,950,951,954],{"class":773,"line":358},[771,952,953],{"class":794},"    ]",[771,955,827],{"class":798},[771,957,958,961,963,965,967,969],{"class":773,"line":6},[771,959,960],{"class":805},"    defaultLocale",[771,962,809],{"class":798},[771,964,863],{"class":798},[771,966,866],{"class":818},[771,968,815],{"class":798},[771,970,827],{"class":798},[771,972,974],{"class":773,"line":973},11,[771,975,976],{"class":798},"  },\n",[771,978,980,983],{"class":773,"line":979},12,[771,981,982],{"class":798},"}",[771,984,985],{"class":794},")\n",[762,987,989],{"className":764,"code":988,"language":766,"meta":767,"style":767},"\u002F\u002F shop\u002Fnuxt.config.ts\nexport default defineNuxtConfig({\n  extends: ['..\u002Fbase'], \u002F\u002F a layer directory or package, not a nuxt.config file\n  i18n: {\n    locales: [\n      { code: 'es', iso: 'es-ES' }, \u002F\u002F added\n      { code: 'fr', disabled: true }, \u002F\u002F the base layer's fr, switched off here\n    ],\n  },\n})\n",[752,990,991,996,1008,1031,1039,1047,1081,1111,1117,1121],{"__ignoreMap":767},[771,992,993],{"class":773,"line":353},[771,994,995],{"class":776},"\u002F\u002F shop\u002Fnuxt.config.ts\n",[771,997,998,1000,1002,1004,1006],{"class":773,"line":780},[771,999,784],{"class":783},[771,1001,787],{"class":783},[771,1003,791],{"class":790},[771,1005,795],{"class":794},[771,1007,799],{"class":798},[771,1009,1010,1013,1015,1017,1019,1022,1024,1026,1028],{"class":773,"line":802},[771,1011,1012],{"class":805},"  extends",[771,1014,809],{"class":798},[771,1016,812],{"class":794},[771,1018,815],{"class":798},[771,1020,1021],{"class":818},"..\u002Fbase",[771,1023,815],{"class":798},[771,1025,824],{"class":794},[771,1027,871],{"class":798},[771,1029,1030],{"class":776}," \u002F\u002F a layer directory or package, not a nuxt.config file\n",[771,1032,1033,1035,1037],{"class":773,"line":830},[771,1034,833],{"class":805},[771,1036,809],{"class":798},[771,1038,838],{"class":798},[771,1040,1041,1043,1045],{"class":773,"line":841},[771,1042,844],{"class":805},[771,1044,809],{"class":798},[771,1046,849],{"class":794},[771,1048,1049,1051,1053,1055,1057,1060,1062,1064,1066,1068,1070,1073,1075,1078],{"class":773,"line":852},[771,1050,855],{"class":798},[771,1052,858],{"class":805},[771,1054,809],{"class":798},[771,1056,863],{"class":798},[771,1058,1059],{"class":818},"es",[771,1061,815],{"class":798},[771,1063,871],{"class":798},[771,1065,874],{"class":805},[771,1067,809],{"class":798},[771,1069,863],{"class":798},[771,1071,1072],{"class":818},"es-ES",[771,1074,815],{"class":798},[771,1076,1077],{"class":798}," },",[771,1079,1080],{"class":776}," \u002F\u002F added\n",[771,1082,1083,1085,1087,1089,1091,1093,1095,1097,1100,1102,1106,1108],{"class":773,"line":889},[771,1084,855],{"class":798},[771,1086,858],{"class":805},[771,1088,809],{"class":798},[771,1090,863],{"class":798},[771,1092,931],{"class":818},[771,1094,815],{"class":798},[771,1096,871],{"class":798},[771,1098,1099],{"class":805}," disabled",[771,1101,809],{"class":798},[771,1103,1105],{"class":1104},"sfNiH"," true",[771,1107,1077],{"class":798},[771,1109,1110],{"class":776}," \u002F\u002F the base layer's fr, switched off here\n",[771,1112,1113,1115],{"class":773,"line":920},[771,1114,953],{"class":794},[771,1116,827],{"class":798},[771,1118,1119],{"class":773,"line":358},[771,1120,976],{"class":798},[771,1122,1123,1125],{"class":773,"line":6},[771,1124,982],{"class":798},[771,1126,985],{"class":794},[1128,1129,1130,1149,1170],"ul",{},[1131,1132,1133,1137,1138,1141,1142,1144,1145,1148],"li",{},[1134,1135,1136],"strong",{},"Config:"," scalar options in the app replace the layer's. ",[752,1139,1140],{},"locales"," arrays from all layers are combined, and entries with the same ",[752,1143,752],{}," merge into one with the app's fields winning, so an app can add a locale or set fields such as ",[752,1146,1147],{},"disabled: true"," on an inherited one.",[1131,1150,1151,1154,1155,1157,1158,1161,1162,1165,1166,1169],{},[1134,1152,1153],{},"Translations:"," ",[752,1156,754],{}," of every layer are merged key by key, layer first and app last, so a key in ",[752,1159,1160],{},"shop\u002Flocales\u002Fen.json"," overrides the same key in ",[752,1163,1164],{},"base\u002Flocales\u002Fen.json",". Page files (",[752,1167,1168],{},"locales\u002Fpages\u002F\u003Cpage>\u002F",") merge the same way.",[1131,1171,1172,1154,1175,1178],{},[1134,1173,1174],{},"Pages:",[752,1176,1177],{},"$defineI18nRoute"," is read from the pages of every layer.",[748,1180,1181,1182,1189],{},"To merge folders that are not part of a layer, list them in ",[1183,1184,1186],"a",{"href":1185},"\u002Fapi\u002Fmodule-options#additionaltranslationdirs",[752,1187,1188],{},"additionalTranslationDirs",".",[757,1191,1193],{"id":1192},"multiple-domains","Multiple domains",[748,1195,1196,1197,1200],{},"One build serves every domain. List each locale with its domain; ",[752,1198,1199],{},"baseDefault"," makes it the default of that host:",[762,1202,1204],{"className":764,"code":1203,"language":766,"meta":767,"style":767},"\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['nuxt-i18n-micro'],\n  i18n: {\n    strategy: 'prefix_except_default',\n    defaultLocale: 'en',\n    locales: [\n      { code: 'en', iso: 'en-US', baseUrl: 'https:\u002F\u002Fexample.com', baseDefault: true },\n      { code: 'de', iso: 'de-DE', baseUrl: 'https:\u002F\u002Fexample.de', baseDefault: true },\n      { code: 'nl', iso: 'nl-NL', baseUrl: 'https:\u002F\u002Fexample.de' },\n      { code: 'fr', iso: 'fr-FR' },\n    ],\n  },\n})\n",[752,1205,1206,1211,1223,1241,1249,1265,1279,1287,1338,1387,1429,1457,1463,1468],{"__ignoreMap":767},[771,1207,1208],{"class":773,"line":353},[771,1209,1210],{"class":776},"\u002F\u002F nuxt.config.ts\n",[771,1212,1213,1215,1217,1219,1221],{"class":773,"line":780},[771,1214,784],{"class":783},[771,1216,787],{"class":783},[771,1218,791],{"class":790},[771,1220,795],{"class":794},[771,1222,799],{"class":798},[771,1224,1225,1227,1229,1231,1233,1235,1237,1239],{"class":773,"line":802},[771,1226,806],{"class":805},[771,1228,809],{"class":798},[771,1230,812],{"class":794},[771,1232,815],{"class":798},[771,1234,819],{"class":818},[771,1236,815],{"class":798},[771,1238,824],{"class":794},[771,1240,827],{"class":798},[771,1242,1243,1245,1247],{"class":773,"line":830},[771,1244,833],{"class":805},[771,1246,809],{"class":798},[771,1248,838],{"class":798},[771,1250,1251,1254,1256,1258,1261,1263],{"class":773,"line":841},[771,1252,1253],{"class":805},"    strategy",[771,1255,809],{"class":798},[771,1257,863],{"class":798},[771,1259,1260],{"class":818},"prefix_except_default",[771,1262,815],{"class":798},[771,1264,827],{"class":798},[771,1266,1267,1269,1271,1273,1275,1277],{"class":773,"line":852},[771,1268,960],{"class":805},[771,1270,809],{"class":798},[771,1272,863],{"class":798},[771,1274,866],{"class":818},[771,1276,815],{"class":798},[771,1278,827],{"class":798},[771,1280,1281,1283,1285],{"class":773,"line":889},[771,1282,844],{"class":805},[771,1284,809],{"class":798},[771,1286,849],{"class":794},[771,1288,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1318,1320,1322,1325,1327,1329,1332,1334,1336],{"class":773,"line":920},[771,1290,855],{"class":798},[771,1292,858],{"class":805},[771,1294,809],{"class":798},[771,1296,863],{"class":798},[771,1298,866],{"class":818},[771,1300,815],{"class":798},[771,1302,871],{"class":798},[771,1304,874],{"class":805},[771,1306,809],{"class":798},[771,1308,863],{"class":798},[771,1310,881],{"class":818},[771,1312,815],{"class":798},[771,1314,871],{"class":798},[771,1316,1317],{"class":805}," baseUrl",[771,1319,809],{"class":798},[771,1321,863],{"class":798},[771,1323,1324],{"class":818},"https:\u002F\u002Fexample.com",[771,1326,815],{"class":798},[771,1328,871],{"class":798},[771,1330,1331],{"class":805}," baseDefault",[771,1333,809],{"class":798},[771,1335,1105],{"class":1104},[771,1337,886],{"class":798},[771,1339,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1375,1377,1379,1381,1383,1385],{"class":773,"line":358},[771,1341,855],{"class":798},[771,1343,858],{"class":805},[771,1345,809],{"class":798},[771,1347,863],{"class":798},[771,1349,900],{"class":818},[771,1351,815],{"class":798},[771,1353,871],{"class":798},[771,1355,874],{"class":805},[771,1357,809],{"class":798},[771,1359,863],{"class":798},[771,1361,913],{"class":818},[771,1363,815],{"class":798},[771,1365,871],{"class":798},[771,1367,1317],{"class":805},[771,1369,809],{"class":798},[771,1371,863],{"class":798},[771,1373,1374],{"class":818},"https:\u002F\u002Fexample.de",[771,1376,815],{"class":798},[771,1378,871],{"class":798},[771,1380,1331],{"class":805},[771,1382,809],{"class":798},[771,1384,1105],{"class":1104},[771,1386,886],{"class":798},[771,1388,1389,1391,1393,1395,1397,1400,1402,1404,1406,1408,1410,1413,1415,1417,1419,1421,1423,1425,1427],{"class":773,"line":6},[771,1390,855],{"class":798},[771,1392,858],{"class":805},[771,1394,809],{"class":798},[771,1396,863],{"class":798},[771,1398,1399],{"class":818},"nl",[771,1401,815],{"class":798},[771,1403,871],{"class":798},[771,1405,874],{"class":805},[771,1407,809],{"class":798},[771,1409,863],{"class":798},[771,1411,1412],{"class":818},"nl-NL",[771,1414,815],{"class":798},[771,1416,871],{"class":798},[771,1418,1317],{"class":805},[771,1420,809],{"class":798},[771,1422,863],{"class":798},[771,1424,1374],{"class":818},[771,1426,815],{"class":798},[771,1428,886],{"class":798},[771,1430,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449,1451,1453,1455],{"class":773,"line":973},[771,1432,855],{"class":798},[771,1434,858],{"class":805},[771,1436,809],{"class":798},[771,1438,863],{"class":798},[771,1440,931],{"class":818},[771,1442,815],{"class":798},[771,1444,871],{"class":798},[771,1446,874],{"class":805},[771,1448,809],{"class":798},[771,1450,863],{"class":798},[771,1452,944],{"class":818},[771,1454,815],{"class":798},[771,1456,886],{"class":798},[771,1458,1459,1461],{"class":773,"line":979},[771,1460,953],{"class":794},[771,1462,827],{"class":798},[771,1464,1466],{"class":773,"line":1465},13,[771,1467,976],{"class":798},[771,1469,1471,1473],{"class":773,"line":1470},14,[771,1472,982],{"class":798},[771,1474,985],{"class":794},[748,1476,1477],{},"Point both domains at the same server. The request's host decides the rest:",[1128,1479,1480,1489,1511,1543,1583,1615],{},[1131,1481,1482,1485,1486,1488],{},[1134,1483,1484],{},"Default:"," the host's ",[752,1487,1199],{}," locale. Without one, the build default if the host serves it, else the host's first locale.",[1131,1490,1491,1494,1495,1498,1499,1502,1503,1505,1506,1508,1509,1189],{},[1134,1492,1493],{},"Served locales:"," the locales of that host, plus every locale with no ",[752,1496,1497],{},"baseUrl",". On ",[752,1500,1501],{},"example.de"," that is ",[752,1504,900],{},", ",[752,1507,1399],{}," and ",[752,1510,931],{},[1131,1512,1513,1516,1517,1505,1520,1505,1523,1505,1526,1508,1528,1531,1532,1534,1535,1538,1539,1542],{},[1134,1514,1515],{},"Locales of other domains"," are link targets. ",[752,1518,1519],{},"$localePath",[752,1521,1522],{},"$localeRoute",[752,1524,1525],{},"$switchLocalePath",[752,1527,312],{},[752,1529,1530],{},"hreflang"," give absolute URLs on their ",[752,1533,1497],{},", and ",[752,1536,1537],{},"$switchLocale"," navigates there. On this host their URLs are a 404, and a cookie or ",[752,1540,1541],{},"Accept-Language"," cannot pick them.",[1131,1544,1545,1548,1549,1551,1552,1554,1555,1505,1558,1561,1562,1508,1565,1568,1569,1572,1573,1575,1576,1579,1580,1189],{},[1134,1546,1547],{},"A link to another domain"," goes through ",[752,1550,1519],{}," or ",[752,1553,308],{},": ",[752,1556,1557],{},"\u003CNuxtLink :to=\"$localePath('\u002Fcontact', 'de')\">",[752,1559,1560],{},"\u003Ci18n-link :to=\"$localeRoute('\u002Fcontact', 'de')\">",". The router takes no absolute object, so ",[752,1563,1564],{},"\u003CNuxtLink :to=\"$localeRoute(...)\">",[752,1566,1567],{},"router.push($localeRoute(...))"," stay on this origin. On ",[752,1570,1571],{},"localhost"," or a preview host every locale with a ",[752,1574,1497],{}," is such a link, the current one too. In code use ",[752,1577,1578],{},"navigateTo($localePath('\u002Fcontact', 'de'), { external: true })",", or ",[752,1581,1582],{},"$switchRoute",[1131,1584,1585,1588,1589,1591,1592,1594,1595,1598,1599,1601,1602,1604,1605,1551,1607,1610,1611,1614],{},[1134,1586,1587],{},"Any other host"," gets the build config, with every ",[752,1590,1497],{}," locale as a link target. Nothing from the request is echoed: canonical and ",[752,1593,1530],{}," use ",[752,1596,1597],{},"metaBaseUrl",", else the build default's ",[752,1600,1497],{}," (a default with no ",[752,1603,1497],{}," needs ",[752,1606,1597],{},[752,1608,1609],{},"site.url",", see ",[1183,1612,77],{"href":1613},"\u002Fguide\u002Fseo#set-the-public-origin",").",[1131,1616,1617,1620,1621,1624,1625,1629],{},[1134,1618,1619],{},"Payload files"," in ",[752,1622,1623],{},"public\u002F"," are static: any host returns any locale's file. Per-domain ",[1183,1626,1628],{"href":1627},"\u002Fguide\u002Fdeployment#static-site-nuxi-generate","generate"," publishes only that domain's.",[748,1631,1632,1634,1635,1638,1639,809],{},[752,1633,1501],{}," under each strategy, with ",[752,1636,1637],{},"de: '\u002Fkontakt'"," as a custom path of ",[752,1640,1641],{},"contact",[1643,1644,1645,1666],"table",{},[1646,1647,1648],"thead",{},[1649,1650,1651,1655,1660,1663],"tr",{},[1652,1653,1654],"th",{},"Strategy",[1652,1656,1657],{},[752,1658,1659],{},"\u002F",[1652,1661,1662],{},"Default locale's page",[1652,1664,1665],{},"Other URLs",[1667,1668,1669,1700,1727,1753],"tbody",{},[1649,1670,1671,1676,1680,1685],{},[1672,1673,1674],"td",{},[752,1675,1260],{},[1672,1677,1678],{},[752,1679,900],{},[1672,1681,1682],{},[752,1683,1684],{},"\u002Fkontakt",[1672,1686,1687,1508,1690,1693,1694,1697,1698],{},[752,1688,1689],{},"\u002Fde\u002Fkontakt",[752,1691,1692],{},"\u002Fen\u002Fcontact"," are a 404, ",[752,1695,1696],{},"\u002Fcontact"," redirects to ",[752,1699,1684],{},[1649,1701,1702,1707,1711,1720],{},[1672,1703,1704],{},[752,1705,1706],{},"prefix_and_default",[1672,1708,1709],{},[752,1710,900],{},[1672,1712,1713,1508,1715,1717,1718],{},[752,1714,1684],{},[752,1716,1689],{},", links use ",[752,1719,1684],{},[1672,1721,1722,1508,1724,1726],{},[752,1723,1692],{},[752,1725,1696],{}," are a 404",[1649,1728,1729,1734,1740,1744],{},[1672,1730,1731],{},[752,1732,1733],{},"prefix",[1672,1735,1736,1737],{},"redirects to ",[752,1738,1739],{},"\u002Fde",[1672,1741,1742],{},[752,1743,1689],{},[1672,1745,1746,1697,1748,1505,1750,1752],{},[752,1747,1684],{},[752,1749,1689],{},[752,1751,1692],{}," is a 404",[1649,1754,1755,1760,1764,1768],{},[1672,1756,1757],{},[752,1758,1759],{},"no_prefix",[1672,1761,1762],{},[752,1763,900],{},[1672,1765,1766],{},[752,1767,1684],{},[1672,1769,1770],{},"a custom path of a locale on another domain is a 404",[748,1772,1773,1774,1776,1777,1779],{},"Under ",[752,1775,1733],{}," a link from another domain keeps the prefix, since the unprefixed URL would only redirect. Under ",[752,1778,1759],{}," a link to another domain lands on that host's default locale: the URL cannot name a second one.",[748,1781,1782],{},"Things to know:",[1128,1784,1785,1810,1828,1840,1875,1891,1908,1916,1927,1939],{},[1131,1786,1787,1790,1791,1794,1795,1798,1799,1805,1806,1189],{},[1134,1788,1789],{},"Behind a proxy"," the host comes from ",[752,1792,1793],{},"Host",". If the proxy puts the public host in ",[752,1796,1797],{},"X-Forwarded-Host"," instead, set ",[1183,1800,1802],{"href":1801},"\u002Fapi\u002Fmodule-options#trustforwardedhost",[752,1803,1804],{},"trustForwardedHost",", and only when the proxy overwrites that header. A proxy that sends neither cannot serve a domain build. See ",[1183,1807,1809],{"href":1808},"\u002Fguide\u002Fdeployment#behind-a-proxy-or-cdn","Behind a proxy or CDN",[1131,1811,1812,1817,1818,1820,1821,1824,1825,1189],{},[1134,1813,1814],{},[752,1815,1816],{},"app.baseURL"," belongs in ",[752,1819,1497],{}," too: ",[752,1822,1823],{},"baseUrl: 'https:\u002F\u002Fexample.de\u002Fshop'"," with ",[752,1826,1827],{},"app.baseURL: '\u002Fshop'",[1131,1829,1830,1154,1833,1836,1837,1839],{},[1134,1831,1832],{},"Hosts match exactly.",[752,1834,1835],{},"www.example.de"," is another host: redirect it at the edge, or set that ",[752,1838,1497],{}," on the locale. Only one host per locale.",[1131,1841,1842,1845,1846,1849,1850,1853,1854,1508,1857,1860,1861,1824,1864,1866,1867,1870,1871,1874],{},[1134,1843,1844],{},"Caches must key on the host."," A CDN normally does. Nitro's route cache keys on the path, so in a domain build the module adds ",[752,1847,1848],{},"host"," to ",[752,1851,1852],{},"cache.varies"," of every ",[752,1855,1856],{},"swr",[752,1858,1859],{},"cache"," rule, and ",[752,1862,1863],{},"x-forwarded-host",[752,1865,1804],{},". A rule with ",[752,1868,1869],{},"cache: false"," stays as written. ",[752,1872,1873],{},"isr"," is the platform's cache: check that it keys on the host.",[1131,1876,1877,1880,1881,1884,1885,1887,1888,1189],{},[1134,1878,1879],{},"Custom paths of two host defaults must not collide."," The unprefixed records share one router, so ",[752,1882,1883],{},"\u002Fx"," cannot be one page on ",[752,1886,1501],{}," and another on ",[752,1889,1890],{},"example.com",[1131,1892,1893,1896,1897,1900,1901,1904,1905,1189],{},[1134,1894,1895],{},"Prerendered pages:"," a ",[752,1898,1899],{},"prerender: true"," route rule in ",[752,1902,1903],{},"nuxt build"," renders once, with no host, and the file answers every domain. Leave pages that differ per domain to the server, or ",[1183,1906,1907],{"href":1627},"generate per domain",[1131,1909,1910,1915],{},[1134,1911,1912],{},[752,1913,1914],{},"noPrefixRedirect"," goes by the locale of the host and the visitor, on every host.",[1131,1917,1918,1923,1924,1614],{},[1134,1919,1920,809],{},[752,1921,1922],{},"hashMode"," the host picks the render as above, links to another domain carry the route in the hash (",[752,1925,1926],{},"https:\u002F\u002Fexample.com\u002F#\u002Fcontact",[1131,1928,1929,1934,1935,1938],{},[1134,1930,1931,809],{},[752,1932,1933],{},"ssr: false"," the browser reads the domain from ",[752,1936,1937],{},"location.host",", so a host with no server still resolves.",[1131,1940,1941,1945,1946,1949,1950,1508,1952,1954,1955,1508,1957,1959,1960,1963],{},[1134,1942,1943],{},[1183,1944,41],{"href":42}," apply first. A runtime ",[752,1947,1948],{},"disabledLocales"," holds on every host, with one exception: under ",[752,1951,1260],{},[752,1953,1706],{}," the default of a host stays enabled on its host, as its pages are the unprefixed records. Under ",[752,1956,1733],{},[752,1958,1759],{}," the host falls to the next locale it serves. A runtime ",[752,1961,1962],{},"defaultLocale"," applies to unknown hosts only.",[748,1965,1966,1967,1970],{},"For a ",[1183,1968,1969],{"href":1627},"static site",", generate once per domain.",[1972,1973,1975],"h3",{"id":1974},"one-app-per-domain","One app per domain",[748,1977,1978,1979,1981,1982,1984],{},"A shared layer with one small app per domain still works, when the domains need different pages or modules. Each app sets its own ",[752,1980,1962],{}," on top of the same ",[752,1983,1140],{}," list. A locale on another domain is a 404 in that app, as above.",[1972,1986,1988],{"id":1987},"choosing-the-locale-in-code","Choosing the locale in code",[748,1990,1991,1992,1994,1995,1189],{},"For a single instance answering every domain with the request's own origin in SEO tags, see ",[1183,1993,77],{"href":1613},"; to choose the locale from the host in code, see ",[1183,1996,67],{"href":68},[757,1998,2000],{"id":1999},"related","Related",[2002,2003,2004,2008,2010,2012],"card-group",{},[2005,2006],"card",{"icon":2007,"title":30,"to":31},"i-lucide-book-open",[2005,2009],{"icon":2007,"title":41,"to":42},[2005,2011],{"icon":2007,"title":77,"to":78},[2005,2013],{"icon":2014,"title":2015,"to":2016,"target":2017},"i-lucide-external-link","Nuxt layers","https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fgetting-started\u002Flayers","_blank",[2019,2020,2021],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":767,"searchDepth":780,"depth":780,"links":2023},[2024,2025,2029],{"id":759,"depth":780,"text":760},{"id":1192,"depth":780,"text":1193,"children":2026},[2027,2028],{"id":1974,"depth":802,"text":1975},{"id":1987,"depth":802,"text":1988},{"id":1999,"depth":780,"text":2000},"Share i18n config and translation files through Nuxt layers, and serve locales on their own domains.","md","2026-11-04T00:40:16+04:00",null,{"outline":2035},[780,802],{"order":86,"group":81},{"title":83,"description":2030},"D9YN7SBApijDhwCtGGhiePbtOXY_q5AI0y806NA51iA",[2040,2042],{"title":77,"path":78,"description":2041},"The lang, hreflang, canonical and og:locale tags the module adds, how their base URL is chosen, and how to override them per page.",{"title":88,"path":89,"description":2043},"Deploy to a Node server, serverless or Edge, or as a static site — where translation payloads go, what each platform needs, proxies, and caching.",1794131154032]