eekes / sulu-translations-bundle
Manage a Sulu 3 project's translations in the database, edited in the Sulu admin and live on the website without a deploy or a cache clear.
Package info
github.com/eekes/sulu-translations-bundle
Type:symfony-bundle
pkg:composer/eekes/sulu-translations-bundle
Requires
- php: ^8.2
- doctrine/collections: ^2.0
- doctrine/dbal: ^3.6 || ^4.0
- doctrine/orm: ^2.17 || ^3.0
- sulu/sulu: ~3.0
- symfony/cache: ^6.4 || ^7.0
- symfony/config: ^6.4 || ^7.0
- symfony/console: ^6.4 || ^7.0
- symfony/dependency-injection: ^6.4 || ^7.0
- symfony/event-dispatcher: ^6.4 || ^7.0
- symfony/filesystem: ^6.4 || ^7.0
- symfony/finder: ^6.4 || ^7.0
- symfony/http-foundation: ^6.4 || ^7.0
- symfony/http-kernel: ^6.4.46 || ^7.0
- symfony/service-contracts: ^3.0
- symfony/translation: ^6.4 || ^7.0
- symfony/translation-contracts: ^3.0
- twig/twig: ^3.0
Requires (Dev)
- doctrine/doctrine-bundle: ^2.11 || ^3.0
- friendsofphp/php-cs-fixer: ^3.64
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.0
- phpstan/phpstan-doctrine: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^11.5
- symfony/browser-kit: ^6.4 || ^7.0
- symfony/css-selector: ^6.4 || ^7.0
- symfony/dotenv: ^6.4 || ^7.0
- symfony/error-handler: ^6.4.44 || ^7.0
- symfony/http-client: ^6.4 || ^7.0
- symfony/phpunit-bridge: ^7.2
- symfony/yaml: ^6.4 || ^7.0
Suggests
- symfony/http-client: Required for the shipped DeepL machine translator.
- symfony/yaml: Required to import from and export to YAML translation files.
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-11-05 14:22:52 UTC
README
Makes the translations of a Sulu 3 project editable in the Sulu admin, in every language, by the
people who write the texts. A saved value is live on the next request: no translation:pull, no
file rewrite, no deploy and no cache:clear.
What's inside
- The admin interface: one row per key with inline editing, a reference-language column and a filter for what is still untranslated.
- Placeholders and ICU messages: a save that drops a placeholder is refused, and ICU messages get a plural editor.
- Machine translation: DeepL, or a service of your own, for what is still empty, with placeholders protected.
- Key discovery: keys your templates and code ask for show up in the admin by themselves.
- Migrations and deployment: a release carries its translations as a Doctrine migration.
- Import and export: bring in the
translations/*.yamlyou already have, and export back to files. - History and activity: every value keeps its previous versions, and every change lands in Sulu's activity trail.
- Permissions: per language and per domain, on Sulu's own roles.
Documentation
Installation, configuration and everything else: sulu.eekes.be/sulu-translations-bundle.
License
MIT