Download the PHP package locastic/api-platform-translation-bundle without Composer
On this page you can find all versions of the php package locastic/api-platform-translation-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download locastic/api-platform-translation-bundle
More information about locastic/api-platform-translation-bundle
Files in locastic/api-platform-translation-bundle
Package api-platform-translation-bundle
Short Description Translation bundle for Api platform based on Sylius translation
License MIT
Informations about the package api-platform-translation-bundle
Locastic Api Translation Bundle
Translation bundle for API Platform based on Sylius translation: translations are stored per locale in a dedicated translation entity and exposed through your API as embedded objects, with the active locale resolved from each request.
Supported versions:
| Version | PHP | API Platform | Doctrine ORM |
|---|---|---|---|
2.x (master) |
^8.2 |
^3.4 \|\| ^4.0 |
^3.0 |
| 1.4 | ^8.1 |
^2.1 \|\| ^3.0 |
^3.0 |
Installation:
Implementation:
Translatable entity:
- Extend your resource with
Locastic\ApiPlatformTranslationBundle\Model\AbstractTranslatable - Add a
createTranslation()method which returns a new object of the translation entity - Add a
translationsproperty: aOneToManyto the translation entity, indexed by locale, with thetranslationsserialization group - Add virtual fields for all translatable fields; their getters and setters delegate to the translation object
Example:
Translation entity:
- Add an entity with all translatable fields. The convention is the name of the translatable entity +
Translation - Extend
Locastic\ApiPlatformTranslationBundle\Model\AbstractTranslation - Add the
translationsserialization group to all fields, plus your usual read/write groups
Example:
API resource notes:
- The
translation.groupsfilter (registered by this bundle) lets clients request all translation objects in a response via?groups[]=translations. Without thetranslationsgroup, responses contain only the requested (or fallback) locale. - Add the
translationsgroup to thenormalizationContextofPOSTandPUT/PATCHoperations, as in the example above, so write operations return all translation objects.
Usage:
Language param for displaying a single translation:
?locale=de
Or use the Accept-Language http header
Accept-Language: de
Restricting locales: if framework.enabled_locales is configured, only those locales are accepted: a ?locale= value outside the list and non-matching Accept-Language headers fall back to the default locale. When enabled_locales is not configured (Symfony's default), any requested locale is accepted.
Serialization group for displaying all translations:
?groups[]=translations
POST translations example
EDIT translations example
Send the id of each existing translation so it is updated instead of replaced:
Contribution
If you have an idea on how to improve this bundle, feel free to contribute. If you have problems or you found some bugs, please open an issue.
Support
Want us to help you with this bundle or any API Platform/Symfony project? Write us an email on [email protected]
All versions of api-platform-translation-bundle with dependencies
api-platform/symfony Version ^3.4 || ^4.0
doctrine/orm Version ^3.0
doctrine/doctrine-bundle Version ^2.13 || ^3.0
symfony/translation Version ^6.4 || ^7.0 || ^8.0
symfony/dependency-injection Version ^6.4 || ^7.0 || ^8.0
symfony/yaml Version ^6.4 || ^7.0 || ^8.0