Specific changes include:
- Remove the `defineConfig` wrapper from the configuration examples to match the latest upstream conventions.
- Add the missing `{transformitems-hook}` anchor to the `transformItems` heading.
- Translate domain placeholders in the code blocks (e.g., `example.com` to `ejemplo.com`).
- Add missing documentation sections for `defineRoutes` type-safe loaders and watching template/data files.
- Update file names in code block examples to match the Spanish translation (e.g., `getting-started.md` to `comenzar.md` and `guide/` to `guia/`).
Specific changes include:
- Remove the unnecessary accent on "incluido".
- Fix a mistranslation by changing "modelo de lenguaje" (language model) to "lenguaje de plantillas" (templating language).
- Replace "Nungun manipulador de eventos será embutido" with the more accurate "No se adjuntarán controladores de eventos".
- Fix incorrect code block syntax (e.g., mismatched backticks ````md) so the examples render correctly.
- Add missing documentation sections for custom container attributes (`markdown-it-attrs`), VS Code regions, and header anchors.
- Improve terminology by using "encabezado" (instead of "Header"), "anclaje" (instead of "anchor"), and "carga diferida" (instead of "lazy loading").
- Fix Markdown table alignment and spacing issues.
- Sync code snippet examples to include line numbers (`md:line-numbers`) as in the English version.
- Correct minor typos and orthographic errors.
- Portuguese phrasing in the text ("documentação" to "documentación").
- translation of "merge" in a technical programming context by replacing "mezclar" with "fusionar" (e.g., "se fusionará", "fusionarlos").
Update the Spanish getting started guide to sync with the English version and correct various grammatical issues.
Specific changes include:
- Add the Deno installation command snippet to the package managers list.
- Add `vue` to the Yarn installation command snippet.
- Update the ESM warning note to refer to "contextos de CJS asíncronos" instead of "JavaScript asíncronos".
- Correct missing accents and misspellings (e.g., "Estructura", "raíz", "línea", "asegúrese", "explícitamente").
- Improve translation (e.g., changing "embutido" to "incluye", "build" to "compilación", "paths" to "rutas").
Update the Spanish translation of the extending default theme guide to correct minor typos and update code examples.
- Capitalize "Defecto" in the main heading.
- Correct missing accents in words like "asegúrese", "raíz", "automáticamente", and "Aquí".
- Fix typos, such as changing "componetes" to "componentes" and removing the incorrect accent on "substituidas".
- Add the proper Spanish opening exclamation mark to "¡atención!".
- Update the custom component import path to correctly point to `./theme/components/CustomNavBar.vue` in the overriding components example.
Update the Spanish translation of the deployment guide to improve terminology, fix grammatical errors, and sync with the upstream English version.
- Update GitLab interface references to use their Spanish equivalents (e.g., "Usar dominio único") since the GitLab UI, unlike GitHub, is natively available in Spanish.
- Replace inaccurate translations like "implantar" and "build" with standard terminology like "desplegar" and "compilación".
- Sync the GitHub Actions workflow with the English version (adding the VitePress cache step and updating Node.js versions).
- Fix various typographical and grammatical errors (e.g., changing "em" to "en", "removera" to "removerá", "ou" to "o") (from PT translation maybe?).
- Fix missing accents on words like "Compilación", "artículos", "extraído", and "implícitamente".
- Improve translation naturalness by changing phrases like "apenas en el tiempo" to "solo en el tiempo" and "actualizaciones rápidas" to "actualizaciones en caliente".
- Correct terminology mistakes, such as translating "timestamps" to "marca de tiempo" instead of "sellos se datos".
- Update code block comments to use proper Spanish interrogative punctuation (adding "¡" and "¿").
Update the Spanish translation of the custom theme guide to align with the English version and correct grammatical errors.
- Change the `useData()` explanation to clarify that the data is used to "conditionally" render layouts, matching the English context.
- Add the missing documentation section for router event listeners (`onBeforeRouteChange`, `onAfterRouteChange`).
- Update code block filenames (e.g., changing `.vitepress/theme/config.ts` to `.vitepress/config.ts`).
- Fix various spelling and accentuation errors throughout the document (e.g., "raíz", "presencia", "definido", "fácil").
- Change "path" translation to "directorio".
- Add the missing tip from the English version
- Capitalize headings to match the English version (e.g., "El directorio público").
- Use "ubicación" instead of "localización" to avoid semantic ambiguity.
- Fix markdown formatting for the `withBase` helper link.
- Correct various spelling and syntax
Change the Spanish translation of "Markdown to beautiful docs in minutes" from "Markdown para obtener lindos documentos en minutos" to "Markdown en documentación atractiva en minutos".
VitePress is focused on creating documentation, not documents (right?), so translating "docs" to "documentación" is more accurate. Additionally, replace "lindo" with "atractiva" as the former sounds too informal. Include minor orthographic corrections.
Change the Spanish translation of "Last Updated Timestamp" from "Sello temporal de actualización" to "Última actualización".
The original translation doesn't make sense. "Última actualización" is the most general and natural, though "Actualizado por última vez el" or "Fecha de última actualización" might be more appropriate depending on the exact context.
Replace the standalone `useData().hash` ref (backed by its own
`hashchange` listener in `initData`) with the `hash` already tracked on
the route, so the current URL is observed in one place and behaves
consistently during SSR.
- `isActive()` no longer reads `location.hash` at call time; it takes
the current hash as an argument (plus an optional `skipHashCheck`)
and `matchPath` is now required, making it pure and SSR-safe
- nav bar menus, nav screen menus, and menu links now react to hash-only
navigation too
- sidebar active-state tracking is reworked on top of the route: items
without a link are handled, and collapsed groups reliably auto-expand
when a child link becomes active (including on hash changes)
- prev/next links now properly ignore query strings and hashes when
deduplicating sidebar candidates (via `normalize`) and when matching
the current page
- custom `i18nRouting` functions receive the whole current `Route`
instead of only the hash string; language menu links are resolved
from the route (en + ru docs updated)
- `useLangs()` / `resolveLocaleLink()` are refactored with
self-documenting, JSDoc'd options (`linkToCorrespondingPage`,
`targetLocaleLink`, `currentLocaleLink`), and `resolveLocaleLink`
gained focused unit tests covering locale-home links, corresponding
links, cleanUrls, index pages, root-locale switching, and custom
routing functions
- unavoidable hydration mismatches are silenced with
`data-allow-mismatch` (viewport-dependent inline styles, per-locale
alternate links that embed the current query/hash)
- the `Route` interface moved to the shared types so
`DefaultTheme.I18nRouting` can reference it; the `vitepress` type
export is unchanged
- misc cleanups: `uniqBy` moved to theme support utils, `smartComputed`
comparator now called as `(newValue, oldValue)`, import ordering
BREAKING CHANGE: `useData().hash` has been removed. Read the hash from
`useRoute()` instead.
BREAKING CHANGE: custom `themeConfig.i18nRouting` functions now receive
the current `Route` as their second argument instead of the hash
string: `(data, route, targetLocale) => string`. Use `route.hash` for
the previous value; `route.path`, `route.query`, and `route.data` are
available as well.