jenyak / i18n-routing-service-provider
Silex i18n routing service provider.
Installs: 3 508
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 8
Open Issues: 2
Requires
- silex/silex: ~1.1
- symfony/translation: ~2.4
Requires (Dev)
- phpunit/phpunit: 4.8
This package is not auto-updated.
Last update: 2024-05-11 15:40:41 UTC
README
Silex i18n routing service provider inspired by JMSI18nRoutingBundle
Installation
Recommended installation is through composer. Just add
the following to your composer.json
file:
Silex 1.3
{
"require": {
"jenyak/i18n-routing-service-provider": "~1.0"
}
}
Silex 2
{
"require": {
"jenyak/i18n-routing-service-provider": "dev-master"
}
}
Registering
$app->register(new Jenyak\I18nRouting\Provider\I18nRoutingServiceProvider());
Parameters
- i18n_routing.translation_domain: Translation domain for routes. The default value is
routes
. - i18n_routing.locales: Routing locales. The default value is
array(en)
. - locale: Default routing locale. The default value is
en
.
Example
$app = new Application(); //... $app->register(new Jenyak\I18nRouting\Provider\I18nRoutingServiceProvider()); $app['locale'] = 'en'; $app['i18n_routing.locales'] = array('en', 'hu', 'ua'); // You can translate patterns $app['translator.domains'] = array('routes' => array( 'hu' => array('test_route' => '/teszt'), )); // There's no need to put {_locale} in route pattern $app->get('/test', function () { //... })->bind('test_route');
Matched URLs will be:
/test
- url for default locale without prefix
/hu/teszt
- url with prefix and translated
/ua/test
- url with prefix