AI
Plone: Frontend
Plone: Backend
15/10/2025
Alfa
en
From .pot to Perfect: Standards-Driven AI that Gets Plone/Volto UI Translations Right
Developer
Intermediate
UI strings are tiny and context-poor, yet must be culturally precise, consistent, and deliver the correct intent.

Details

I present a standards-based linguistic framework that feeds LLMs the right context to translate Plone (gettext/i18ndude, domains) and Volto (React-Intl/FormatJS) consistently—even where msgid vs “Default:” usage has drifted. In Volto, the project’s i18n script (for example, pnpm i18n) extracts messages, synchronizes a .pot template and .po files, then generates the JSON catalogs used at runtime.

The approach combines:

  • Controlled glossaries and semantic buckets for roles, workflow states, and components to disambiguate intent.
  • Lightweight context packaging in prompts (purpose, audience, part of speech, UI region). • Alignment with gettext/ICU and ISO locale data, plus cross-language checks against existing strings.
  • Automated QA to flag ambiguous English terms (“File”, “Menu”, “Link”, “Tree”, “Cookies”, “Key”, “Root”).

I will demo two practical workflows teams can adopt today: (1) extracting .pot from both Plone (i18ndude) and Volto (pnpm i18n), and (2) transforming a single English .pot into vetted .po files in multiple languages using the framework, with reproducible prompts, guard-rail rules, and verification gates. I will show how to keep JSON in Volto and PO files in Plone in sync, how to avoid domain drift, and how to prevent accidental “label-as-msgid” regressions.

Attendees leave with checklists, sample prompts, and a repeatable path from English .pot to accurate, culturally appropriate .po translations—ready for both Plone and Volto.