v1.3.9-beta: built-in navigation labels render in Spanish on Spanish sites#37
Conversation
There was a problem hiding this comment.
Pull request overview
Fixes incorrect English labels for built-in navigation items on Spanish (telar_language: es) Telar sites by emitting canonical bilingual labels when generating navigation.yml.
Changes:
- Update
buildNavigationYmlto emit canonical bilingual labels/URLs for built-in nav items (Objects/Objetos, Glossary/Glosario) and skiphome. - Extend unit tests for
buildNavigationYmlto cover canonical bilingual output and home omission. - Bump documented/versioned release markers to
v1.3.9-beta(README, Footer, CHANGELOG).
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
app/lib/publish.server.ts |
Introduces a canonical builtin-nav label map and updates YAML serialization logic for built-ins. |
tests/publish.server.test.ts |
Adds assertions ensuring Spanish labels are emitted for built-ins and home is not serialized. |
README.md |
Updates version badges and beta release text to v1.3.9-beta. |
CHANGELOG.md |
Adds v1.3.9-beta entry describing the Spanish navigation label fix. |
app/components/layout/Footer.tsx |
Updates the displayed app version constant to v1.3.9-beta. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } else if (item.type === "builtin") { | ||
| const builtin = BUILTIN_NAV[item.key ?? ""]; | ||
| if (!builtin) continue; // home / unknown builtins are intentionally not emitted | ||
| lines.push(` - title_en: ${yamlQuote(builtin.en)}`); | ||
| lines.push(` titulo_es: ${yamlQuote(builtin.es)}`); | ||
| lines.push(` url: ${builtin.url}`); |
| * Built-in items emit their canonical bilingual labels (see `BUILTIN_NAV`); a | ||
| * `home` built-in (or any unknown key) is skipped. Custom page / external items | ||
| * are genuinely monolingual, so the user's single label is written into both | ||
| * `title_en` and `titulo_es`. Hidden items (visible: false) are excluded. |
|
Thanks — both addressed in
|
v1.3.9-beta
A navigation labelling fix for Spanish sites.
What's fixed
On a published site set to Spanish (
telar_language: es), the built-in "Objects" and "Glossary" menu links rendered in English.buildNavigationYmlcopied a built-in item's single stored (English) label into bothtitle_enandtitulo_es, so Spanish sites publishedtitulo_es: "Objects"and the framework header rendered English.Built-in items now emit their canonical bilingual labels (Objects/Objetos, Glossary/Glosario) from a single map; the framework header picks the right one by
telar_language. Custom pages and external links are unchanged (genuinely monolingual). Home is intentionally not emitted — the navbar-brand links home.Testing
buildNavigationYmlunit tests; full publish suite (236) green, typecheck clean.navigation.ymlnow writestitulo_es: "Objetos"/"Glosario".Migration
None — no D1 schema change.