private function getTemplateTranslationsFiles()
{
$cacheService = \Zend_Registry::get('container')->getService('newscoop.cache');
$translator = \Zend_Registry::get('container')->getService('translator');
$themesService = \Zend_Registry::get('container')->getService('newscoop_newscoop.themes_service');
$locale = $translator->getLocale();
$translator->addLoader('yaml', new YamlFileLoader());
$cacheKey = $cacheService->getCacheKey(array('templates_translations', $themesService->getThemePath(), $locale), 'templates_translations');
$templateTranslations = array();
if ($cacheService->contains($cacheKey)) {
$templateTranslations = $cacheService->fetch($cacheKey);
foreach ($templateTranslations as $translation) {
$translator->addResource('yaml', $translation[0], $translation[1], $translation[2]);
}
return;
}
$filesystem = new Filesystem();
$dir = __DIR__ . '/../../themes/' . $themesService->getThemePath() . 'translations';
if ($filesystem->exists($dir)) {
$finder = new Finder();
$extension = $locale . '.yml';
$finder->files()->in($dir);
$finder->files()->name('*.' . $locale . '.yml');
foreach ($finder as $file) {
$domain = substr($file->getFileName(), 0, -1 * strlen($extension) - 1);
$translator->addResource('yaml', $file->getRealpath(), $locale, $domain);
$templateTranslations[] = array($file->getRealpath(), $locale, $domain);
}
}
$cacheService->save($cacheKey, $templateTranslations);
}