Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(es): add Spanish translations #3859

Merged
merged 47 commits into from
Jun 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
8bd1a90
docs: translate index.ts to spanish
caparra92 Apr 30, 2024
5ae4284
docs: translate shared.ts to spanish
caparra92 Apr 30, 2024
cc8c6d4
docs: add locales to lunaria.config.json
caparra92 Apr 30, 2024
52a6f1e
docs: add es folder to config
caparra92 Apr 30, 2024
a4ddb46
docs: translate asset-handling and cms.md to spanish
caparra92 Apr 30, 2024
eb3a6a0
Merge branch 'main' into docs_spanish_translation
caparra92 May 3, 2024
3bf4f08
docs(es): fix typo in docs/.vitepress/config/es.ts
caparra92 May 4, 2024
635b6c7
docs(es): translate docs/es/guide/custom-theme.md
caparra92 May 4, 2024
0734005
docs(es): translate docs/es/guide/data-loading.md
caparra92 May 4, 2024
1884cf7
docs(es): fix typo in docs/es/guide/data-loading.md
caparra92 May 4, 2024
842d97e
docs(es): translate docs/es/guide/deploy.md
caparra92 May 5, 2024
afd4ce9
docs(es): translate docs/es/guide/extending-default-theme.md
caparra92 May 6, 2024
87f3fbe
docs(es): translate docs/es/guide/frontmatter.md
caparra92 May 7, 2024
18a253d
docs(es): translate docs/es/guide/getting-started.md
caparra92 May 7, 2024
81c7f9f
docs(es): translate docs/es/guide/i18n.md
caparra92 May 7, 2024
2585066
docs(es): translate docs/es/guide/markdown.md
caparra92 May 12, 2024
31ab87a
docs(es): translate docs/es/guide/mpa-mode.md
caparra92 May 12, 2024
3e5af2a
docs(es): translate docs/es/guide/routing.md
caparra92 May 14, 2024
e4d6584
docs(es): translate docs/es/guide/sitemap-generation.md
caparra92 May 19, 2024
bb4eaa4
docs(es): translate docs/es/guide/ssr-compat.md
caparra92 May 19, 2024
1e4dfad
docs(es): translate docs/es/guide/using-vue.md
caparra92 May 21, 2024
956b036
docs(es): translate docs/es/guide/what-is-vitepress.md
caparra92 May 22, 2024
7f98c99
Merge branch 'docs_spanish_translation' of https://github.com/caparra…
caparra92 May 22, 2024
846498b
Merge branch 'main' into docs_spanish_translation
caparra92 May 22, 2024
9722d5c
docs(es): translate docs/es/reference/cli.md
JohnFreddyTutistar Jun 4, 2024
7566c5d
docs(es): translate docs/es/reference/defaul-theme-badge.md
JohnFreddyTutistar Jun 4, 2024
cea588a
docs(es): translate docs/es/reference/defaul-theme-carbon-ads.md
JohnFreddyTutistar Jun 4, 2024
b7622e3
docs(es): translate docs/es/reference/defaul-theme-config.md
JohnFreddyTutistar Jun 4, 2024
d55c70b
docs(es): translate docs/es/reference/defaul-theme-edit-link.md
JohnFreddyTutistar Jun 4, 2024
cb228ac
docs(es): translate docs/es/reference/defaul-theme-footer.md
JohnFreddyTutistar Jun 4, 2024
cbd613c
docs(es): translate docs/es/reference/defaul-theme-home-page.md
JohnFreddyTutistar Jun 4, 2024
f418cef
docs(es): translate docs/es/reference/defaul-theme-last-update.md
JohnFreddyTutistar Jun 4, 2024
9d49c7a
docs(es): translate docs/es/reference/defaul-theme-layout.md
JohnFreddyTutistar Jun 4, 2024
cb5d1c6
docs(es): translate docs/es/reference/defaul-theme-nav.md
JohnFreddyTutistar Jun 4, 2024
1d72e88
docs(es): translate docs/es/reference/defaul-theme-prev-next-list.md
JohnFreddyTutistar Jun 4, 2024
f42fe88
docs(es): translate docs/es/reference/defaul-theme-search.md
JohnFreddyTutistar Jun 4, 2024
2a54097
docs(es): translate docs/es/reference/defaul-theme-sidebar.md
JohnFreddyTutistar Jun 4, 2024
4d17c3e
docs(es): translate docs/es/reference/defaul-theme-team-page.md
JohnFreddyTutistar Jun 4, 2024
554de19
docs(es): translate docs/es/reference/frontmatter-config.md
JohnFreddyTutistar Jun 4, 2024
fac8905
docs(es): translate docs/es/reference/runtime-api.md
JohnFreddyTutistar Jun 4, 2024
d89bf98
docs(es): translate docs/es/reference/site-config.md
JohnFreddyTutistar Jun 4, 2024
f5ea574
Merge branch 'main' into translate_vitepress
caparra92 Jun 4, 2024
f6662fe
Merge branch 'vuejs:main' into docs_spanish_translation
caparra92 Jun 4, 2024
fda6b56
Merge branch 'translate_vitepress' into docs_spanish_translation
caparra92 Jun 4, 2024
6922d3c
Merge branch 'docs_spanish_translation' of https://github.com/caparra…
caparra92 Jun 4, 2024
ef2efe7
Update docs/.vitepress/config/index.ts
brc-dd Jun 6, 2024
4267ff2
typo
brc-dd Jun 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
215 changes: 215 additions & 0 deletions docs/.vitepress/config/es.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
import { createRequire } from 'module'
import { defineConfig, type DefaultTheme } from 'vitepress'

