TranslationServiceProviderをYAMLに登録しましたが、正常に動作します。
$app->register(new TranslationServiceProvider(), array(
'locale_fallback' => 'ru',
));
$app['translator'] = $app->share($app->extend('translator', function($translator, $app) {
$translator->addLoader('yaml', new YamlFileLoader());
$translator->addResource('yaml', CONTENT_PATH . '/locales/en.yml', 'en');
return $translator;
}));
次に、ValidationServiceProviderを次のように登録します。
$app->register(new Silex\Provider\ValidatorServiceProvider());
検証を登録すると、翻訳が機能しなくなります。翻訳する必要のあるすべての文字列がエラーなしで翻訳されるわけではありません。カウントローラーのロケールを変更しているので、それと関係がある可能性があります。
$en->get('/{slug}', function (Silex\Application $app, $slug) {
$app['locale'] = 'en';