dravencms / locale
Locale module for dravencms
Package info
Type:dravencms-package
pkg:composer/dravencms/locale
Requires
- dravencms/application: >=0.0.2
- dravencms/base-form: >=0.0.1
- dravencms/base-grid: >=0.0.1
- dravencms/database: >=0.0.3
- dravencms/location: >=v1.1
- dravencms/translation: >=v1.0
- umpirsky/currency-list: ^1.0
Requires (Dev)
- nette/tester: @dev
Suggests
- dravencms/admin: Provides admin inteface to manage locales
- dravencms/user: User based locale and ACL settings
README
Locale and currency management for multilingual DravenCMS applications. The package connects persisted locale settings with Contributte Translation and provides formatting filters, current-locale resolvers, administration, and a frontend switcher.
Features
- Active/default locale and currency records.
- Locale-specific date, time, number, and currency formats.
- Current locale and currency resolvers.
- Frontend locale switcher component.
- Latte formatting filters.
- Optional admin screens and ACL fixtures.
Installation
composer require dravencms/locale
Apply the Doctrine schema and load fixtures so the application has at least one active default locale and currency. CurrentLocaleResolver throws when no default locale is available.
Install dravencms/admin for management screens and dravencms/user for user/ACL integration.
Localized Presenters
Use TLocalizedPresenter in a shared frontend presenter:
use Dravencms\Locale\TLocalizedPresenter; abstract class FrontPresenter extends \Dravencms\FrontModule\BasePresenter { use TLocalizedPresenter; }
The trait makes locale a persistent presenter parameter and assigns the current language code to $lang in templates. Route definitions should include the locale parameter when language-prefixed URLs are required.
Inject CurrentLocaleResolver or CurrentCurrencyResolver in services that need the persisted locale/currency entity rather than only the translator's language code.
License
This package is licensed under the LGPL-3.0 license.