const require = createRequire(import.meta.url)
const pkg = require('vitepress/package.json')

export const es = defineConfig({
lang: 'es-CO',
description: 'Generador de Sitios Estaticos desarrollado con Vite y Vue.',

themeConfig: {
nav: nav(),

sidebar: {
'/es/guide/': { base: '/es/guide/', items: sidebarGuide() },
'/es/reference/': { base: '/es/reference/', items: sidebarReference() }
},

editLink: {
pattern: 'https://github.com/vuejs/vitepress/edit/main/docs/:path',
text: 'Editar esta página en GitHub'
},

footer: {
message: 'Liberado bajo la licencia MIT',
copyright: `Derechos reservados © 2019-${new Date().getFullYear()} Evan You`
},

docFooter: {
prev: 'Anterior',
next: 'Siguiente'
},

outline: {
label: 'En esta página'
},

lastUpdated: {
text: 'Actualizado en',
formatOptions: {
dateStyle: 'short',
timeStyle: 'medium'
}
},

langMenuLabel: 'Cambiar Idioma',
returnToTopLabel: 'Volver arriba',
sidebarMenuLabel: 'Menu Lateral',
darkModeSwitchLabel: 'Tema Oscuro',
lightModeSwitchTitle: 'Cambiar a modo claro',
darkModeSwitchTitle: 'Cambiar a modo oscuro'
}
})

function nav(): DefaultTheme.NavItem[] {
return [
{
text: 'Guia',
link: '/es/guide/what-is-vitepress',
activeMatch: '/es/guide/'
},
{
text: 'Referencia',
link: '/es/reference/site-config',
activeMatch: '/es/reference/'
},
{
text: pkg.version,
items: [
{
text: 'Registro de cambios',
link: 'https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md'
},
{
text: 'Contribuir',
link: 'https://github.com/vuejs/vitepress/blob/main/.github/contributing.md'
}
]
}
]
}

function sidebarGuide(): DefaultTheme.SidebarItem[] {
return [
{
text: 'Introducción',
collapsed: false,
items: [
{ text: 'Qué es VitePress?', link: 'what-is-vitepress' },
{ text: 'Iniciando', link: 'getting-started' },
{ text: 'Enrutamiento', link: 'routing' },
{ text: 'Despliegue', link: 'deploy' }
]
},
{
text: 'Escribiendo',
collapsed: false,
items: [
{ text: 'Extensiones Markdown', link: 'markdown' },
{ text: 'Manejo de assets', link: 'asset-handling' },
{ text: 'Frontmatter', link: 'frontmatter' },
{ text: 'Usando Vue en Markdown', link: 'using-vue' },
{ text: 'Internacionalización', link: 'i18n' }
]
},
{
text: 'Pesonalización',
collapsed: false,
items: [
{ text: 'Usando un tema personalizado', link: 'custom-theme' },
{
text: 'Extendiendo el tema por defecto',
link: 'extending-default-theme'
},
{
text: 'Carga de datos en tiempo de compilación',
link: 'data-loading'
},
{ text: 'Compatibilidad SSR', link: 'ssr-compat' },
{ text: 'Conectando a un CMS', link: 'cms' }
]
},
{
text: 'Experimental',
collapsed: false,
items: [
{ text: 'Modo MPA', link: 'mpa-mode' },
{ text: 'Generación de Sitemap', link: 'sitemap-generation' }
]
},
{
text: 'Configuración y Referencia del API',
base: '/es/reference/',
link: 'site-config'
}
]
}

