Hello everyone,
I set out to write a short style guide/document summarizing Plone's i18n conventions for my own reference. What I discovered is that twenty years of outstanding community effort cannot be written in a short summary, hence it has expanded somewhat more than intended.
Background
I've been working on automated AI-assisted translations for the Plone ecosystem as part of a project I'm calling the "Polyglot Translation Monster Machine." To build effective tooling, I needed to understand the existing conventions deeply — and found that while the practices are well-established, the documentation is scattered across blog posts, tribal knowledge, and source code comments.
What this is (and isn't)
I want to be clear: nothing is broken in Plone's i18n infrastructure. The extraction tools work. The translation pipelines work. Maurits van Rees' workflows have kept things running smoothly for years. This style guide is not a critique — it's an attempt to document what already exists, fill gaps where conventions are implicit rather than explicit, and provide a reference for those who need to understand the system in detail.
Current status
I have used this guide as the foundation for translating Nick CMS and Volto to 30 languages with 100% string coverage. I'm currently working through Plone core and will be uploading these translations for community review shortly after additional QA.
The document
The style guide is available for download in the link below.
Since the document covers the entire Plone/Volto/Nick ecosystem, I'm uncertain which repository it ultimately belongs in. Guidance on this would be appreciated.
Why I'm posting
As a relative newcomer to this community, I'm presenting this draft style guide with appropriate humility. There are certainly errors, and I'm hoping to receive feedback before formally finalizing it and submitting this as a PLIP and proposing it for the official documentation.
I would be grateful for:
-
Corrections where I've misunderstood the architecture or history
-
Guidance on community preferences
-
Advice on the appropriate repository for this document (I have signed the contributors agreement)
-
Feedback on whether this level of detail is useful or excessive
-
Any thoughts on the proposed conventions themselves
Thank you in advance for your time and guidance.
Mack