Translate website in espagnol

This commit is contained in:
2024-11-28 16:24:01 +01:00
parent a32c52cb7d
commit 4c42355100
32 changed files with 202 additions and 101 deletions

View File

@@ -82,6 +82,11 @@ const { t } = useI18n({
"find": "Retrouvez-moi sur :",
"email": "Ou envoyez-moi un email :",
"copyright": "© {date} Arthur Danjou. Tous droits réservés."
},
"es": {
"find": "Encuéntrame en :",
"email": "O envíame un mail",
"copyright": "2024 Arthur Danjour. Todos los derechos reservados."
}
}
</i18n>

View File

@@ -10,58 +10,59 @@ const navs = [
label: {
en: 'home',
fr: 'accueil',
es: 'inicio'
es: 'inicio',
},
to: '/',
icon: 'house-line-duotone',
shortcut: {
en: 'H',
fr: 'A',
es: 'I'
}
es: 'I',
},
},
{
label: {
en: 'uses',
fr: 'usages',
es: 'usos'
es: 'usos',
},
to: '/uses',
icon: 'backpack-duotone',
shortcut: {
en: 'U',
fr: 'U',
es: 'U'
}
es: 'U',
},
},
{
label: {
en: 'portfolio',
fr: 'portfolio',
es: 'escritos'
es: 'escritos',
},
to: '/portfolio',
icon: 'books-duotone',
shortcut: {
en: 'W',
fr: 'E',
es: 'E'
}
es: 'E',
},
},
{
label: {
en: 'resume',
fr: 'cv',
es: 'currículum'
es: 'currículum',
},
icon: 'address-book-duotone',
to: '/Resume2024.pdf',
target: '_blank',
shortcut: {
en: 'R',
fr: 'C',
es: 'C'
}
}
es: 'C',
},
},
]
async function toggleTheme() {
@@ -98,7 +99,6 @@ async function changeLocale(newLocale?: string) {
document.body.style.animation = ''
}
const router = useRouter()
defineShortcuts({
t: () => toggleTheme(),
@@ -119,7 +119,7 @@ defineShortcuts({
<UTooltip
v-for="nav in navs"
:key="nav.label.en"
:text="nav.label[locale]!"
:text="nav.label[locale]"
>
<UButton
:icon="`i-ph:${nav.icon}`"

View File

@@ -130,6 +130,7 @@ const { t } = useI18n({
</ClientOnly>
</template>
//todo: translate
<i18n lang="json">
{
"en": {
@@ -155,7 +156,15 @@ const { t } = useI18n({
"separator": "à"
},
"es": {
"offline": "Ahora mismo estoy desconectado. Vuelve más tarde para ver en lo que estoy trabajando.",
"working": "Estoy trabajando en {project}, editando {state}, y utilizando {editor}. He empezado hace {start}, el {format}.",
"idling": "Estoy en reposo en mi ordenador con {editor} en segundo plano.",
"tooltip": {
"online": "Estoy conectado 👋",
"offline": "Estoy desconectado 🫥",
"idling": "Estoy durmiendo 😴"
},
"separator": "a"
}
}
</i18n>

View File

@@ -27,6 +27,9 @@ const { t } = useI18n({
},
"fr": {
"quote": "Survolez les textes en gras pour en savoir plus sur moi."
}
},
"es": {
"quote": "Pase el cursor sobre los textos en negrita para obtener más información sobre mí."
},
}
</i18n>

View File

@@ -31,6 +31,9 @@ const { t } = useI18n({
},
"fr": {
"quote": "Bonjour tout le monde ! Merci de visiter mon portfolio. N'hésitez pas à laisser ce que vous avez à dire, comme des suggestions, des appréciations, des questions ou autre chose !"
},
"es": {
"quote": "Hola a todos ! Muchas gracias por visitar mi portfolio. No dudes en dejar cualquier comentario, como sugerencias, apreciaciones. preguntas, o cualquier cosa !"
}
}
</i18n>

View File

@@ -35,7 +35,7 @@ const formatDate = (date: Date, format: string) => useDateFormat(date, format, {
/>
</template>
<template #editors>
{{ stats.editors.data.slice(0, 2).map(editor => `${editor.name} (${editor.percent}%)`).join(' and ') }}
{{ stats.editors.data.slice(0, 2).map(editor => `${editor.name} (${editor.percent}%)`).join(t('separator')) }}
</template>
<template
v-if="stats.os.data[0]"
@@ -69,6 +69,14 @@ const formatDate = (date: Date, format: string) => useDateFormat(date, format, {
"date": "C'était il y a si longtemps 🫣",
"hours": "C'est beaucoup 😮"
}
},
"es": {
"stats": "Recopilo datos desde hace {time} años, empecé el {date}. He programado durante un total de {hours} horas. Mis mejores editores son {editors}. Mi mejor OS es {os}. Y mis lenguajes favoritos son {languages}.",
"separator": " y ",
"tooltip": {
"date": "hace tato tiempo…🫣",
"hours": "es mucho 😮"
}
}
}
</i18n>