[{"data":1,"prerenderedAt":664},["ShallowReactive",2],{"navigation":3,"navigation_docs":210,"-docs-guide-install-module":265,"-docs-guide-install-module-surround":659},[4],{"title":5,"path":6,"stem":7,"children":8,"page":131},"Docs","\u002Fdocs","docs",[9,25,105,132,146,200],{"title":10,"path":11,"stem":12,"children":13,"icon":24},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F01.getting-started\u002F01.index",[14,16,20],{"title":15,"path":11,"stem":12},"Installation",{"title":17,"path":18,"stem":19},"Usage","\u002Fdocs\u002Fgetting-started\u002Fusage","docs\u002F01.getting-started\u002F02.usage",{"title":21,"path":22,"stem":23},"Vue I18n Configuration","\u002Fdocs\u002Fgetting-started\u002Fvue-i18n","docs\u002F01.getting-started\u002F03.vue-i18n","i-lucide-square-play",{"title":26,"path":27,"stem":28,"children":29,"icon":104},"Guide","\u002Fdocs\u002Fguide","docs\u002F02.guide\u002F01.index",[30,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100],{"title":31,"path":27,"stem":28},"Routing Strategies",{"title":33,"path":34,"stem":35},"Runtime Hooks","\u002Fdocs\u002Fguide\u002Fruntime-hooks","docs\u002F02.guide\u002F02.runtime-hooks",{"title":37,"path":38,"stem":39},"Custom Route Paths","\u002Fdocs\u002Fguide\u002Fcustom-paths","docs\u002F02.guide\u002F03.custom-paths",{"title":41,"path":42,"stem":43},"Ignoring Localized Routes","\u002Fdocs\u002Fguide\u002Fignoring-localized-routes","docs\u002F02.guide\u002F04.ignoring-localized-routes",{"title":45,"path":46,"stem":47},"Browser language detection","\u002Fdocs\u002Fguide\u002Fbrowser-language-detection","docs\u002F02.guide\u002F05.browser-language-detection",{"title":49,"path":50,"stem":51},"SEO","\u002Fdocs\u002Fguide\u002Fseo","docs\u002F02.guide\u002F06.seo",{"title":53,"path":54,"stem":55},"Lazy-load translations","\u002Fdocs\u002Fguide\u002Flazy-load-translations","docs\u002F02.guide\u002F07.lazy-load-translations",{"title":57,"path":58,"stem":59},"Lang Switcher","\u002Fdocs\u002Fguide\u002Flang-switcher","docs\u002F02.guide\u002F08.lang-switcher",{"title":61,"path":62,"stem":63},"Different Domains","\u002Fdocs\u002Fguide\u002Fdifferent-domains","docs\u002F02.guide\u002F09.different-domains",{"title":65,"path":66,"stem":67},"Multi domain locales","\u002Fdocs\u002Fguide\u002Fmulti-domain-locales","docs\u002F02.guide\u002F10.multi-domain-locales",{"title":69,"path":70,"stem":71},"Locale fallback","\u002Fdocs\u002Fguide\u002Flocale-fallback","docs\u002F02.guide\u002F11.locale-fallback",{"title":73,"path":74,"stem":75},"Per-Component Translations","\u002Fdocs\u002Fguide\u002Fper-component-translations","docs\u002F02.guide\u002F12.per-component-translations",{"title":77,"path":78,"stem":79},"Extending messages hook","\u002Fdocs\u002Fguide\u002Fextend-messages","docs\u002F02.guide\u002F13.extend-messages",{"title":81,"path":82,"stem":83},"Extending pages","\u002Fdocs\u002Fguide\u002Fextend-pages","docs\u002F02.guide\u002F14.extend-pages",{"title":85,"path":86,"stem":87},"Layers","\u002Fdocs\u002Fguide\u002Flayers","docs\u002F02.guide\u002F15.layers",{"title":89,"path":90,"stem":91},"Server-Side Translations","\u002Fdocs\u002Fguide\u002Fserver-side-translations","docs\u002F02.guide\u002F16.server-side-translations",{"title":93,"path":94,"stem":95},"Module integration","\u002Fdocs\u002Fguide\u002Finstall-module","docs\u002F02.guide\u002F17.install-module",{"title":97,"path":98,"stem":99},"Migration Guide","\u002Fdocs\u002Fguide\u002Fmigrating","docs\u002F02.guide\u002F90.migrating",{"title":101,"path":102,"stem":103},"New features","\u002Fdocs\u002Fguide\u002Fnew-features","docs\u002F02.guide\u002F91.new-features","i-heroicons-book-open",{"title":106,"icon":107,"path":108,"stem":109,"children":110,"page":131},"API","i-lucide-square-chart-gantt","\u002Fdocs\u002Fapi","docs\u002F04.api",[111,115,119,123,127],{"title":112,"path":113,"stem":114},"Options","\u002Fdocs\u002Fapi\u002Foptions","docs\u002F04.api\u002F00.options",{"title":116,"path":117,"stem":118},"Vue I18n","\u002Fdocs\u002Fapi\u002Fvue-i18n","docs\u002F04.api\u002F04.vue-i18n",{"title":120,"path":121,"stem":122},"Vue","\u002Fdocs\u002Fapi\u002Fvue","docs\u002F04.api\u002F05.vue",{"title":124,"path":125,"stem":126},"Nuxt","\u002Fdocs\u002Fapi\u002Fnuxt","docs\u002F04.api\u002F06.nuxt",{"title":128,"path":129,"stem":130},"Runtime config","\u002Fdocs\u002Fapi\u002Fruntime-config","docs\u002F04.api\u002F07.runtime-config",false,{"title":133,"icon":134,"path":135,"stem":136,"children":137,"page":131},"Components","i-lucide-square-code","\u002Fdocs\u002Fcomponents","docs\u002F05.components",[138,142],{"title":139,"path":140,"stem":141},"\u003CNuxtLinkLocale>","\u002Fdocs\u002Fcomponents\u002Fnuxt-link-locale","docs\u002F05.components\u002F01.nuxt-link-locale",{"title":143,"path":144,"stem":145},"\u003CSwitchLocalePathLink>","\u002Fdocs\u002Fcomponents\u002Fswitch-locale-path-link","docs\u002F05.components\u002F02.switch-locale-path-link",{"title":147,"icon":148,"path":149,"stem":150,"children":151,"page":131},"Composables","i-lucide-square-function","\u002Fdocs\u002Fcomposables","docs\u002F06.composables",[152,156,160,164,168,172,176,180,184,188,192,196],{"title":153,"path":154,"stem":155},"useLocalePath","\u002Fdocs\u002Fcomposables\u002Fuse-locale-path","docs\u002F06.composables\u002F01.use-locale-path",{"title":157,"path":158,"stem":159},"useLocaleRoute","\u002Fdocs\u002Fcomposables\u002Fuse-locale-route","docs\u002F06.composables\u002F02.use-locale-route",{"title":161,"path":162,"stem":163},"useSwitchLocalePath","\u002Fdocs\u002Fcomposables\u002Fuse-switch-locale-path","docs\u002F06.composables\u002F03.use-switch-locale-path",{"title":165,"path":166,"stem":167},"useLocaleHead","\u002Fdocs\u002Fcomposables\u002Fuse-locale-head","docs\u002F06.composables\u002F04.use-locale-head",{"title":169,"path":170,"stem":171},"useSetI18nParams","\u002Fdocs\u002Fcomposables\u002Fuse-set-i18n-params","docs\u002F06.composables\u002F05.use-set-i18n-params",{"title":173,"path":174,"stem":175},"useRouteBaseName","\u002Fdocs\u002Fcomposables\u002Fuse-route-base-name","docs\u002F06.composables\u002F06.use-route-base-name",{"title":177,"path":178,"stem":179},"useBrowserLocale","\u002Fdocs\u002Fcomposables\u002Fuse-browser-locale","docs\u002F06.composables\u002F07.use-browser-locale",{"title":181,"path":182,"stem":183},"useCookieLocale","\u002Fdocs\u002Fcomposables\u002Fuse-cookie-locale","docs\u002F06.composables\u002F08.use-cookie-locale",{"title":185,"path":186,"stem":187},"useTranslation","\u002Fdocs\u002Fcomposables\u002Fuse-translation","docs\u002F06.composables\u002F09.use-translation",{"title":189,"path":190,"stem":191},"defineI18nConfig","\u002Fdocs\u002Fcomposables\u002Fdefine-i18n-config","docs\u002F06.composables\u002F10.define-i18n-config",{"title":193,"path":194,"stem":195},"defineI18nLocale","\u002Fdocs\u002Fcomposables\u002Fdefine-i18n-locale","docs\u002F06.composables\u002F11.define-i18n-locale",{"title":197,"path":198,"stem":199},"defineI18nLocaleDetector","\u002Fdocs\u002Fcomposables\u002Fdefine-i18n-locale-detector","docs\u002F06.composables\u002F12.define-i18n-locale-detector",{"title":201,"icon":202,"path":203,"stem":204,"children":205,"page":131},"Compiler Macros","i-lucide-aperture","\u002Fdocs\u002Fcompiler-macros","docs\u002F07.compiler-macros",[206],{"title":207,"path":208,"stem":209},"defineI18nRoute","\u002Fdocs\u002Fcompiler-macros\u002Fdefine-i18n-route","docs\u002F07.compiler-macros\u002F01.define-i18n-route",[211,216,237,244,248,262],{"title":10,"path":11,"stem":12,"children":212,"icon":24},[213,214,215],{"title":15,"path":11,"stem":12},{"title":17,"path":18,"stem":19},{"title":21,"path":22,"stem":23},{"title":26,"path":27,"stem":28,"children":217,"icon":104},[218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236],{"title":31,"path":27,"stem":28},{"title":33,"path":34,"stem":35},{"title":37,"path":38,"stem":39},{"title":41,"path":42,"stem":43},{"title":45,"path":46,"stem":47},{"title":49,"path":50,"stem":51},{"title":53,"path":54,"stem":55},{"title":57,"path":58,"stem":59},{"title":61,"path":62,"stem":63},{"title":65,"path":66,"stem":67},{"title":69,"path":70,"stem":71},{"title":73,"path":74,"stem":75},{"title":77,"path":78,"stem":79},{"title":81,"path":82,"stem":83},{"title":85,"path":86,"stem":87},{"title":89,"path":90,"stem":91},{"title":93,"path":94,"stem":95},{"title":97,"path":98,"stem":99},{"title":101,"path":102,"stem":103},{"title":106,"icon":107,"path":108,"stem":109,"children":238,"page":131},[239,240,241,242,243],{"title":112,"path":113,"stem":114},{"title":116,"path":117,"stem":118},{"title":120,"path":121,"stem":122},{"title":124,"path":125,"stem":126},{"title":128,"path":129,"stem":130},{"title":133,"icon":134,"path":135,"stem":136,"children":245,"page":131},[246,247],{"title":139,"path":140,"stem":141},{"title":143,"path":144,"stem":145},{"title":147,"icon":148,"path":149,"stem":150,"children":249,"page":131},[250,251,252,253,254,255,256,257,258,259,260,261],{"title":153,"path":154,"stem":155},{"title":157,"path":158,"stem":159},{"title":161,"path":162,"stem":163},{"title":165,"path":166,"stem":167},{"title":169,"path":170,"stem":171},{"title":173,"path":174,"stem":175},{"title":177,"path":178,"stem":179},{"title":181,"path":182,"stem":183},{"title":185,"path":186,"stem":187},{"title":189,"path":190,"stem":191},{"title":193,"path":194,"stem":195},{"title":197,"path":198,"stem":199},{"title":201,"icon":202,"path":203,"stem":204,"children":263,"page":131},[264],{"title":207,"path":208,"stem":209},{"id":266,"title":93,"body":267,"description":653,"extension":654,"links":655,"meta":656,"navigation":357,"path":94,"seo":657,"stem":95,"__hash__":658},"docs\u002Fdocs\u002F02.guide\u002F17.install-module.md",{"type":268,"value":269,"toc":651},"minimark",[270,294,309,647],[271,272,273,274,285,286,293],"p",{},"If your module depends on Nuxt i18n, you can use ",[275,276,280],"code",{"className":277,"language":278,"style":279},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ts","",[281,282,284],"span",{"class":283},"sTEyZ","moduleDependencies"," to declare the dependency and define default or override options. See Nuxt's ",[287,288,292],"a",{"href":289,"rel":290},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-basics#use-other-modules",[291],"nofollow","Module Author Guide"," for more information.",[271,295,296,297,300,301,304,305,308],{},"You will need to resolve paths for ",[275,298,299],{},"vueI18n",", ",[275,302,303],{},"langDir",", and those configured in ",[275,306,307],{},"locales"," to absolute paths:",[310,311,313],"pre",{"className":277,"code":312,"language":278,"meta":279,"style":279},"import { createResolver, defineNuxtModule } from '@nuxt\u002Fkit'\n\nconst resolver = createResolver(import.meta.url)\n\nexport default defineNuxtModule({\n  moduleDependencies: {\n    '@nuxtjs\u002Fi18n': {\n      defaults: {\n        vueI18n: resolver.resolve('.\u002Fi18n.config.ts'),\n        langDir: resolver.resolve('.\u002Flang'),\n        locales: [\n          { code: 'en', file: resolver.resolve('.\u002Flang\u002Fen.json') },\n          { code: 'fr', file: resolver.resolve('.\u002Flang\u002Ffr.json') },\n        ]\n      }\n    }\n  },\n  \u002F\u002F ...\n})\n",[275,314,315,352,359,391,396,412,425,441,451,482,509,520,566,607,613,619,625,631,638],{"__ignoreMap":279},[281,316,319,323,327,330,333,336,339,342,345,349],{"class":317,"line":318},"line",1,[281,320,322],{"class":321},"s7zQu","import",[281,324,326],{"class":325},"sMK4o"," {",[281,328,329],{"class":283}," createResolver",[281,331,332],{"class":325},",",[281,334,335],{"class":283}," defineNuxtModule",[281,337,338],{"class":325}," }",[281,340,341],{"class":321}," from",[281,343,344],{"class":325}," '",[281,346,348],{"class":347},"sfazB","@nuxt\u002Fkit",[281,350,351],{"class":325},"'\n",[281,353,355],{"class":317,"line":354},2,[281,356,358],{"emptyLinePlaceholder":357},true,"\n",[281,360,362,366,369,372,375,378,380,383,386,388],{"class":317,"line":361},3,[281,363,365],{"class":364},"spNyl","const",[281,367,368],{"class":283}," resolver ",[281,370,371],{"class":325},"=",[281,373,329],{"class":374},"s2Zo4",[281,376,377],{"class":283},"(",[281,379,322],{"class":321},[281,381,382],{"class":325},".",[281,384,385],{"class":283},"meta",[281,387,382],{"class":325},[281,389,390],{"class":283},"url)\n",[281,392,394],{"class":317,"line":393},4,[281,395,358],{"emptyLinePlaceholder":357},[281,397,399,402,405,407,409],{"class":317,"line":398},5,[281,400,401],{"class":321},"export",[281,403,404],{"class":321}," default",[281,406,335],{"class":374},[281,408,377],{"class":283},[281,410,411],{"class":325},"{\n",[281,413,415,419,422],{"class":317,"line":414},6,[281,416,418],{"class":417},"swJcz","  moduleDependencies",[281,420,421],{"class":325},":",[281,423,424],{"class":325}," {\n",[281,426,428,431,434,437,439],{"class":317,"line":427},7,[281,429,430],{"class":325},"    '",[281,432,433],{"class":417},"@nuxtjs\u002Fi18n",[281,435,436],{"class":325},"'",[281,438,421],{"class":325},[281,440,424],{"class":325},[281,442,444,447,449],{"class":317,"line":443},8,[281,445,446],{"class":417},"      defaults",[281,448,421],{"class":325},[281,450,424],{"class":325},[281,452,454,457,459,462,464,467,469,471,474,476,479],{"class":317,"line":453},9,[281,455,456],{"class":417},"        vueI18n",[281,458,421],{"class":325},[281,460,461],{"class":283}," resolver",[281,463,382],{"class":325},[281,465,466],{"class":374},"resolve",[281,468,377],{"class":283},[281,470,436],{"class":325},[281,472,473],{"class":347},".\u002Fi18n.config.ts",[281,475,436],{"class":325},[281,477,478],{"class":283},")",[281,480,481],{"class":325},",\n",[281,483,485,488,490,492,494,496,498,500,503,505,507],{"class":317,"line":484},10,[281,486,487],{"class":417},"        langDir",[281,489,421],{"class":325},[281,491,461],{"class":283},[281,493,382],{"class":325},[281,495,466],{"class":374},[281,497,377],{"class":283},[281,499,436],{"class":325},[281,501,502],{"class":347},".\u002Flang",[281,504,436],{"class":325},[281,506,478],{"class":283},[281,508,481],{"class":325},[281,510,512,515,517],{"class":317,"line":511},11,[281,513,514],{"class":417},"        locales",[281,516,421],{"class":325},[281,518,519],{"class":283}," [\n",[281,521,523,526,529,531,533,536,538,540,543,545,547,549,551,553,555,558,560,563],{"class":317,"line":522},12,[281,524,525],{"class":325},"          {",[281,527,528],{"class":417}," code",[281,530,421],{"class":325},[281,532,344],{"class":325},[281,534,535],{"class":347},"en",[281,537,436],{"class":325},[281,539,332],{"class":325},[281,541,542],{"class":417}," file",[281,544,421],{"class":325},[281,546,461],{"class":283},[281,548,382],{"class":325},[281,550,466],{"class":374},[281,552,377],{"class":283},[281,554,436],{"class":325},[281,556,557],{"class":347},".\u002Flang\u002Fen.json",[281,559,436],{"class":325},[281,561,562],{"class":283},") ",[281,564,565],{"class":325},"},\n",[281,567,569,571,573,575,577,580,582,584,586,588,590,592,594,596,598,601,603,605],{"class":317,"line":568},13,[281,570,525],{"class":325},[281,572,528],{"class":417},[281,574,421],{"class":325},[281,576,344],{"class":325},[281,578,579],{"class":347},"fr",[281,581,436],{"class":325},[281,583,332],{"class":325},[281,585,542],{"class":417},[281,587,421],{"class":325},[281,589,461],{"class":283},[281,591,382],{"class":325},[281,593,466],{"class":374},[281,595,377],{"class":283},[281,597,436],{"class":325},[281,599,600],{"class":347},".\u002Flang\u002Ffr.json",[281,602,436],{"class":325},[281,604,562],{"class":283},[281,606,565],{"class":325},[281,608,610],{"class":317,"line":609},14,[281,611,612],{"class":283},"        ]\n",[281,614,616],{"class":317,"line":615},15,[281,617,618],{"class":325},"      }\n",[281,620,622],{"class":317,"line":621},16,[281,623,624],{"class":325},"    }\n",[281,626,628],{"class":317,"line":627},17,[281,629,630],{"class":325},"  },\n",[281,632,634],{"class":317,"line":633},18,[281,635,637],{"class":636},"sHwdD","  \u002F\u002F ...\n",[281,639,641,644],{"class":317,"line":640},19,[281,642,643],{"class":325},"}",[281,645,646],{"class":283},")\n",[648,649,650],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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}",{"title":279,"searchDepth":354,"depth":354,"links":652},[],"How to integrate Nuxt i18n inside of a module.","md",null,{},{"title":93,"description":653},"6bnwrOOUrfA9vm6cPbVZNPfY1vhGlOsbfQHSe7SEiG4",[660,662],{"title":89,"path":90,"stem":91,"description":661,"children":-1},"Translate on the server-side and return it as a response.",{"title":97,"path":98,"stem":99,"description":663,"children":-1},"Follow this guide to upgrade from v9.x to v10.x",1777632928823]