Configuración
Creación del Proyecto
npm create astro@latest -- --template yacosta738/astro-cms
Configuración
1. Configurar /src/locales.ts
Primero, actualiza el archivo de configuración de idiomas.
Establece el idioma predeterminado en DEFAULT_LOCALE_SETTING
y la lista de idiomas deseados en LOCALES_SETTING
. Esto sigue la configuración de Starlight.
// Set your site's default locale.
export const DEFAULT_LOCALE_SETTING: string = "en";
export const LOCALES_SETTING: LocaleSetting = {
// Añade o elimina los idiomas soportados.
en: {
label: "English",
lang: "en-US", // opcional
},
ja: {
label: "日本語",
},
"zh-cn": {
label: "简体中文",
lang: "zh-CN",
},
ar: {
label: "العربية",
dir: "rtl", // opcional
},
};
Consulta el siguiente enlace para obtener información sobre los códigos de idioma.
2. Configurar astro.config.mjs
Establece tu URL en site
.
import mdx from '@astrojs/mdx';
import sitemap from '@astrojs/sitemap';
import { defineConfig } from 'astro/config';
import { DEFAULT_LOCALE_SETTING, LOCALES_SETTING } from './src/locales';
export default defineConfig({
- site: 'https://astro-cms-dpv.pages.dev',
+ site: 'https://tu-sitio.com',
i18n: {
defaultLocale: DEFAULT_LOCALE_SETTING,
locales: Object.keys(LOCALES_SETTING),
routing: {
prefixDefaultLocale: true,
redirectToDefaultLocale: false,
},
},
...
Consulta la documentación oficial para ver las opciones detalladas de configuración de Astro.
nota: No se recomienda cambiar la configuración de prefixDefaultLocale
y redirectToDefaultLocale
. Astro i18n Starter gestiona el proceso de redirección con JavaScript del lado del cliente. Si la URL no contiene un idioma, se redirigirá al idioma predeterminado. Por ejemplo, /setup/
se redirigirá a /en/setup/
.
Estructura del Proyecto
Sigue la estructura de proyecto de Astro.
src/
├── assets/
│ └── en/, ja/ ...
├── blog/
│ └── en/, ja/ ...
├── components/
│ └── i18n/
├── layouts/
├── pages/
│ ├── [lang]/
│ ├── en/, ja/ ...
│ ├── 404.astro
│ └── index.astro
├── styles/
├── content.config.ts
├── consts.ts
├── i18n.ts
└── locales.ts
src/components/i18n
Directorio para componentes de UI utilizados en sitios web multilingües.
src/pages
- Los archivos bajo
src/pages/[lang]/
generan archivos HTML para cada idioma dinámicamente desde un único archivo.astro
. - También puedes generar archivos HTML para cada idioma desde carpetas como
src/pages/en/
,src/pages/ja/
, etc.
src/consts.ts
Archivo para datos constantes que pueden ser importados y utilizados dentro del proyecto. Se puede omitir si no es necesario.
src/i18n.ts
Archivo que contiene definiciones de funciones utilizadas en Astro i18n Starter. Generalmente no hay necesidad de editar este archivo.