Spanish Translation — CF + Solano (Scoping)

Date: May 6–7, 2026 Status: Track A implemented locally on Solano May 7; awaiting production push. Main CF (californiaforever.com) up next. Track B parked pending Anders. Requested by: Anders Engnell (Chief of Staff, CF) Sites in scope: solano.californiaforever.com, californiaforever.com Plan file: ~/.claude/plans/immutable-doodling-scroll.md Implementation log: ../../solano-site/2026-05-07-spanish-toggle-implementation.md — full playbook for porting to main CF.


Status (updated May 7, 2026)

Solano local: ✅ Implemented. Two flag-pair toggle (🇺🇸 EN / 🇲🇽 ES) at right end of #grouped-nav, opacity-only highlight. GTranslate plugin (free, latest stable) installed + activated. Custom dev mu-plugin gtranslate-nav-placement.php injects the toggle server-side, hides plugin defaults, handles lazy-load of Google Translate's element.js, syncs active state. Header + alert bar widened to full viewport with 20px padding. Latency mitigations in place (preconnect + auto-load on non-English cookie).

Solano production: ⏳ Not yet pushed. mu-plugin needs SCP to wp-content/mu-plugins/, plugin needs activation, cache purge. Each step needs per-action approval per CLAUDE.md hard rule.

Main CF (californiaforever.com): ⏳ Up next. Same toggle component / mu-plugin, different visual placement (Tailwind theme, different nav markup). Header padding override is Solano-specific; main CF has its own layout.

Track B (custom AI workflow): ⏳ Parked pending Anders' decision. Tracked in parent WAITING-ON-CLIENT.md.


The ask

Anders wants Spanish translation visibly available on solano.californiaforever.com (community asks + Spanish ads landing there soon). After Eric's two-route reply, Anders chose the simple route for now: get a prominent Spanish toggle live, with the larger custom AI workflow parked for him to come back to.

Eric is treating this as a both-sites scoping exercise. Two different stacks, two different design treatments, two QA passes.


Email thread

Anders → Eric, May 1, 2026

Eric and team,

We have some community asks to host an obviously placed Spanish translation tool on our website, solano.californiaforever.com first and foremost. We'll also have some ads in Spanish pointing to that website soon.

Could you add that tool and ensure it's a Nor Cal Spanish translation?

Thank you!

Anders Engnell Chief of Staff California Forever

Eric → Anders, May 4, 2026

Hi Anders,

There are two ways to go on this, and they're pretty different in scope.

The simpler one is what's already on solano.californiaforever.com today. There's a translate toggle in the nav that swaps the page to Spanish through Google Translate. We can make it more visible to incoming ad traffic with minimal effort. The catch is it's machine Spanish, so it catches everything but won't always read right to a NorCal community audience. Place names, project terms, and tone can come out generic.

The other route is a custom Spanish integration where the priority pages are properly translated, then reviewed and approved by your team before they are published. That gives you a glossary that locks in how your project terms read in Spanish, place names that match how the community actually uses them, and a tone that feels written for that audience rather than translated from English. Once it's set up, any future English changes show exactly what needs a refresh on the Spanish side, so it stays maintainable as the site grows.

We'd suggest leaning on AI for the heavy lifting on the translation side. It's something I work with daily, so I can handle the setup on our end. Here's roughly how the workflow looks:

  1. We pick the priority pages and build a glossary together, place names, project terms, tone, and how you want certain phrases handled.
  2. AI does a first translation pass on each page using that glossary as a reference, so the same project terms read the same way across the whole site.
  3. Your reviewer opens each page in a side-by-side editor, English on the left, Spanish on the right. They edit anything that needs adjusting. No WordPress login required.
  4. Once they sign off, that page goes live in Spanish.
  5. Anytime an English page changes, the system flags the Spanish version so your reviewer knows exactly what to update. Nothing falls out of sync silently.

That's it. The AI does the heavy lifting, your reviewer keeps it accurate, and nothing publishes without their okay.

The big requirement here is the reviewer. Ideally, someone bilingual and familiar with Solano County, signing off on the glossary upfront and approving each page before it goes live. They wouldn't need WordPress access at all, just the browser-based editor mentioned above.

This second route is the larger of the two undertakings. If it's the direction you want to go, I can put together a rough scope on time and budget so you've got real numbers to work from. Or if you'd rather we just make what's there more visible while you decide, that's a small adjustment we can take care of in the meantime.

Thanks!

Anders → Eric, May 5, 2026

Eric, for now, can you make the translate toggle larger and more obvious?

I'll get back to you on the more intensive one soon.


Discovery — what's actually on the sites today

Note: The Local URLs and folder names referenced here were renamed during the May 6/7 ecosystem cleanup. Historical references below are from before the rename (solanocaliforniaforevercom.local, east-solano-plan.local); the current names are solano-californiaforever.local and californiaforever.local respectively. See parent ~/.claude/project-notes/california-forever/README.md for the full mapping.

Property Local site (post-cleanup) Theme Translation tooling?
solano.californiaforever.com solano-californiaforever.local plumbweb + plumbweb-child No live widget on prod. Stale .menu-item-gtranslate and .gt_selector SCSS in _assets/scss/_includes/_header.scss (lines 131, 148, 160, 426, 443) suggests GTranslate was used here previously. Plugin not installed in /plugins/. Production HTML has no translate menu item, no GTranslate JS, no gt_* class.
californiaforever.com californiaforever.local california-forever (custom Tailwind) Nothing. No translation plugin, no language toggle, no i18n scaffolding. Greenfield.

Eric's May 4 line "There's a translate toggle in the nav today" doesn't match production. Eric is handling that messaging side separately. For the work plan, both sites are treated as fresh installs.


Two-track summary

Track A — active

Get a prominent Spanish toggle live on both sites. Free GTranslate plugin, en → es with es-MX regional bias, styled as a peer CTA (not a buried tertiary link). Two separate design treatments because the themes are unrelated.

Implementation cards live in the Todoist project "California Forever — Spanish Translation."

Track B — parked

The custom AI workflow Eric pitched May 4. Glossary, AI-first-pass with reviewer sign-off, drift detection when English pages change. Architecturally significant, touches both sites, blocked on Anders' decision and on him supplying a bilingual NorCal-familiar reviewer.


Open questions


Resume path / next actions

  1. Build the Todoist project + cards.
  2. Solano local: install GTranslate, configure, place in nav, design pass for prominent treatment, QA, push to staging, send Anders preview.
  3. Main CF local: same plugin install, separate design comp for the Tailwind nav, new partial, QA, staging, separate Anders preview.
  4. Hold Track B until Anders re-engages — when he does, scope hours + reviewer + CMS strategy decision before any build.