@@ -10,10 +10,10 @@ function handleSearch() {
1010 })
1111}
1212
13+ const { t } = useI18n ()
1314useSeoMeta ({
14- title: ' npmx - Package Browser for the npm Registry' ,
15- description:
16- ' A better browser for the npm registry. Search, browse, and explore packages with a modern interface.' ,
15+ title: t (' seo.home.title' ),
16+ description: t (' seo.home.description' ),
1717})
1818
1919defineOgImageComponent (' Default' )
@@ -34,7 +34,7 @@ defineOgImageComponent('Default')
3434 class =" text-fg-muted text-lg sm:text-xl max-w-md mb-12 animate-slide-up animate-fill-both"
3535 style =" animation-delay : 0.1s "
3636 >
37- a better browser for the npm registry
37+ {{ $t('tagline') }}
3838 </p >
3939
4040 <!-- Search form with micro-interactions -->
@@ -43,7 +43,9 @@ defineOgImageComponent('Default')
4343 style =" animation-delay : 0.2s "
4444 >
4545 <form role =" search" class =" relative" @submit.prevent =" handleSearch" >
46- <label for =" home-search" class =" sr-only" >Search npm packages</label >
46+ <label for =" home-search" class =" sr-only" >
47+ {{ $t('search.label') }}
48+ </label >
4749
4850 <!-- Search input with glow effect on focus -->
4951 <div class =" relative group" :class =" { 'is-focused': isSearchFocused }" >
@@ -64,7 +66,7 @@ defineOgImageComponent('Default')
6466 v-model =" searchQuery"
6567 type =" search"
6668 name =" q"
67- placeholder =" search packages... "
69+ : placeholder =" $t(' search.placeholder') "
6870 autocomplete =" off"
6971 class =" w-full bg-bg-subtle border border-border rounded-lg pl-8 pr-24 py-4 font-mono text-base text-fg placeholder:text-fg-subtle transition-all duration-300 focus:(border-border-hover outline-none)"
7072 @input =" handleSearch"
@@ -76,7 +78,7 @@ defineOgImageComponent('Default')
7678 type =" submit"
7779 class =" absolute right-2 px-4 py-2 font-mono text-sm text-bg bg-fg rounded-md transition-all duration-200 hover:bg-fg/90 active:scale-95"
7880 >
79- search
81+ {{ $t(' search.button') }}
8082 </button >
8183 </div >
8284 </div >
@@ -86,7 +88,7 @@ defineOgImageComponent('Default')
8688
8789 <!-- Popular packages -->
8890 <nav
89- aria-label =" Popular packages "
91+ : aria-label =" $t('nav.popular_packages') "
9092 class =" pb-20 text-center animate-fade-in animate-fill-both"
9193 style =" animation-delay : 0.3s "
9294 >
0 commit comments