[{"data":1,"prerenderedAt":724},["ShallowReactive",2],{"navigation":3,"navigation_docs":214,"-docs-guide-per-component-translations":270,"-docs-guide-per-component-translations-surround":719},[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":73,"body":272,"description":713,"extension":714,"links":715,"meta":716,"navigation":398,"path":74,"seo":717,"stem":75,"__hash__":718},"docs\u002Fdocs\u002F02.guide\u002F12.per-component-translations.md",{"type":273,"value":274,"toc":711},"minimark",[275,279,282,568,571,647,659,707],[276,277,278],"p",{},"If you'd like to define translations per-page or per-component you can take advantage of the i18n custom block.",[276,280,281],{},"You can now define translations using i18n custom blocks in your Vue files:",[283,284,290],"pre",{"className":285,"code":286,"filename":287,"language":288,"meta":289,"style":289},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nconst { t } = useI18n({\n  useScope: 'local'\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp>{{ t('hello') }}\u003C\u002Fp>\n\u003C\u002Ftemplate>\n\n\u003Ci18n lang=\"json\">\n{\n  \"en\": {\n    \"hello\": \"hello world!\"\n  },\n  \"ja\": {\n    \"hello\": \"こんにちは、世界!\"\n  }\n}\n\u003C\u002Fi18n>\n","page.vue","vue","",[291,292,293,328,357,375,383,393,400,410,430,439,444,465,470,486,509,515,529,547,553,559],"code",{"__ignoreMap":289},[294,295,298,302,306,310,313,316,319,323,325],"span",{"class":296,"line":297},"line",1,[294,299,301],{"class":300},"sMK4o","\u003C",[294,303,305],{"class":304},"swJcz","script",[294,307,309],{"class":308},"spNyl"," setup",[294,311,312],{"class":308}," lang",[294,314,315],{"class":300},"=",[294,317,318],{"class":300},"\"",[294,320,322],{"class":321},"sfazB","ts",[294,324,318],{"class":300},[294,326,327],{"class":300},">\n",[294,329,331,334,337,341,344,347,351,354],{"class":296,"line":330},2,[294,332,333],{"class":308},"const",[294,335,336],{"class":300}," {",[294,338,340],{"class":339},"sTEyZ"," t ",[294,342,343],{"class":300},"}",[294,345,346],{"class":300}," =",[294,348,350],{"class":349},"s2Zo4"," useI18n",[294,352,353],{"class":339},"(",[294,355,356],{"class":300},"{\n",[294,358,360,363,366,369,372],{"class":296,"line":359},3,[294,361,362],{"class":304},"  useScope",[294,364,365],{"class":300},":",[294,367,368],{"class":300}," '",[294,370,371],{"class":321},"local",[294,373,374],{"class":300},"'\n",[294,376,378,380],{"class":296,"line":377},4,[294,379,343],{"class":300},[294,381,382],{"class":339},")\n",[294,384,386,389,391],{"class":296,"line":385},5,[294,387,388],{"class":300},"\u003C\u002F",[294,390,305],{"class":304},[294,392,327],{"class":300},[294,394,396],{"class":296,"line":395},6,[294,397,399],{"emptyLinePlaceholder":398},true,"\n",[294,401,403,405,408],{"class":296,"line":402},7,[294,404,301],{"class":300},[294,406,407],{"class":304},"template",[294,409,327],{"class":300},[294,411,413,416,418,421,424,426,428],{"class":296,"line":412},8,[294,414,415],{"class":300},"  \u003C",[294,417,276],{"class":304},[294,419,420],{"class":300},">",[294,422,423],{"class":339},"{{ t('hello') }}",[294,425,388],{"class":300},[294,427,276],{"class":304},[294,429,327],{"class":300},[294,431,433,435,437],{"class":296,"line":432},9,[294,434,388],{"class":300},[294,436,407],{"class":304},[294,438,327],{"class":300},[294,440,442],{"class":296,"line":441},10,[294,443,399],{"emptyLinePlaceholder":398},[294,445,447,449,452,454,456,458,461,463],{"class":296,"line":446},11,[294,448,301],{"class":300},[294,450,451],{"class":304},"i18n",[294,453,312],{"class":308},[294,455,315],{"class":300},[294,457,318],{"class":300},[294,459,460],{"class":321},"json",[294,462,318],{"class":300},[294,464,327],{"class":300},[294,466,468],{"class":296,"line":467},12,[294,469,356],{"class":300},[294,471,473,476,479,481,483],{"class":296,"line":472},13,[294,474,475],{"class":300},"  \"",[294,477,478],{"class":308},"en",[294,480,318],{"class":300},[294,482,365],{"class":300},[294,484,485],{"class":300}," {\n",[294,487,489,492,496,498,500,503,506],{"class":296,"line":488},14,[294,490,491],{"class":300},"    \"",[294,493,495],{"class":494},"sBMFI","hello",[294,497,318],{"class":300},[294,499,365],{"class":300},[294,501,502],{"class":300}," \"",[294,504,505],{"class":321},"hello world!",[294,507,508],{"class":300},"\"\n",[294,510,512],{"class":296,"line":511},15,[294,513,514],{"class":300},"  },\n",[294,516,518,520,523,525,527],{"class":296,"line":517},16,[294,519,475],{"class":300},[294,521,522],{"class":308},"ja",[294,524,318],{"class":300},[294,526,365],{"class":300},[294,528,485],{"class":300},[294,530,532,534,536,538,540,542,545],{"class":296,"line":531},17,[294,533,491],{"class":300},[294,535,495],{"class":494},[294,537,318],{"class":300},[294,539,365],{"class":300},[294,541,502],{"class":300},[294,543,544],{"class":321},"こんにちは、世界!",[294,546,508],{"class":300},[294,548,550],{"class":296,"line":549},18,[294,551,552],{"class":300},"  }\n",[294,554,556],{"class":296,"line":555},19,[294,557,558],{"class":300},"}\n",[294,560,562,564,566],{"class":296,"line":561},20,[294,563,388],{"class":300},[294,565,451],{"class":304},[294,567,327],{"class":300},[276,569,570],{},"or using the Yaml syntax:",[283,572,574],{"className":285,"code":573,"filename":287,"language":288,"meta":289,"style":289},"\u003C!-- same script and template as above  -->\n\u003Ci18n lang=\"yaml\">\nen:\n  hello: 'hello world!'\nja:\n  hello: 'こんにちは、世界!'\n\u003C\u002Fi18n>\n",[291,575,576,582,601,608,621,627,639],{"__ignoreMap":289},[294,577,578],{"class":296,"line":297},[294,579,581],{"class":580},"sHwdD","\u003C!-- same script and template as above  -->\n",[294,583,584,586,588,590,592,594,597,599],{"class":296,"line":330},[294,585,301],{"class":300},[294,587,451],{"class":304},[294,589,312],{"class":308},[294,591,315],{"class":300},[294,593,318],{"class":300},[294,595,596],{"class":321},"yaml",[294,598,318],{"class":300},[294,600,327],{"class":300},[294,602,603,605],{"class":296,"line":359},[294,604,478],{"class":304},[294,606,607],{"class":300},":\n",[294,609,610,613,615,617,619],{"class":296,"line":377},[294,611,612],{"class":304},"  hello",[294,614,365],{"class":300},[294,616,368],{"class":300},[294,618,505],{"class":321},[294,620,374],{"class":300},[294,622,623,625],{"class":296,"line":385},[294,624,522],{"class":304},[294,626,607],{"class":300},[294,628,629,631,633,635,637],{"class":296,"line":395},[294,630,612],{"class":304},[294,632,365],{"class":300},[294,634,368],{"class":300},[294,636,544],{"class":321},[294,638,374],{"class":300},[294,640,641,643,645],{"class":296,"line":402},[294,642,388],{"class":300},[294,644,451],{"class":304},[294,646,327],{"class":300},[648,649,651,652],"callout",{"icon":650},"i-heroicons-light-bulb","Read more about ",[653,654,658],"a",{"href":655,"rel":656},"https:\u002F\u002Fvue-i18n.intlify.dev\u002Fguide\u002Fadvanced\u002Fsfc.html",[657],"nofollow","i18n custom blocks",[648,660,663,664,673,674,681,682,693,694,700,701,706],{"icon":661,"color":662},"i-heroicons-exclamation-triangle","warning","When you use per-component translations, you will need to use ",[291,665,667,670],{"className":666,"language":322,"style":289},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight",[294,668,669],{"class":349},"t",[294,671,672],{"class":339},"()"," exported by ",[291,675,676,679],{"className":666,"language":322,"style":289},[294,677,678],{"class":349},"useI18n",[294,680,672],{"class":339},", ",[683,684,685,686],"strong",{},"not ",[291,687,688,691],{"className":666,"language":322,"style":289},[294,689,690],{"class":349},"$t",[294,692,672],{"class":339},".\nTo read more about ",[291,695,696,698],{"className":666,"language":322,"style":289},[294,697,690],{"class":349},[294,699,672],{"class":339}," which isn't used in per-component translation, see the ",[653,702,705],{"href":703,"rel":704},"https:\u002F\u002Fvue-i18n.intlify.dev\u002Fguide\u002Fadvanced\u002Fcomposition.html#implicit-with-injected-properties-and-functions",[657],"\"implicit with injected properties and functions\" section of Vue I18n docs",".",[708,709,710],"style",{},"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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .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":289,"searchDepth":330,"depth":330,"links":712},[],"Inline your translation messages within your components.","md",null,{},{"title":73,"description":713},"hs8olHg_k2iBh3s2c6_E8mltzJm1x7hztwyOaLUn6T8",[720,722],{"title":69,"path":70,"stem":71,"description":721,"children":-1},"How a fallback gets selected when a translation is missing.",{"title":77,"path":78,"stem":79,"description":723,"children":-1},"Nuxt hooks to extend i18n messages in your project.",1793224021862]