2012-02-15 5 views
0

コードで検証メッセージを翻訳:サイレックス

$app->register(new Silex\Provider\TranslationServiceProvider(), array(
     'locale' => 'sr_Latn', 
     'translation.class_path' => __DIR__ . '/../vendor/symfony/src', 
     'translator.messages' => array('sr_Latn' => __DIR__ .'/../vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sr_Latn.xlf') 
    )); 
    $app['translator.loader'] = new Symfony\Component\Translation\Loader\XliffFileLoader(); 

と私はまだ英語で検証メッセージを取得します。何か案が?

答えて

1

あなたはTranslator::addResourceへの呼び出しを追加する必要があります。

$file = __DIR__ .'/../vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sr_Latn.xlf'; 
$app['translator']->addResource('xliff', $file, 'sr_Latn', 'validators'); 

Symfony\Bundle\FrameworkBundle\DependencyInjection::registerTranslatorConfigurationを参照してください。

+0

ありがとう、$ app ['translator'] - > addLoader( 'xlf'、新しいSymfony \ Component \ Translation \ Loader \ XliffFileLoader()); 'insted' $ app ['translator。 loader '] =新しいSymfony \ Component \ Translation \ Loader \ XliffFileLoader(); 'を実行します。 '$ app ['translator.loader']'を実行すると、 'The" xlf "翻訳ローダーが登録されていません"というメッセージとともに 'RuntimeException'がスローされます。それは 'Symfony \ Bundle \ FrameworkBundle \ DependencyInjection :: RegisterTranslatorConfiguration'ではなく、' Symfony \ Bundle \ FrameworkBundle \ DependencyInjection \ FrameworkExtension :: registerTranslatorConfiguration'です。ありがとう、これは本当に助けた。 – umpirsky

+0

doc http://silex.sensiolabs.org/doc/providers/translation.html#yaml-based-language-filesを更新する必要があります。 – umpirsky

+0

レシピのプルリクエストはすばらしいことでしょう。 – igorw

関連する問題