[{"data":1,"prerenderedAt":1496},["ShallowReactive",2],{"navigation":3,"navigation_docs":214,"-docs-guide-server-side-translations":270,"-docs-guide-server-side-translations-surround":963,"\u002Fdocs\u002Fguide\u002Fserver-side-translations":968},[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":89,"body":272,"description":957,"extension":958,"links":959,"meta":960,"navigation":466,"path":90,"seo":961,"stem":91,"__hash__":962},"docs\u002Fdocs\u002F02.guide\u002F16.server-side-translations.md",{"type":273,"value":274,"toc":952},"minimark",[275,279,289,294,297,315,318,665,668,692,730,737,740,806,819,829,838,841,944,948],[276,277,278],"p",{},"You can do the translation on the server-side and return it as a response. The locale messages defined in nuxt i18n module options are integrated, so all you need to do is configure the locale detector.",[280,281,284,288],"callout",{"icon":282,"color":283},"i-heroicons-exclamation-triangle","warning",[285,286,287],"strong",{},"This feature is experimental,"," that is supported from v8 RC8.",[290,291,293],"h2",{"id":292},"define-locale-detector","Define locale detector",[276,295,296],{},"For server-side translation, you need to define a locale detector.",[276,298,299,300,314],{},"Nuxt i18n exports the ",[301,302,306,310],"code",{"className":303,"language":304,"style":305},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ts","",[307,308,201],"span",{"class":309},"s2Zo4",[307,311,313],{"class":312},"sTEyZ","()"," composable function to define it.",[276,316,317],{},"The following is an example of how to define a detector that detects locale using query, cookie, and header:",[319,320,323],"pre",{"className":303,"code":321,"filename":322,"language":304,"meta":305,"style":305},"\u002F\u002F Detect based on query, cookie, header\nexport default defineI18nLocaleDetector((event, config) => {\n  \u002F\u002F try to get locale from query\n  const query = tryQueryLocale(event, { lang: '' }) \u002F\u002F disable locale default value with `lang` option\n  if (query) {\n    return query.toString()\n  }\n\n  \u002F\u002F try to get locale from cookie\n  const cookie = tryCookieLocale(event, { lang: '', name: 'i18n_locale' }) \u002F\u002F disable locale default value with `lang` option\n  if (cookie) {\n    return cookie.toString()\n  }\n\n  \u002F\u002F try to get locale from header (`accept-header`)\n  const header = tryHeaderLocale(event, { lang: '' }) \u002F\u002F disable locale default value with `lang` option\n  if (header) {\n    return header.toString()\n  }\n\n  \u002F\u002F If the locale cannot be resolved up to this point, it is resolved with the value `defaultLocale` of the locale config passed to the function\n  return config.defaultLocale\n})\n","i18n\u002FlocaleDetector.ts",[301,324,325,333,372,378,421,438,455,461,468,474,524,538,551,556,561,567,600,614,627,632,637,643,656],{"__ignoreMap":305},[307,326,329],{"class":327,"line":328},"line",1,[307,330,332],{"class":331},"sHwdD","\u002F\u002F Detect based on query, cookie, header\n",[307,334,336,340,343,346,349,352,356,359,362,365,369],{"class":327,"line":335},2,[307,337,339],{"class":338},"s7zQu","export",[307,341,342],{"class":338}," default",[307,344,345],{"class":309}," defineI18nLocaleDetector",[307,347,348],{"class":312},"(",[307,350,348],{"class":351},"sMK4o",[307,353,355],{"class":354},"sHdIc","event",[307,357,358],{"class":351},",",[307,360,361],{"class":354}," config",[307,363,364],{"class":351},")",[307,366,368],{"class":367},"spNyl"," =>",[307,370,371],{"class":351}," {\n",[307,373,375],{"class":327,"line":374},3,[307,376,377],{"class":331},"  \u002F\u002F try to get locale from query\n",[307,379,381,384,387,390,393,396,398,400,403,406,409,412,415,418],{"class":327,"line":380},4,[307,382,383],{"class":367},"  const",[307,385,386],{"class":312}," query",[307,388,389],{"class":351}," =",[307,391,392],{"class":309}," tryQueryLocale",[307,394,348],{"class":395},"swJcz",[307,397,355],{"class":312},[307,399,358],{"class":351},[307,401,402],{"class":351}," {",[307,404,405],{"class":395}," lang",[307,407,408],{"class":351},":",[307,410,411],{"class":351}," ''",[307,413,414],{"class":351}," }",[307,416,417],{"class":395},") ",[307,419,420],{"class":331},"\u002F\u002F disable locale default value with `lang` option\n",[307,422,424,427,430,433,435],{"class":327,"line":423},5,[307,425,426],{"class":338},"  if",[307,428,429],{"class":395}," (",[307,431,432],{"class":312},"query",[307,434,417],{"class":395},[307,436,437],{"class":351},"{\n",[307,439,441,444,446,449,452],{"class":327,"line":440},6,[307,442,443],{"class":338},"    return",[307,445,386],{"class":312},[307,447,448],{"class":351},".",[307,450,451],{"class":309},"toString",[307,453,454],{"class":395},"()\n",[307,456,458],{"class":327,"line":457},7,[307,459,460],{"class":351},"  }\n",[307,462,464],{"class":327,"line":463},8,[307,465,467],{"emptyLinePlaceholder":466},true,"\n",[307,469,471],{"class":327,"line":470},9,[307,472,473],{"class":331},"  \u002F\u002F try to get locale from cookie\n",[307,475,477,479,482,484,487,489,491,493,495,497,499,501,503,506,508,511,515,518,520,522],{"class":327,"line":476},10,[307,478,383],{"class":367},[307,480,481],{"class":312}," cookie",[307,483,389],{"class":351},[307,485,486],{"class":309}," tryCookieLocale",[307,488,348],{"class":395},[307,490,355],{"class":312},[307,492,358],{"class":351},[307,494,402],{"class":351},[307,496,405],{"class":395},[307,498,408],{"class":351},[307,500,411],{"class":351},[307,502,358],{"class":351},[307,504,505],{"class":395}," name",[307,507,408],{"class":351},[307,509,510],{"class":351}," '",[307,512,514],{"class":513},"sfazB","i18n_locale",[307,516,517],{"class":351},"'",[307,519,414],{"class":351},[307,521,417],{"class":395},[307,523,420],{"class":331},[307,525,527,529,531,534,536],{"class":327,"line":526},11,[307,528,426],{"class":338},[307,530,429],{"class":395},[307,532,533],{"class":312},"cookie",[307,535,417],{"class":395},[307,537,437],{"class":351},[307,539,541,543,545,547,549],{"class":327,"line":540},12,[307,542,443],{"class":338},[307,544,481],{"class":312},[307,546,448],{"class":351},[307,548,451],{"class":309},[307,550,454],{"class":395},[307,552,554],{"class":327,"line":553},13,[307,555,460],{"class":351},[307,557,559],{"class":327,"line":558},14,[307,560,467],{"emptyLinePlaceholder":466},[307,562,564],{"class":327,"line":563},15,[307,565,566],{"class":331},"  \u002F\u002F try to get locale from header (`accept-header`)\n",[307,568,570,572,575,577,580,582,584,586,588,590,592,594,596,598],{"class":327,"line":569},16,[307,571,383],{"class":367},[307,573,574],{"class":312}," header",[307,576,389],{"class":351},[307,578,579],{"class":309}," tryHeaderLocale",[307,581,348],{"class":395},[307,583,355],{"class":312},[307,585,358],{"class":351},[307,587,402],{"class":351},[307,589,405],{"class":395},[307,591,408],{"class":351},[307,593,411],{"class":351},[307,595,414],{"class":351},[307,597,417],{"class":395},[307,599,420],{"class":331},[307,601,603,605,607,610,612],{"class":327,"line":602},17,[307,604,426],{"class":338},[307,606,429],{"class":395},[307,608,609],{"class":312},"header",[307,611,417],{"class":395},[307,613,437],{"class":351},[307,615,617,619,621,623,625],{"class":327,"line":616},18,[307,618,443],{"class":338},[307,620,574],{"class":312},[307,622,448],{"class":351},[307,624,451],{"class":309},[307,626,454],{"class":395},[307,628,630],{"class":327,"line":629},19,[307,631,460],{"class":351},[307,633,635],{"class":327,"line":634},20,[307,636,467],{"emptyLinePlaceholder":466},[307,638,640],{"class":327,"line":639},21,[307,641,642],{"class":331},"  \u002F\u002F If the locale cannot be resolved up to this point, it is resolved with the value `defaultLocale` of the locale config passed to the function\n",[307,644,646,649,651,653],{"class":327,"line":645},22,[307,647,648],{"class":338},"  return",[307,650,361],{"class":312},[307,652,448],{"class":351},[307,654,655],{"class":312},"defaultLocale\n",[307,657,659,662],{"class":327,"line":658},23,[307,660,661],{"class":351},"}",[307,663,664],{"class":312},")\n",[276,666,667],{},"The locale detector function is used to detect the locale on the server-side. It's called per request on the server.",[276,669,670,671,677,678,688,689,408],{},"The ",[301,672,673,675],{"className":303,"language":304,"style":305},[307,674,201],{"class":309},[307,676,313],{"class":312}," composable and the ",[679,680,684,687],"a",{"href":681,"rel":682},"https:\u002F\u002Fgithub.com\u002Fintlify\u002Futils#-usage",[683],"nofollow",[301,685,686],{},"@intlify\u002Futils\u002Fh3"," utilities"," used in the example are auto imported. If you have auto imports disabled you can import these explicitly from ",[301,690,691],{},"#imports",[319,693,695],{"className":303,"code":694,"filename":322,"language":304,"meta":305,"style":305},"import { defineI18nLocaleDetector, tryCookieLocale, tryHeaderLocale, tryQueryLocale } from '#imports'\n",[301,696,697],{"__ignoreMap":305},[307,698,699,702,704,706,708,710,712,714,716,718,720,723,725,727],{"class":327,"line":328},[307,700,701],{"class":338},"import",[307,703,402],{"class":351},[307,705,345],{"class":312},[307,707,358],{"class":351},[307,709,486],{"class":312},[307,711,358],{"class":351},[307,713,579],{"class":312},[307,715,358],{"class":351},[307,717,392],{"class":312},[307,719,414],{"class":351},[307,721,722],{"class":338}," from",[307,724,510],{"class":351},[307,726,691],{"class":513},[307,728,729],{"class":351},"'\n",[276,731,732,733,736],{},"When you define the locale detector, you need to pass the path to the locale detector to the ",[301,734,735],{},"experimental.localeDetector"," option.",[276,738,739],{},"The following is an example of a locale detector configuration defined directly in the Nuxt application:",[319,741,744],{"className":303,"code":742,"filename":743,"language":304,"meta":305,"style":305},"export default defineNuxtConfig({\n  i18n: {\n    experimental: {\n      localeDetector: 'localeDetector.ts'\n    }\n  }\n})\n","nuxt.config.ts",[301,745,746,759,768,777,791,796,800],{"__ignoreMap":305},[307,747,748,750,752,755,757],{"class":327,"line":328},[307,749,339],{"class":338},[307,751,342],{"class":338},[307,753,754],{"class":309}," defineNuxtConfig",[307,756,348],{"class":312},[307,758,437],{"class":351},[307,760,761,764,766],{"class":327,"line":335},[307,762,763],{"class":395},"  i18n",[307,765,408],{"class":351},[307,767,371],{"class":351},[307,769,770,773,775],{"class":327,"line":374},[307,771,772],{"class":395},"    experimental",[307,774,408],{"class":351},[307,776,371],{"class":351},[307,778,779,782,784,786,789],{"class":327,"line":380},[307,780,781],{"class":395},"      localeDetector",[307,783,408],{"class":351},[307,785,510],{"class":351},[307,787,788],{"class":513},"localeDetector.ts",[307,790,729],{"class":351},[307,792,793],{"class":327,"line":423},[307,794,795],{"class":351},"    }\n",[307,797,798],{"class":327,"line":440},[307,799,460],{"class":351},[307,801,802,804],{"class":327,"line":457},[307,803,661],{"class":351},[307,805,664],{"class":312},[276,807,808,809,815,816,448],{},"For details on the locale detector function defined by ",[301,810,811,813],{"className":303,"language":304,"style":305},[307,812,201],{"class":309},[307,814,313],{"class":312},", see ",[679,817,818],{"href":202},"here",[290,820,822,828],{"id":821},"usetranslation-on-eventhandler",[301,823,824,826],{"className":303,"language":304,"style":305},[307,825,189],{"class":309},[307,827,313],{"class":312}," on eventHandler",[276,830,831,832,448],{},"To translate on the server-side , you need to call ",[301,833,834,836],{"className":303,"language":304,"style":305},[307,835,189],{"class":309},[307,837,313],{"class":312},[276,839,840],{},"Example:",[319,842,844],{"className":303,"code":843,"language":304,"meta":305,"style":305},"\u002F\u002F you need to define `async` event handler\nexport default defineEventHandler(async event => {\n  \u002F\u002F call `useTranslation`, so it return the translation function\n  const t = await useTranslation(event)\n  return {\n    \u002F\u002F call translation function with key of locale messages,\n    \u002F\u002F and translation function has some overload\n    hello: t('hello')\n  }\n})\n",[301,845,846,851,872,877,898,904,909,914,934,938],{"__ignoreMap":305},[307,847,848],{"class":327,"line":328},[307,849,850],{"class":331},"\u002F\u002F you need to define `async` event handler\n",[307,852,853,855,857,860,862,865,868,870],{"class":327,"line":335},[307,854,339],{"class":338},[307,856,342],{"class":338},[307,858,859],{"class":309}," defineEventHandler",[307,861,348],{"class":312},[307,863,864],{"class":367},"async",[307,866,867],{"class":354}," event",[307,869,368],{"class":367},[307,871,371],{"class":351},[307,873,874],{"class":327,"line":374},[307,875,876],{"class":331},"  \u002F\u002F call `useTranslation`, so it return the translation function\n",[307,878,879,881,884,886,889,892,894,896],{"class":327,"line":380},[307,880,383],{"class":367},[307,882,883],{"class":312}," t",[307,885,389],{"class":351},[307,887,888],{"class":338}," await",[307,890,891],{"class":309}," useTranslation",[307,893,348],{"class":395},[307,895,355],{"class":312},[307,897,664],{"class":395},[307,899,900,902],{"class":327,"line":423},[307,901,648],{"class":338},[307,903,371],{"class":351},[307,905,906],{"class":327,"line":440},[307,907,908],{"class":331},"    \u002F\u002F call translation function with key of locale messages,\n",[307,910,911],{"class":327,"line":457},[307,912,913],{"class":331},"    \u002F\u002F and translation function has some overload\n",[307,915,916,919,921,923,925,927,930,932],{"class":327,"line":463},[307,917,918],{"class":395},"    hello",[307,920,408],{"class":351},[307,922,883],{"class":309},[307,924,348],{"class":395},[307,926,517],{"class":351},[307,928,929],{"class":513},"hello",[307,931,517],{"class":351},[307,933,664],{"class":395},[307,935,936],{"class":327,"line":470},[307,937,460],{"class":351},[307,939,940,942],{"class":327,"line":476},[307,941,661],{"class":351},[307,943,664],{"class":312},[280,945,947],{"icon":946},"i-heroicons-light-bulb","For the key of the translation function, you can specify the locale messages set in the nuxt-i18n options inside the nuxt.config, or the locale loaded in the i18n.config messages.",[949,950,951],"style",{},"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 .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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}",{"title":305,"searchDepth":335,"depth":335,"links":953},[954,955],{"id":292,"depth":335,"text":293},{"id":821,"depth":335,"text":956},"useTranslation() on eventHandler","Translate on the server-side and return it as a response.","md",null,{},{"title":89,"description":957},"yBsx6YXXKCSWe0G9Vbj_JBURV49MeHI-HxRu3f8DiPg",[964,966],{"title":85,"path":86,"stem":87,"description":965,"children":-1},"Using layers to extends projects with Nuxt i18n.",{"title":93,"path":94,"stem":95,"description":967,"children":-1},"How to integrate Nuxt i18n inside of a module.",{"id":271,"title":89,"body":969,"description":957,"extension":958,"links":959,"meta":1494,"navigation":466,"path":90,"seo":1495,"stem":91,"__hash__":962},{"type":273,"value":970,"toc":1490},[971,973,977,979,981,989,991,1253,1255,1270,1304,1308,1310,1368,1378,1386,1394,1396,1486,1488],[276,972,278],{},[280,974,975,288],{"icon":282,"color":283},[285,976,287],{},[290,978,293],{"id":292},[276,980,296],{},[276,982,299,983,314],{},[301,984,985,987],{"className":303,"language":304,"style":305},[307,986,201],{"class":309},[307,988,313],{"class":312},[276,990,317],{},[319,992,993],{"className":303,"code":321,"filename":322,"language":304,"meta":305,"style":305},[301,994,995,999,1023,1027,1057,1069,1081,1085,1089,1093,1135,1147,1159,1163,1167,1171,1201,1213,1225,1229,1233,1237,1247],{"__ignoreMap":305},[307,996,997],{"class":327,"line":328},[307,998,332],{"class":331},[307,1000,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021],{"class":327,"line":335},[307,1002,339],{"class":338},[307,1004,342],{"class":338},[307,1006,345],{"class":309},[307,1008,348],{"class":312},[307,1010,348],{"class":351},[307,1012,355],{"class":354},[307,1014,358],{"class":351},[307,1016,361],{"class":354},[307,1018,364],{"class":351},[307,1020,368],{"class":367},[307,1022,371],{"class":351},[307,1024,1025],{"class":327,"line":374},[307,1026,377],{"class":331},[307,1028,1029,1031,1033,1035,1037,1039,1041,1043,1045,1047,1049,1051,1053,1055],{"class":327,"line":380},[307,1030,383],{"class":367},[307,1032,386],{"class":312},[307,1034,389],{"class":351},[307,1036,392],{"class":309},[307,1038,348],{"class":395},[307,1040,355],{"class":312},[307,1042,358],{"class":351},[307,1044,402],{"class":351},[307,1046,405],{"class":395},[307,1048,408],{"class":351},[307,1050,411],{"class":351},[307,1052,414],{"class":351},[307,1054,417],{"class":395},[307,1056,420],{"class":331},[307,1058,1059,1061,1063,1065,1067],{"class":327,"line":423},[307,1060,426],{"class":338},[307,1062,429],{"class":395},[307,1064,432],{"class":312},[307,1066,417],{"class":395},[307,1068,437],{"class":351},[307,1070,1071,1073,1075,1077,1079],{"class":327,"line":440},[307,1072,443],{"class":338},[307,1074,386],{"class":312},[307,1076,448],{"class":351},[307,1078,451],{"class":309},[307,1080,454],{"class":395},[307,1082,1083],{"class":327,"line":457},[307,1084,460],{"class":351},[307,1086,1087],{"class":327,"line":463},[307,1088,467],{"emptyLinePlaceholder":466},[307,1090,1091],{"class":327,"line":470},[307,1092,473],{"class":331},[307,1094,1095,1097,1099,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127,1129,1131,1133],{"class":327,"line":476},[307,1096,383],{"class":367},[307,1098,481],{"class":312},[307,1100,389],{"class":351},[307,1102,486],{"class":309},[307,1104,348],{"class":395},[307,1106,355],{"class":312},[307,1108,358],{"class":351},[307,1110,402],{"class":351},[307,1112,405],{"class":395},[307,1114,408],{"class":351},[307,1116,411],{"class":351},[307,1118,358],{"class":351},[307,1120,505],{"class":395},[307,1122,408],{"class":351},[307,1124,510],{"class":351},[307,1126,514],{"class":513},[307,1128,517],{"class":351},[307,1130,414],{"class":351},[307,1132,417],{"class":395},[307,1134,420],{"class":331},[307,1136,1137,1139,1141,1143,1145],{"class":327,"line":526},[307,1138,426],{"class":338},[307,1140,429],{"class":395},[307,1142,533],{"class":312},[307,1144,417],{"class":395},[307,1146,437],{"class":351},[307,1148,1149,1151,1153,1155,1157],{"class":327,"line":540},[307,1150,443],{"class":338},[307,1152,481],{"class":312},[307,1154,448],{"class":351},[307,1156,451],{"class":309},[307,1158,454],{"class":395},[307,1160,1161],{"class":327,"line":553},[307,1162,460],{"class":351},[307,1164,1165],{"class":327,"line":558},[307,1166,467],{"emptyLinePlaceholder":466},[307,1168,1169],{"class":327,"line":563},[307,1170,566],{"class":331},[307,1172,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199],{"class":327,"line":569},[307,1174,383],{"class":367},[307,1176,574],{"class":312},[307,1178,389],{"class":351},[307,1180,579],{"class":309},[307,1182,348],{"class":395},[307,1184,355],{"class":312},[307,1186,358],{"class":351},[307,1188,402],{"class":351},[307,1190,405],{"class":395},[307,1192,408],{"class":351},[307,1194,411],{"class":351},[307,1196,414],{"class":351},[307,1198,417],{"class":395},[307,1200,420],{"class":331},[307,1202,1203,1205,1207,1209,1211],{"class":327,"line":602},[307,1204,426],{"class":338},[307,1206,429],{"class":395},[307,1208,609],{"class":312},[307,1210,417],{"class":395},[307,1212,437],{"class":351},[307,1214,1215,1217,1219,1221,1223],{"class":327,"line":616},[307,1216,443],{"class":338},[307,1218,574],{"class":312},[307,1220,448],{"class":351},[307,1222,451],{"class":309},[307,1224,454],{"class":395},[307,1226,1227],{"class":327,"line":629},[307,1228,460],{"class":351},[307,1230,1231],{"class":327,"line":634},[307,1232,467],{"emptyLinePlaceholder":466},[307,1234,1235],{"class":327,"line":639},[307,1236,642],{"class":331},[307,1238,1239,1241,1243,1245],{"class":327,"line":645},[307,1240,648],{"class":338},[307,1242,361],{"class":312},[307,1244,448],{"class":351},[307,1246,655],{"class":312},[307,1248,1249,1251],{"class":327,"line":658},[307,1250,661],{"class":351},[307,1252,664],{"class":312},[276,1254,667],{},[276,1256,670,1257,677,1263,688,1268,408],{},[301,1258,1259,1261],{"className":303,"language":304,"style":305},[307,1260,201],{"class":309},[307,1262,313],{"class":312},[679,1264,1266,687],{"href":681,"rel":1265},[683],[301,1267,686],{},[301,1269,691],{},[319,1271,1272],{"className":303,"code":694,"filename":322,"language":304,"meta":305,"style":305},[301,1273,1274],{"__ignoreMap":305},[307,1275,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302],{"class":327,"line":328},[307,1277,701],{"class":338},[307,1279,402],{"class":351},[307,1281,345],{"class":312},[307,1283,358],{"class":351},[307,1285,486],{"class":312},[307,1287,358],{"class":351},[307,1289,579],{"class":312},[307,1291,358],{"class":351},[307,1293,392],{"class":312},[307,1295,414],{"class":351},[307,1297,722],{"class":338},[307,1299,510],{"class":351},[307,1301,691],{"class":513},[307,1303,729],{"class":351},[276,1305,732,1306,736],{},[301,1307,735],{},[276,1309,739],{},[319,1311,1312],{"className":303,"code":742,"filename":743,"language":304,"meta":305,"style":305},[301,1313,1314,1326,1334,1342,1354,1358,1362],{"__ignoreMap":305},[307,1315,1316,1318,1320,1322,1324],{"class":327,"line":328},[307,1317,339],{"class":338},[307,1319,342],{"class":338},[307,1321,754],{"class":309},[307,1323,348],{"class":312},[307,1325,437],{"class":351},[307,1327,1328,1330,1332],{"class":327,"line":335},[307,1329,763],{"class":395},[307,1331,408],{"class":351},[307,1333,371],{"class":351},[307,1335,1336,1338,1340],{"class":327,"line":374},[307,1337,772],{"class":395},[307,1339,408],{"class":351},[307,1341,371],{"class":351},[307,1343,1344,1346,1348,1350,1352],{"class":327,"line":380},[307,1345,781],{"class":395},[307,1347,408],{"class":351},[307,1349,510],{"class":351},[307,1351,788],{"class":513},[307,1353,729],{"class":351},[307,1355,1356],{"class":327,"line":423},[307,1357,795],{"class":351},[307,1359,1360],{"class":327,"line":440},[307,1361,460],{"class":351},[307,1363,1364,1366],{"class":327,"line":457},[307,1365,661],{"class":351},[307,1367,664],{"class":312},[276,1369,808,1370,815,1376,448],{},[301,1371,1372,1374],{"className":303,"language":304,"style":305},[307,1373,201],{"class":309},[307,1375,313],{"class":312},[679,1377,818],{"href":202},[290,1379,1380,828],{"id":821},[301,1381,1382,1384],{"className":303,"language":304,"style":305},[307,1383,189],{"class":309},[307,1385,313],{"class":312},[276,1387,831,1388,448],{},[301,1389,1390,1392],{"className":303,"language":304,"style":305},[307,1391,189],{"class":309},[307,1393,313],{"class":312},[276,1395,840],{},[319,1397,1398],{"className":303,"code":843,"language":304,"meta":305,"style":305},[301,1399,1400,1404,1422,1426,1444,1450,1454,1458,1476,1480],{"__ignoreMap":305},[307,1401,1402],{"class":327,"line":328},[307,1403,850],{"class":331},[307,1405,1406,1408,1410,1412,1414,1416,1418,1420],{"class":327,"line":335},[307,1407,339],{"class":338},[307,1409,342],{"class":338},[307,1411,859],{"class":309},[307,1413,348],{"class":312},[307,1415,864],{"class":367},[307,1417,867],{"class":354},[307,1419,368],{"class":367},[307,1421,371],{"class":351},[307,1423,1424],{"class":327,"line":374},[307,1425,876],{"class":331},[307,1427,1428,1430,1432,1434,1436,1438,1440,1442],{"class":327,"line":380},[307,1429,383],{"class":367},[307,1431,883],{"class":312},[307,1433,389],{"class":351},[307,1435,888],{"class":338},[307,1437,891],{"class":309},[307,1439,348],{"class":395},[307,1441,355],{"class":312},[307,1443,664],{"class":395},[307,1445,1446,1448],{"class":327,"line":423},[307,1447,648],{"class":338},[307,1449,371],{"class":351},[307,1451,1452],{"class":327,"line":440},[307,1453,908],{"class":331},[307,1455,1456],{"class":327,"line":457},[307,1457,913],{"class":331},[307,1459,1460,1462,1464,1466,1468,1470,1472,1474],{"class":327,"line":463},[307,1461,918],{"class":395},[307,1463,408],{"class":351},[307,1465,883],{"class":309},[307,1467,348],{"class":395},[307,1469,517],{"class":351},[307,1471,929],{"class":513},[307,1473,517],{"class":351},[307,1475,664],{"class":395},[307,1477,1478],{"class":327,"line":470},[307,1479,460],{"class":351},[307,1481,1482,1484],{"class":327,"line":476},[307,1483,661],{"class":351},[307,1485,664],{"class":312},[280,1487,947],{"icon":946},[949,1489,951],{},{"title":305,"searchDepth":335,"depth":335,"links":1491},[1492,1493],{"id":292,"depth":335,"text":293},{"id":821,"depth":335,"text":956},{},{"title":89,"description":957},1793045125025]