When working with i18n content, even small changes in a field require reprocessing the entire content for translation. This becomes inefficient for large texts or frequent updates.
It would be useful to introduce a digest (hash) mechanism per i18n field, allowing plugins and integrations to detect whether content has actually changed.
Proposed behavior:
Each localized field stores a digest (e.g., hash of content)
Digest updates only when the field content changes
Plugins (like translation tools) can compare digests to perform incremental translation, skipping unchanged content
Benefits:
Avoid unnecessary re-translation of unchanged content
Reduce API usage and costs for AI translation services
Improve performance for large datasets and frequent edits
Enable smarter caching strategies for localization workflows
Use case:
In AI-powered translation workflows, this allows processing only modified fields instead of re-translating entire entries after minor edits.
This would improve the ecosystem for translation plugins and localization workflows in Strapi.
I’ve been exploring this approach while building a translation plugin https://github.com/l10n-dev/strapi-plugin-ai-translator , and it significantly improves efficiency.