From c11a4318b937d896695b7c8a6fa1e15b7e110f79 Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Tue, 25 Jul 2017 20:03:44 +0200 Subject: [PATCH 1/8] Move the TranslationLoader to the Translation component. --- .../Translation/TranslationLoader.php | 51 +-------------- .../Translation/Loader/TranslationLoader.php | 65 +++++++++++++++++++ .../Component/Translation/composer.json | 1 + 3 files changed, 68 insertions(+), 49 deletions(-) create mode 100644 src/Symfony/Component/Translation/Loader/TranslationLoader.php diff --git a/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php b/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php index b6377863afe48..808267ad88a84 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php +++ b/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php @@ -11,56 +11,9 @@ namespace Symfony\Bundle\FrameworkBundle\Translation; -use Symfony\Component\Finder\Finder; -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Loader\LoaderInterface; - /** - * 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/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": { From 10d00e5ba7a2b8b7ce20aa27d0e208f9bac983e6 Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Tue, 25 Jul 2017 20:14:09 +0200 Subject: [PATCH 2/8] Added upgrade docs --- UPGRADE-3.4.md | 3 +++ 1 file changed, 3 insertions(+) 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 From 08e8e8423fad628aeb45c926ab8e6f3a50495394 Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Wed, 26 Jul 2017 09:45:55 +0200 Subject: [PATCH 3/8] Updated UPGRADE-4.0 --- UPGRADE-4.0.md | 3 +++ 1 file changed, 3 insertions(+) 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. From fd658ee8a2781db8ca8becdaa33dffd942201478 Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Wed, 26 Jul 2017 12:53:17 +0200 Subject: [PATCH 4/8] Use new new file location --- .../Bundle/FrameworkBundle/Command/TranslationDebugCommand.php | 2 +- .../Bundle/FrameworkBundle/Resources/config/translation.xml | 2 +- .../Tests/Command/TranslationDebugCommandTest.php | 2 +- .../Tests/Command/TranslationUpdateCommandTest.php | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) 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') From 6b9775d80dae6435a6da22d878065ee819cc0044 Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Wed, 26 Jul 2017 12:53:27 +0200 Subject: [PATCH 5/8] Write deprecation notice --- .../Bundle/FrameworkBundle/Translation/TranslationLoader.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php b/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php index 808267ad88a84..4847611dadb62 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php +++ b/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php @@ -16,4 +16,8 @@ */ class TranslationLoader extends \Symfony\Component\Translation\Loader\TranslationLoader { + public function __construct() + { + @trigger_error(sprintf('The class "%s" has been deprecated. Use "%s" instead. ', TranslationLoader::class, \Symfony\Component\Translation\Loader\TranslationLoader::class), E_USER_DEPRECATED); + } } From 0d52fa2acb78d687d90bc32e785d7d964c74225e Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Wed, 26 Jul 2017 14:19:02 +0200 Subject: [PATCH 6/8] CS --- .../Bundle/FrameworkBundle/Translation/TranslationLoader.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php b/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php index 4847611dadb62..20e8e909b199b 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php +++ b/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php @@ -18,6 +18,6 @@ class TranslationLoader extends \Symfony\Component\Translation\Loader\Translatio { public function __construct() { - @trigger_error(sprintf('The class "%s" has been deprecated. Use "%s" instead. ', TranslationLoader::class, \Symfony\Component\Translation\Loader\TranslationLoader::class), E_USER_DEPRECATED); + @trigger_error(sprintf('The class "%s" has been deprecated. Use "%s" instead. ', self::class, \Symfony\Component\Translation\Loader\TranslationLoader::class), E_USER_DEPRECATED); } } From d8538432976c623e3e1d8bdcd14aeba885938ad5 Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Wed, 26 Jul 2017 14:26:18 +0200 Subject: [PATCH 7/8] moved deprecation warning --- .../FrameworkBundle/Translation/TranslationLoader.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php b/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php index 20e8e909b199b..8a38e10483e16 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php +++ b/src/Symfony/Bundle/FrameworkBundle/Translation/TranslationLoader.php @@ -11,13 +11,11 @@ namespace Symfony\Bundle\FrameworkBundle\Translation; +@trigger_error(sprintf('The class "%s" has been deprecated. Use "%s" instead. ', self::class, \Symfony\Component\Translation\Loader\TranslationLoader::class), E_USER_DEPRECATED); + /** * @deprecated Class moved to Symfony\Component\Translation\Loader\TranslationLoader */ class TranslationLoader extends \Symfony\Component\Translation\Loader\TranslationLoader { - public function __construct() - { - @trigger_error(sprintf('The class "%s" has been deprecated. Use "%s" instead. ', self::class, \Symfony\Component\Translation\Loader\TranslationLoader::class), E_USER_DEPRECATED); - } } From 82109853d4917039359a24d64049de259899dc9c Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Fri, 28 Jul 2017 19:13:31 +0200 Subject: [PATCH 8/8] Updated changelogs --- src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md | 2 ++ src/Symfony/Component/Translation/CHANGELOG.md | 1 + 2 files changed, 3 insertions(+) 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/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 ----- 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