独自の翻訳ローダーを実装する必要があります。http://blog.elendev.com/development/php/symfony/use-a-database-as-translation-provider-in-symfony-2/のチュートリアルを使用して 、独自の翻訳ローダーを実装しました。
コードでエラーが発生することはありませんが、ローダーのロード関数が実行されることはありません。
どの翻訳を実行すべきかをsymfonyに伝える方法はありますか?
config.yml
translation.loader.db:
class: Mysk\TranslationBundle\Services\DBLoader
arguments: ["@doctrine.orm.entity_manager"]
tags:
- { name: translation.loader, alias: db}
DBLoader.php
class DBLoader implements LoaderInterface {
private $transaltionRepository;
private $languageRepository;
/**
* @param EntityManager $entityManager
*/
public function __construct(EntityManager $entityManager){
$this->transaltionRepository = $entityManager->getRepository("MyskTranslationBundle:LanguageTranslation");
$this->languageRepository = $entityManager->getRepository("MyskTranslationBundle:Language");
echo "yeah";
}
function load($resource, $locale, $domain = 'messages'){
die();
//Load on the db for the specified local
$language = $this->languageRepository->getLanguage($locale);
$translations = $this->transaltionRepository->getTranslations($language, $domain);
$catalogue = new MessageCatalogue($locale);
foreach($translations as $translation){
$catalogue->set($translation->getLanguageToken()->getToken(), $translation->getTranslation(), $domain);
}
return $catalogue;
}}
何か案は?
乾杯ティモ