CampTemplate::getTemplateTranslationsFiles PHP Method

getTemplateTranslationsFiles() private method

Get translations files for theme.
    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);
    }