[{"data":1,"prerenderedAt":669},["ShallowReactive",2],{"navigation":3,"navigation_docs":214,"-docs-guide-install-module":270,"-docs-guide-install-module-surround":664},[4],{"title":5,"path":6,"stem":7,"children":8,"page":131},"Docs","\u002Fdocs","docs",[9,25,105,132,150,204],{"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,146],{"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,"path":148,"stem":149},"Vue I18n components","\u002Fdocs\u002Fcomponents\u002Fvue-i18n-components","docs\u002F05.components\u002F03.vue-i18n-components",{"title":151,"icon":152,"path":153,"stem":154,"children":155,"page":131},"Composables","i-lucide-square-function","\u002Fdocs\u002Fcomposables","docs\u002F06.composables",[156,160,164,168,172,176,180,184,188,192,196,200],{"title":157,"path":158,"stem":159},"useLocalePath","\u002Fdocs\u002Fcomposables\u002Fuse-locale-path","docs\u002F06.composables\u002F01.use-locale-path",{"title":161,"path":162,"stem":163},"useLocaleRoute","\u002Fdocs\u002Fcomposables\u002Fuse-locale-route","docs\u002F06.composables\u002F02.use-locale-route",{"title":165,"path":166,"stem":167},"useSwitchLocalePath","\u002Fdocs\u002Fcomposables\u002Fuse-switch-locale-path","docs\u002F06.composables\u002F03.use-switch-locale-path",{"title":169,"path":170,"stem":171},"useLocaleHead","\u002Fdocs\u002Fcomposables\u002Fuse-locale-head","docs\u002F06.composables\u002F04.use-locale-head",{"title":173,"path":174,"stem":175},"useSetI18nParams","\u002Fdocs\u002Fcomposables\u002Fuse-set-i18n-params","docs\u002F06.composables\u002F05.use-set-i18n-params",{"title":177,"path":178,"stem":179},"useRouteBaseName","\u002Fdocs\u002Fcomposables\u002Fuse-route-base-name","docs\u002F06.composables\u002F06.use-route-base-name",{"title":181,"path":182,"stem":183},"useBrowserLocale","\u002Fdocs\u002Fcomposables\u002Fuse-browser-locale","docs\u002F06.composables\u002F07.use-browser-locale",{"title":185,"path":186,"stem":187},"useCookieLocale","\u002Fdocs\u002Fcomposables\u002Fuse-cookie-locale","docs\u002F06.composables\u002F08.use-cookie-locale",{"title":189,"path":190,"stem":191},"useTranslation","\u002Fdocs\u002Fcomposables\u002Fuse-translation","docs\u002F06.composables\u002F09.use-translation",{"title":193,"path":194,"stem":195},"defineI18nConfig","\u002Fdocs\u002Fcomposables\u002Fdefine-i18n-config","docs\u002F06.composables\u002F10.define-i18n-config",{"title":197,"path":198,"stem":199},"defineI18nLocale","\u002Fdocs\u002Fcomposables\u002Fdefine-i18n-locale","docs\u002F06.composables\u002F11.define-i18n-locale",{"title":201,"path":202,"stem":203},"defineI18nLocaleDetector","\u002Fdocs\u002Fcomposables\u002Fdefine-i18n-locale-detector","docs\u002F06.composables\u002F12.define-i18n-locale-detector",{"title":205,"icon":206,"path":207,"stem":208,"children":209,"page":131},"Compiler Macros","i-lucide-aperture","\u002Fdocs\u002Fcompiler-macros","docs\u002F07.compiler-macros",[210],{"title":211,"path":212,"stem":213},"defineI18nRoute","\u002Fdocs\u002Fcompiler-macros\u002Fdefine-i18n-route","docs\u002F07.compiler-macros\u002F01.define-i18n-route",[215,220,241,248,253,267],{"title":10,"path":11,"stem":12,"children":216,"icon":24},[217,218,219],{"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":221,"icon":104},[222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240],{"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":242,"page":131},[243,244,245,246,247],{"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":249,"page":131},[250,251,252],{"title":139,"path":140,"stem":141},{"title":143,"path":144,"stem":145},{"title":147,"path":148,"stem":149},{"title":151,"icon":152,"path":153,"stem":154,"children":254,"page":131},[255,256,257,258,259,260,261,262,263,264,265,266],{"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,"path":202,"stem":203},{"title":205,"icon":206,"path":207,"stem":208,"children":268,"page":131},[269],{"title":211,"path":212,"stem":213},{"id":271,"title":93,"body":272,"description":658,"extension":659,"links":660,"meta":661,"navigation":362,"path":94,"seo":662,"stem":95,"__hash__":663},"docs\u002Fdocs\u002F02.guide\u002F17.install-module.md",{"type":273,"value":274,"toc":656},"minimark",[275,299,314,652],[276,277,278,279,290,291,298],"p",{},"If your module depends on Nuxt i18n, you can use ",[280,281,285],"code",{"className":282,"language":283,"style":284},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ts","",[286,287,289],"span",{"class":288},"sTEyZ","moduleDependencies"," to declare the dependency and define default or override options. See Nuxt's ",[292,293,297],"a",{"href":294,"rel":295},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-basics#use-other-modules",[296],"nofollow","Module Author Guide"," for more information.",[276,300,301,302,305,306,309,310,313],{},"You will need to resolve paths for ",[280,303,304],{},"vueI18n",", ",[280,307,308],{},"langDir",", and those configured in ",[280,311,312],{},"locales"," to absolute paths:",[315,316,318],"pre",{"className":282,"code":317,"language":283,"meta":284,"style":284},"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",[280,319,320,357,364,396,401,417,430,446,456,487,514,525,571,612,618,624,630,636,643],{"__ignoreMap":284},[286,321,324,328,332,335,338,341,344,347,350,354],{"class":322,"line":323},"line",1,[286,325,327],{"class":326},"s7zQu","import",[286,329,331],{"class":330},"sMK4o"," {",[286,333,334],{"class":288}," createResolver",[286,336,337],{"class":330},",",[286,339,340],{"class":288}," defineNuxtModule",[286,342,343],{"class":330}," }",[286,345,346],{"class":326}," from",[286,348,349],{"class":330}," '",[286,351,353],{"class":352},"sfazB","@nuxt\u002Fkit",[286,355,356],{"class":330},"'\n",[286,358,360],{"class":322,"line":359},2,[286,361,363],{"emptyLinePlaceholder":362},true,"\n",[286,365,367,371,374,377,380,383,385,388,391,393],{"class":322,"line":366},3,[286,368,370],{"class":369},"spNyl","const",[286,372,373],{"class":288}," resolver ",[286,375,376],{"class":330},"=",[286,378,334],{"class":379},"s2Zo4",[286,381,382],{"class":288},"(",[286,384,327],{"class":326},[286,386,387],{"class":330},".",[286,389,390],{"class":288},"meta",[286,392,387],{"class":330},[286,394,395],{"class":288},"url)\n",[286,397,399],{"class":322,"line":398},4,[286,400,363],{"emptyLinePlaceholder":362},[286,402,404,407,410,412,414],{"class":322,"line":403},5,[286,405,406],{"class":326},"export",[286,408,409],{"class":326}," default",[286,411,340],{"class":379},[286,413,382],{"class":288},[286,415,416],{"class":330},"{\n",[286,418,420,424,427],{"class":322,"line":419},6,[286,421,423],{"class":422},"swJcz","  moduleDependencies",[286,425,426],{"class":330},":",[286,428,429],{"class":330}," {\n",[286,431,433,436,439,442,444],{"class":322,"line":432},7,[286,434,435],{"class":330},"    '",[286,437,438],{"class":422},"@nuxtjs\u002Fi18n",[286,440,441],{"class":330},"'",[286,443,426],{"class":330},[286,445,429],{"class":330},[286,447,449,452,454],{"class":322,"line":448},8,[286,450,451],{"class":422},"      defaults",[286,453,426],{"class":330},[286,455,429],{"class":330},[286,457,459,462,464,467,469,472,474,476,479,481,484],{"class":322,"line":458},9,[286,460,461],{"class":422},"        vueI18n",[286,463,426],{"class":330},[286,465,466],{"class":288}," resolver",[286,468,387],{"class":330},[286,470,471],{"class":379},"resolve",[286,473,382],{"class":288},[286,475,441],{"class":330},[286,477,478],{"class":352},".\u002Fi18n.config.ts",[286,480,441],{"class":330},[286,482,483],{"class":288},")",[286,485,486],{"class":330},",\n",[286,488,490,493,495,497,499,501,503,505,508,510,512],{"class":322,"line":489},10,[286,491,492],{"class":422},"        langDir",[286,494,426],{"class":330},[286,496,466],{"class":288},[286,498,387],{"class":330},[286,500,471],{"class":379},[286,502,382],{"class":288},[286,504,441],{"class":330},[286,506,507],{"class":352},".\u002Flang",[286,509,441],{"class":330},[286,511,483],{"class":288},[286,513,486],{"class":330},[286,515,517,520,522],{"class":322,"line":516},11,[286,518,519],{"class":422},"        locales",[286,521,426],{"class":330},[286,523,524],{"class":288}," [\n",[286,526,528,531,534,536,538,541,543,545,548,550,552,554,556,558,560,563,565,568],{"class":322,"line":527},12,[286,529,530],{"class":330},"          {",[286,532,533],{"class":422}," code",[286,535,426],{"class":330},[286,537,349],{"class":330},[286,539,540],{"class":352},"en",[286,542,441],{"class":330},[286,544,337],{"class":330},[286,546,547],{"class":422}," file",[286,549,426],{"class":330},[286,551,466],{"class":288},[286,553,387],{"class":330},[286,555,471],{"class":379},[286,557,382],{"class":288},[286,559,441],{"class":330},[286,561,562],{"class":352},".\u002Flang\u002Fen.json",[286,564,441],{"class":330},[286,566,567],{"class":288},") ",[286,569,570],{"class":330},"},\n",[286,572,574,576,578,580,582,585,587,589,591,593,595,597,599,601,603,606,608,610],{"class":322,"line":573},13,[286,575,530],{"class":330},[286,577,533],{"class":422},[286,579,426],{"class":330},[286,581,349],{"class":330},[286,583,584],{"class":352},"fr",[286,586,441],{"class":330},[286,588,337],{"class":330},[286,590,547],{"class":422},[286,592,426],{"class":330},[286,594,466],{"class":288},[286,596,387],{"class":330},[286,598,471],{"class":379},[286,600,382],{"class":288},[286,602,441],{"class":330},[286,604,605],{"class":352},".\u002Flang\u002Ffr.json",[286,607,441],{"class":330},[286,609,567],{"class":288},[286,611,570],{"class":330},[286,613,615],{"class":322,"line":614},14,[286,616,617],{"class":288},"        ]\n",[286,619,621],{"class":322,"line":620},15,[286,622,623],{"class":330},"      }\n",[286,625,627],{"class":322,"line":626},16,[286,628,629],{"class":330},"    }\n",[286,631,633],{"class":322,"line":632},17,[286,634,635],{"class":330},"  },\n",[286,637,639],{"class":322,"line":638},18,[286,640,642],{"class":641},"sHwdD","  \u002F\u002F ...\n",[286,644,646,649],{"class":322,"line":645},19,[286,647,648],{"class":330},"}",[286,650,651],{"class":288},")\n",[653,654,655],"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":284,"searchDepth":359,"depth":359,"links":657},[],"How to integrate Nuxt i18n inside of a module.","md",null,{},{"title":93,"description":658},"6bnwrOOUrfA9vm6cPbVZNPfY1vhGlOsbfQHSe7SEiG4",[665,667],{"title":89,"path":90,"stem":91,"description":666,"children":-1},"Translate on the server-side and return it as a response.",{"title":97,"path":98,"stem":99,"description":668,"children":-1},"Follow this guide to upgrade from v9.x to v10.x",1793224021862]