function sidebarReference(): DefaultTheme.SidebarItem[] {
return [
{
text: 'Referencia',
items: [
{ text: 'Configuración del sitio', link: 'site-config' },
{ text: 'Configuración Frontmatter', link: 'frontmatter-config' },
{ text: 'API de tiempo de ejecución', link: 'runtime-api' },
{ text: 'CLI', link: 'cli' },
{
text: 'Tema por defecto',
base: '/es/reference/default-theme-',
items: [
{ text: 'Visión general', link: 'config' },
{ text: 'Navegación', link: 'nav' },
{ text: 'Barra Lateral', link: 'sidebar' },
{ text: 'Página Inicial', link: 'home-page' },
{ text: 'Pie de página', link: 'footer' },
{ text: 'Layout', link: 'layout' },
{ text: 'Distintivo', link: 'badge' },
{ text: 'Página del equipo', link: 'team-page' },
{ text: 'Links Anterior / Siguiente', link: 'prev-next-links' },
{ text: 'Editar Link', link: 'edit-link' },
{ text: 'Sello temporal de actualización', link: 'last-updated' },
{ text: 'Busqueda', link: 'search' },
{ text: 'Carbon Ads', link: 'carbon-ads' }
]
}
]
}
]
}

export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = {
es: {
placeholder: 'Buscar documentos',
translations: {
button: {
buttonText: 'Buscar',
buttonAriaLabel: 'Buscar'
},
modal: {
searchBox: {
resetButtonTitle: 'Limpiar búsqueda',
resetButtonAriaLabel: 'Limpiar búsqueda',
cancelButtonText: 'Cancelar',
cancelButtonAriaLabel: 'Cancelar'
},
startScreen: {
recentSearchesTitle: 'Historial de búsqueda',
noRecentSearchesText: 'Ninguna búsqueda reciente',
saveRecentSearchButtonTitle: 'Guardar en el historial de búsqueda',
removeRecentSearchButtonTitle: 'Borrar del historial de búsqueda',
favoriteSearchesTitle: 'Favoritos',
removeFavoriteSearchButtonTitle: 'Borrar de favoritos'
},
errorScreen: {
titleText: 'No fue posible obtener resultados',
helpText: 'Verifique su conexión de red'
},
footer: {
selectText: 'Seleccionar',
navigateText: 'Navegar',
closeText: 'Cerrar',
searchByText: 'Busqueda por'
},
noResultsScreen: {
noResultsText: 'No fue posible encontrar resultados',
suggestedQueryText: 'Puede intentar una nueva búsqueda',
reportMissingResultsText:
'Deberian haber resultados para esa consulta?',
reportMissingResultsLinkText: 'Click para enviar feedback'
}
}
}
}
}
2 changes: 2 additions & 0 deletions docs/.vitepress/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { en } from './en'
import { zh } from './zh'
import { pt } from './pt'
import { ru } from './ru'
import { es } from './es'

