avoo/serializer-translation-bundle
symfony/serializer) by default, not JMS Serializer. This bundle’s dependency on jms/serializer-bundle:~1.1 (abandoned since 2016) introduces technical debt and maintenance risk.TranslationListener or custom serializers are preferable.avoo/serializer-translation:0.1.* (unmaintained, no releases since 2016).jms/serializer-bundle:~1.1, which is incompatible with modern Laravel (Symfony 4/5/6).AppKernel.php (deprecated in Laravel; uses config/bundles.php or service providers).config/packages/ support).SerializerTranslation).Serializer).api-platform/core for API serialization with built-in translation support).symfony/translation, laravel-translation-manager)? Does this bundle integrate with those?Symfony\Component\Serializer\Normalizer\AbstractNormalizer with a custom TranslationNormalizer achieve the same goal with lower risk?Serializer (not JMS Serializer). This bundle cannot be used out-of-the-box.jms/serializer-bundle:~1.1 is still problematic.composer.json dependencies to ensure no conflicts with jms/serializer-bundle.jms/serializer-bundle with symfony/serializer.Serializer and Normalizer interfaces.// Replace JMS Serializer with Symfony's Normalizer
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
class TranslationNormalizer implements NormalizerInterface { ... }
Serializer with a custom normalizer for translations:
// config/services.yaml
App\Serializer\TranslationNormalizer:
tags: [serializer.normalizer]
trans() helper or symfony/translation for translation logic.~1.1 is abandoned. Newer JMS Serializer versions (if available) may break compatibility.Serializer.Serializer as a backup.avoo/serializer-translation:0.1.* has no releases since 2016. Future PHP/Laravel updates may break compatibility.trans() helper in serializer callbacks (e.g., Symfony\Component\Serializer\Normalizer\ContextualNormalizer).use Symfony\Component\Serializer\Normalizer\ContextualNormalizer;
$normalizer = new ContextualNormalizer([...]);
$data = $normalizer->normalize($entity, null, [
'translation_locale' => 'en',
]);
symfony/cache).Serializer.@Serializer\VirtualProperty).Serializer component (if forking).How can I help you explore Laravel packages today?