Download the PHP package letkode/locale-bundle without Composer
On this page you can find all versions of the php package letkode/locale-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download letkode/locale-bundle
More information about letkode/locale-bundle
Files in letkode/locale-bundle
Package locale-bundle
Short Description Locale provider, listener and translatable field applier for Symfony applications
License MIT
Informations about the package locale-bundle
letkode/locale-bundle
Locale provider, listener and translatable field applier for Symfony applications.
Installation
Symfony Flex will register the bundle automatically. If not using Flex, add it manually:
Configuration
All options are optional; defaults are shown.
To get a commented copy of the config in your project:
It writes config/packages/letkode_locale.yaml and never overwrites an existing file unless you add --force. --dry-run shows what it would do.
supported_locales is a map of locale code to label:
To read the values from the environment, use the usual %env()% processors, e.g. default_locale: '%env(APP_DEFAULT_LOCALE)%' and supported_locales: '%env(json:APP_SUPPORTED_LOCALES)%' with APP_SUPPORTED_LOCALES={"en":"English","es":"Español"}.
To override a value in one environment, use when@<env>:
Contents
Classes are grouped by type, like the rest of the letkode/* packages:
Provider\LocaleProvider
Resolves the active locale for the current request. Inject it in services that need locale-awareness.
EventListener\LocaleListener
Kernel event listener (priority configurable via listener_priority, defaults to 15) that sets $request->setLocale() on every request, from the Accept-Language header (first matching supported locale) or the configured default_locale as fallback.
Applier\TranslatableFieldApplier
Applies a translatable field — either a plain string (default locale only) or a locale map — to an entity, storing every locale's value via the entity's setTranslation() (e.g. Trait\HasTranslationsTrait, below).
Trait\HasEnumTranslationLabelTrait
Adds a translator-backed getLabel()/getTranslations() pair to a string-backed enum, so business enums (statuses, types, etc.) resolve their human-readable label from a {domain}.{locale}.yaml translation file instead of hardcoding it.
Trait\HasTranslationsTrait
Adds a translations jsonb column (via a Doctrine #[ORM\Column] attribute) for storing multi-locale field values on an entity — the storage shape TranslatableFieldApplier writes into.
Requires
doctrine/orm. Unlike the rest of this bundle, this trait is Doctrine-specific —doctrine/ormis listed insuggest, notrequire, so projects that only useLocaleProvider/LocaleListener/TranslatableFieldApplierdon't need it installed. Only use this trait in an app that already has Doctrine ORM.
Requirements
- PHP
^8.4 - Symfony
^7.0 || ^8.0 doctrine/orm^3.0— only if usingTrait\HasTranslationsTrait
License
MIT — see LICENSE.
All versions of locale-bundle with dependencies
letkode/config-publisher-bundle Version ^1.0
symfony/config Version ^7.0 || ^8.0
symfony/dependency-injection Version ^7.0 || ^8.0
symfony/http-foundation Version ^7.0 || ^8.0
symfony/http-kernel Version ^7.0 || ^8.0
symfony/translation-contracts Version ^3.0