export default defineConfig({
...shared,
Expand All @@ -12,6 +13,7 @@ export default defineConfig({
zh: { label: '简体中文', ...zh },
pt: { label: 'Português', ...pt },
ru: { label: 'Русский', ...ru },
es: { label: 'Español', ...es },
ko: { label: '한국어', lang: 'ko-KR', link: 'https://vitepress.vuejs.kr/' }
}
})
3 changes: 2 additions & 1 deletion docs/.vitepress/config/shared.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { defineConfig } from 'vitepress'
import { search as zhSearch } from './zh'
import { search as ptSearch } from './pt'
import { search as ruSearch } from './ru'
import { search as esSearch } from './es'

export const shared = defineConfig({
title: 'VitePress',
Expand Down Expand Up @@ -56,7 +57,7 @@ export const shared = defineConfig({
appId: '8J64VVRP8K',
apiKey: 'a18e2f4cc5665f6602c5631fd868adfd',
indexName: 'vitepress',
locales: { ...zhSearch, ...ptSearch, ...ruSearch }
locales: { ...zhSearch, ...ptSearch, ...ruSearch, ...esSearch }
}
},

Expand Down
59 changes: 59 additions & 0 deletions docs/es/guide/asset-handling.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Manejo de Assets {#asset-handling}

## Referenciando Assets Estáticos {#referencing-static-assets}

Todos los archivos Markdown son compilados en componentes Vue y procesados por [Vite](https://vitejs.dev/guide/assets.html). Usted puede **y debe** referenciar cualquier asset usando URLs relativas:

```md
![Una imagen](./imagen.png)
```

Puede referenciar assets estáticos en sus archivos markdown, sus componentes `*.vue` en el tema, estilos y simples archivos `.css`, usando paths públicos absolutos (com base en la raiz del projeto) o paths relativos (con base en su sistema de arhivos). Este último es semejante al comportamiento que está acostumbrado se ya usó Vite, Vue CLI o el `file-loader` de webpack.

Tipos comunes de archivos de imagen, media y fuente son detectados e incluidos automaticamente como assets.

Todos los assets referenciados, incluyendo aquellos usando paths absolutos, serán copiados al directorio de salida con un nombre de archivo hash en la compilación de producción. Assets nunca referenciados no serán copiados. Assets de imagen menores que 4KB serán incorporados en base64 - esto puede ser configurado por la opción [`vite`](../reference/site-config#vite) en configuración.

Todas las referencias de path **estáticas**, incluyendo paths absolutos, deben ser basadas en la estructura de su directorio de trabajo.

## El directorio público {#the-public-directory}

A veces, puede ser necesario proveer assets estáticos que no son referenciados directamente en ninguno de sus componentes del tema o Markdown, o usted puede querer servir ciertos archivos con el nombre del archivo original. Ejemplos de tales archivos incluyen `robots.txt`, favicons e iconos PWA.

Puede colocar esos archivos en el directorio `public` sobre el [directorio de origen](./routing#source-directory). Por ejemplo, se la raiz de su proyecto fuera `./docs` y estuviera usando localización por defecto del directorio fuente, entonces el directorio público será `./docs/public`.

Los assets colocados en `public` serán copiados a la raiz del directorio de salida tal como son.

Observe que usted debe referenciar archivos colocados en `public` usando e path absoluto de la raiz - por ejemplo, `public/icon.png` debe siempre ser referenciado en el código fuente como `/icon.png`.

## URL Base {#base-url}

Si su sitio estuviera implantado en una URL que no sea la raiz, será necesario definir la opción `base` en `.vitepress/config.js`. Por ejemplo, se planea implantar su sitio en `https://foo.github.io/bar/`, entonces `base` debe ser definido como `'/bar/'` (siempre debe comenzar y terminar con una barra).

Todos los paths de sus assets estáticos son procesados automáticamente para ajustarse a los diferentes valores de configuración `base`. Por ejemplo, se tuviera una referencia absoluta a un asset sobre `public` en su Markdown:

```md
![Una imagen](/imagen-dentro-de-public.png)
```

**No** necesita actualizarlo cuando altere el valor de configuración `base` en ese caso.

Sin embargo, se estuviera creando un componente de tema que vincula assets dinámicamente, por ejemplo, una imagen cuyo `src` esta basado en un valor de configuración del tema:

```vue
<img :src="theme.logoPath" />
```

En este caso, es recomendable complementar el path con el [`auxiliar withBase`](../reference/runtime-api#withbase) proporcionado por VitePress:

```vue
<script setup>
import { withBase, useData } from 'vitepress'

const { theme } = useData()
</script>

<template>
<img :src="withBase(theme.logoPath)" />
</template>
```
56 changes: 56 additions & 0 deletions docs/es/guide/cms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
outline: deep
---

# Conectando a un CMS {#connecting-to-a-cms}

## Flujo de Trabajo general {#general-workflow}

Conectar VitePress a un CMS girará mayormente en torno a [Rutas dinámicas](./routing#dynamic-routes). Asegurese de entender cómo funcionan antes de proceder.

Como cada CMS funcionará de forma diferente, aqui podemos proveer apenas un flujo de trabajo genérico que requiere ser adaptado para cada escenario específico.

1. Si su CMS exige autenticación, cree un archivo `.env` para almacenar los tokens del API y cargarlos como:

```js
// posts/[id].paths.js
import { loadEnv } from 'vitepress'

const env = loadEnv('', process.cwd())
```

2. Obtenga los datos necesarios del CMS y aplique formato en paths de datos apropiados:

```js
export default {
async paths() {
// use la biblioteca del cliente CMS respectiva si es necesario
const data = await (await fetch('https://my-cms-api', {
headers: {
// token caso necesario
}
})).json()

return data.map(entry => {
return {
params: { id: entry.id, /* título, autores, data, etc. */ },
content: entry.content
}
})
}
}
```

3. Presente el contenido en la página:

```md
# {{ $params.title }}

- por {{ $params.author }} en {{ $params.date }}

<!-- @content -->
```

## Guias de Integración {#integration-guides}

Se usted escribió una guía sobre cómo integrar VitePress con un CMS específico, por favor use el link "Edite esta página" abajo para enviarlo hacia aqui!