Add Spanish and Arabic versions with a language switch
- English stays at /, Spanish at /es/ and Arabic at /ar/ (right to left) - EN · ES · AR switch in the header and mobile menu - Pages are written in English; the build translates them through src/i18n/es.json and src/i18n/ar.json, including browser-script strings - rtl.css mirrors the layout and loads Arabic fonts on /ar/ pages - hreflang alternates on every page and a multilingual sitemap - scripts/i18n-extract.mjs lists strings that still need translating Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -29,6 +29,22 @@ build.mjs Genera dist/ + sitemap.xml + robots.txt + 404.html
|
||||
| `/contact/book/` | `src/pages/book.mjs` |
|
||||
| `/press/` | `src/pages/press.mjs` |
|
||||
|
||||
## Idiomas
|
||||
|
||||
El sitio sale en inglés (`/`), español (`/es/`) y árabe (`/ar/`, de derecha a izquierda), con selector EN · ES · AR en la barra de navegación, `hreflang` en cada página y un `sitemap.xml` multilingüe.
|
||||
|
||||
Las páginas se escriben en inglés. Al construir, `build.mjs` genera las versiones traducidas sustituyendo cada texto por su traducción de `src/i18n/es.json` y `src/i18n/ar.json` (clave = texto en inglés). Los textos que ponen los scripts del navegador están en `JS_STRINGS` (`src/i18n.mjs`). Los ajustes de diseño para árabe están en `static/assets/rtl.css`.
|
||||
|
||||
Si cambias un texto en inglés, su traducción deja de coincidir y esa frase se ve en inglés en `/es/` y `/ar/`. El build lo avisa; para listar lo que falta:
|
||||
|
||||
```bash
|
||||
node scripts/i18n-extract.mjs # cuántos textos faltan por idioma
|
||||
node scripts/i18n-extract.mjs es falta.json # los textos en español que faltan, para traducir
|
||||
npm run build -- --strict # falla si falta alguna traducción
|
||||
```
|
||||
|
||||
El formulario y el calendario de GoHighLevel se muestran tal como están configurados en GoHighLevel (en inglés).
|
||||
|
||||
## Desarrollo
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user