the problem
WordPress translation is dominated by two heavy plugins (WPML, Polylang) that bolt onto the existing post/term schema and bring decades of edge-case scaffolding. For new sites that just want clean multilingual content (and AI-assisted drafts), the plugin tax is steep — performance penalty, schema sprawl, and migration risk.
the approach
Flavor stores all translations in a single normalised table keyed by (object_type, object_id, locale). No per-language post duplication, no taxonomy multiplication. Editors
get a side-by-side translation UI that drafts target-language copy via OpenAI and lets
humans review/finish. WPML import is a one-shot CLI command that walks the existing schema
and produces Flavor rows.
stack
- WordPress 6.x, PHP 8.1+
- Custom REST endpoints
- OpenAI API for draft translations (model swap-friendly)
- WP-CLI for WPML import
- React-based admin UI (uses WP’s
@wordpress/components)
status
Active development. Schema and core CRUD shipped; UI polish + WPML import in flight.