diff --git a/UPGRADE-3.4.md b/UPGRADE-3.4.md index 503e74922ce41..c359f0695a4ab 100644 --- a/UPGRADE-3.4.md +++ b/UPGRADE-3.4.md @@ -42,6 +42,9 @@ FrameworkBundle * The `--no-prefix` option of the `translation:update` command is deprecated and will be removed in 4.0. Use the `--prefix` option with an empty string as value instead (e.g. `--prefix=""`) + + * The class `Symfony\Bundle\FrameworkBundle\Translation\TranslationLoader` was + moved to the Translation component (`Symfony\Component\Translation\Loader\TranslationLoader`) * The `Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddCacheClearerPass` class has been deprecated and will be removed in 4.0. Use the diff --git a/UPGRADE-4.0.md b/UPGRADE-4.0.md index 5a8042835c2da..0c1d383a6dda7 100644 --- a/UPGRADE-4.0.md +++ b/UPGRADE-4.0.md @@ -348,6 +348,9 @@ FrameworkBundle * The `--no-prefix` option of the `translation:update` command has been removed. + + * The class `Symfony\Bundle\FrameworkBundle\Translation\TranslationLoader` was + moved to the Translation component (`Symfony\Component\Translation\Loader\TranslationLoader`) * The `Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddCacheClearerPass` class has been removed. Use the `Symfony\Component\HttpKernel\DependencyInjection\AddCacheClearerPass` class instead. diff --git a/src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md b/src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md index a06afaae0a726..c022bbbee19c1 100644 --- a/src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md +++ b/src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md @@ -22,6 +22,8 @@ CHANGELOG name as value, using it makes the command lazy * Added `cache:pool:prune` command to allow manual stale cache item pruning of supported PSR-6 and PSR-16 cache pool implementations + * Deprecated `Symfony\Bundle\FrameworkBundle\Translation\TranslationLoader`, use + `Symfony\Component\Translation\Loader\TranslationLoader` instead 3.3.0 ----- diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php index 79b4234d81eb8..49cb9c39933ab 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php +++ b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php @@ -11,7 +11,7 @@ namespace Symfony\Bundle\FrameworkBundle\Command; -use Symfony\Bundle\FrameworkBundle\Translation\TranslationLoader; +use Symfony\Component\Translation\Loader\TranslationLoader; use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml index cd0a983010c8a..993cafbb1df51 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml @@ -121,7 +121,7 @@ - + diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationDebugCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationDebugCommandTest.php index 19c6d70156b19..3694cfc6e1131 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationDebugCommandTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationDebugCommandTest.php @@ -141,7 +141,7 @@ private function getContainer($extractedMessages = array(), $loadedMessages = ar }) ); - $loader = $this->getMockBuilder('Symfony\Bundle\FrameworkBundle\Translation\TranslationLoader')->getMock(); + $loader = $this->getMockBuilder('Symfony\Component\Translation\Loader\TranslationLoader')->getMock(); $loader ->expects($this->any()) ->method('loadMessages') diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandTest.php index e845619d9a826..286ada506f869 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandTest.php @@ -113,7 +113,7 @@ private function getContainer($extractedMessages = array(), $loadedMessages = ar }) ); - $loader = $this->getMockBuilder('Symfony\Bundle\FrameworkBundle\Translation\TranslationLoader')->getMock(); + $loader = $this->getMockBuilder('Symfony\Component\Translation\Loader\TranslationLoader')->getMock(); $loader ->expects($this->any()) ->method('loadMessages') diff --git a/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php b/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php index b6377863afe48..8a38e10483e16 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php +++ b/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php @@ -11,56 +11,11 @@ namespace Symfony\Bundle\FrameworkBundle\Translation; -use Symfony\Component\Finder\Finder; -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Loader\LoaderInterface; +@trigger_error(sprintf('The class "%s" has been deprecated. Use "%s" instead. ', self::class, \Symfony\Component\Translation\Loader\TranslationLoader::class), E_USER_DEPRECATED); /** - * TranslationLoader loads translation messages from translation files. - * - * @author Michel Salib + * @deprecated Class moved to Symfony\Component\Translation\Loader\TranslationLoader */ -class TranslationLoader +class TranslationLoader extends \Symfony\Component\Translation\Loader\TranslationLoader { - /** - * Loaders used for import. - * - * @var array - */ - private $loaders = array(); - - /** - * Adds a loader to the translation extractor. - * - * @param string $format The format of the loader - * @param LoaderInterface $loader - */ - public function addLoader($format, LoaderInterface $loader) - { - $this->loaders[$format] = $loader; - } - - /** - * Loads translation messages from a directory to the catalogue. - * - * @param string $directory the directory to look into - * @param MessageCatalogue $catalogue the catalogue - */ - public function loadMessages($directory, MessageCatalogue $catalogue) - { - if (!is_dir($directory)) { - return; - } - - foreach ($this->loaders as $format => $loader) { - // load any existing translation files - $finder = new Finder(); - $extension = $catalogue->getLocale().'.'.$format; - $files = $finder->files()->name('*.'.$extension)->in($directory); - foreach ($files as $file) { - $domain = substr($file->getFilename(), 0, -1 * strlen($extension) - 1); - $catalogue->addCatalogue($loader->load($file->getPathname(), $catalogue->getLocale(), $domain)); - } - } - } } diff --git a/src/Symfony/Component/Translation/CHANGELOG.md b/src/Symfony/Component/Translation/CHANGELOG.md index baa791b0ad174..718108efdfd8f 100644 --- a/src/Symfony/Component/Translation/CHANGELOG.md +++ b/src/Symfony/Component/Translation/CHANGELOG.md @@ -7,6 +7,7 @@ CHANGELOG * Added `TranslationDumperPass` * Added `TranslationExtractorPass` * Added `TranslatorPass` + * Added class `Symfony\Component\Translation\Loader\TranslationLoader` from FrameworkBundle 3.2.0 ----- diff --git a/src/Symfony/Component/Translation/Loader/TranslationLoader.php b/src/Symfony/Component/Translation/Loader/TranslationLoader.php new file mode 100644 index 0000000000000..0cfcd87bdd43f --- /dev/null +++ b/src/Symfony/Component/Translation/Loader/TranslationLoader.php @@ -0,0 +1,65 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Translation\Loader; + +use Symfony\Component\Finder\Finder; +use Symfony\Component\Translation\MessageCatalogue; + +/** + * TranslationLoader loads translation messages from translation files. + * + * @author Michel Salib + */ +class TranslationLoader +{ + /** + * Loaders used for import. + * + * @var array + */ + private $loaders = array(); + + /** + * Adds a loader to the translation extractor. + * + * @param string $format The format of the loader + * @param LoaderInterface $loader + */ + public function addLoader($format, LoaderInterface $loader) + { + $this->loaders[$format] = $loader; + } + + /** + * Loads translation messages from a directory to the catalogue. + * + * @param string $directory the directory to look into + * @param MessageCatalogue $catalogue the catalogue + */ + public function loadMessages($directory, MessageCatalogue $catalogue) + { + if (!is_dir($directory)) { + return; + } + + foreach ($this->loaders as $format => $loader) { + // load any existing translation files + $finder = new Finder(); + $extension = $catalogue->getLocale().'.'.$format; + $files = $finder->files()->name('*.'.$extension)->in($directory); + foreach ($files as $file) { + $domain = substr($file->getFilename(), 0, -1 * strlen($extension) - 1); + $catalogue->addCatalogue($loader->load($file->getPathname(), $catalogue->getLocale(), $domain)); + } + } + } +} diff --git a/src/Symfony/Component/Translation/composer.json b/src/Symfony/Component/Translation/composer.json index 3f59d4214f6c5..9371bc0c65f4c 100644 --- a/src/Symfony/Component/Translation/composer.json +++ b/src/Symfony/Component/Translation/composer.json @@ -24,6 +24,7 @@ "symfony/dependency-injection": "~3.4|~4.0", "symfony/intl": "^2.8.18|^3.2.5|~4.0", "symfony/yaml": "~3.3|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", "psr/log": "~1.0" }, "conflict": { pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy