Skip to content

Paragraph1/I18nRoutingServiceProvider

 
 

Repository files navigation

I18n Routing Service Provider
Build Status Coverage Status

Silex i18n routing service provider inspired by JMSI18nRoutingBundle

Installation

Recommended installation is through composer. Just add the following to your composer.json file:

Silex 2

{
    "require": {
        "paragraph1/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', 'eu', 'fr');

// You can translate patterns
$app['translator.domains'] = array('routes' => array(
    'fr' => array('test_route' => '/entsegu-bat'),
));

// There's no need to put {_locale} in route pattern
$app->get('/test', function () {
   //...
})->bind('test_route');

Matched URLs will be:

/en/test - url for default locale without prefix

/eu/entsegu-bat - url with prefix and translated

/fr/test - url with prefix

Disable I18n for a route

$app->get('/dont-translate', function() {
    //...
})->bind('my_route')->getRoute()->setOption('i18n', false);

# Careful when using Silex\Provider\TranslationServiceProvider

```php
$app = new Application();
// when also using TranslationServiceProvider add your routes when registering it:
$app->register(new Jenyak\I18nRouting\Provider\I18nRoutingServiceProvider());
...
$app->register(new \Silex\Provider\TranslationServiceProvider(), array(
    'locale_fallbacks' => array('en'),
    'translator.domains' => array(
        'fr' => array('test_route' => '/entsegu-bat')
    )
));

About

Silex i18n routing service provider.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%