jenyak/i18n-routing-service-provider

Silex i18n routing service provider.

v1.0 2015-09-14 13:25 UTC

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