4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Translation\Loader
;
14 use Symfony\Component\Translation\Exception\InvalidResourceException
;
15 use Symfony\Component\Translation\Exception\NotFoundResourceException
;
16 use Symfony\Component\Config\
Resource\FileResource
;
19 * PhpFileLoader loads translations from PHP files returning an array of translations.
21 * @author Fabien Potencier <fabien@symfony.com>
25 class PhpFileLoader
extends ArrayLoader
implements LoaderInterface
32 public function load($resource, $locale, $domain = 'messages')
34 if (!stream_is_local($resource)) {
35 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
38 if (!file_exists($resource)) {
39 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
42 $messages = require($resource);
44 $catalogue = parent
::load($messages, $locale, $domain);
45 $catalogue->addResource(new FileResource($resource));