From fa3a4e440f6daf241772331eaac322f3e0447750 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Mon, 11 May 2015 14:59:59 +0200 Subject: Let composer manage the vendor and lock files --- .../Symfony/Component/Translation/.gitignore | 3 - .../Symfony/Component/Translation/CHANGELOG.md | 42 - .../Translation/Catalogue/AbstractOperation.php | 146 -- .../Translation/Catalogue/DiffOperation.php | 55 - .../Translation/Catalogue/MergeOperation.php | 51 - .../Translation/Catalogue/OperationInterface.php | 63 - .../Component/Translation/Dumper/CsvFileDumper.php | 63 - .../Translation/Dumper/DumperInterface.php | 31 - .../Component/Translation/Dumper/FileDumper.php | 122 -- .../Translation/Dumper/IcuResFileDumper.php | 112 - .../Component/Translation/Dumper/IniFileDumper.php | 45 - .../Translation/Dumper/JsonFileDumper.php | 42 - .../Component/Translation/Dumper/MoFileDumper.php | 82 - .../Component/Translation/Dumper/PhpFileDumper.php | 40 - .../Component/Translation/Dumper/PoFileDumper.php | 61 - .../Component/Translation/Dumper/QtFileDumper.php | 50 - .../Translation/Dumper/XliffFileDumper.php | 109 - .../Translation/Dumper/YamlFileDumper.php | 39 - .../Translation/Exception/ExceptionInterface.php | 23 - .../Exception/InvalidResourceException.php | 23 - .../Exception/NotFoundResourceException.php | 23 - .../Translation/Extractor/ChainExtractor.php | 60 - .../Translation/Extractor/ExtractorInterface.php | 38 - .../Component/Translation/IdentityTranslator.php | 77 - .../Symfony/Component/Translation/Interval.php | 107 - .../Symfony/Component/Translation/LICENSE | 19 - .../Component/Translation/Loader/ArrayLoader.php | 70 - .../Component/Translation/Loader/CsvFileLoader.php | 92 - .../Translation/Loader/IcuDatFileLoader.php | 59 - .../Translation/Loader/IcuResFileLoader.php | 89 - .../Component/Translation/Loader/IniFileLoader.php | 45 - .../Translation/Loader/JsonFileLoader.php | 78 - .../Translation/Loader/LoaderInterface.php | 42 - .../Component/Translation/Loader/MoFileLoader.php | 188 -- .../Component/Translation/Loader/PhpFileLoader.php | 49 - .../Component/Translation/Loader/PoFileLoader.php | 177 -- .../Component/Translation/Loader/QtFileLoader.php | 78 - .../Translation/Loader/XliffFileLoader.php | 185 -- .../Translation/Loader/YamlFileLoader.php | 71 - .../dic/xliff-core/xliff-core-1.2-strict.xsd | 2223 -------------------- .../Loader/schema/dic/xliff-core/xml.xsd | 309 --- .../Component/Translation/LoggingTranslator.php | 132 -- .../Component/Translation/MessageCatalogue.php | 293 --- .../Translation/MessageCatalogueInterface.php | 172 -- .../Component/Translation/MessageSelector.php | 90 - .../Translation/MetadataAwareInterface.php | 54 - .../Component/Translation/PluralizationRules.php | 214 -- .../Symfony/Component/Translation/README.md | 37 - .../Tests/Catalogue/AbstractOperationTest.php | 73 - .../Tests/Catalogue/DiffOperationTest.php | 82 - .../Tests/Catalogue/MergeOperationTest.php | 83 - .../Translation/Tests/Dumper/CsvFileDumperTest.php | 33 - .../Translation/Tests/Dumper/FileDumperTest.php | 70 - .../Tests/Dumper/IcuResFileDumperTest.php | 38 - .../Translation/Tests/Dumper/IniFileDumperTest.php | 32 - .../Tests/Dumper/JsonFileDumperTest.php | 36 - .../Translation/Tests/Dumper/MoFileDumperTest.php | 31 - .../Translation/Tests/Dumper/PhpFileDumperTest.php | 32 - .../Translation/Tests/Dumper/PoFileDumperTest.php | 31 - .../Translation/Tests/Dumper/QtFileDumperTest.php | 32 - .../Tests/Dumper/XliffFileDumperTest.php | 41 - .../Tests/Dumper/YamlFileDumperTest.php | 32 - .../Translation/Tests/IdentityTranslatorTest.php | 95 - .../Component/Translation/Tests/IntervalTest.php | 48 - .../Translation/Tests/Loader/CsvFileLoaderTest.php | 60 - .../Tests/Loader/IcuDatFileLoaderTest.php | 68 - .../Tests/Loader/IcuResFileLoaderTest.php | 55 - .../Translation/Tests/Loader/IniFileLoaderTest.php | 50 - .../Tests/Loader/JsonFileLoaderTest.php | 68 - .../Translation/Tests/Loader/LocalizedTestCase.php | 22 - .../Translation/Tests/Loader/MoFileLoaderTest.php | 71 - .../Translation/Tests/Loader/PhpFileLoaderTest.php | 49 - .../Translation/Tests/Loader/PoFileLoaderTest.php | 96 - .../Translation/Tests/Loader/QtFileLoaderTest.php | 67 - .../Tests/Loader/XliffFileLoaderTest.php | 142 -- .../Tests/Loader/YamlFileLoaderTest.php | 70 - .../Translation/Tests/LoggingTranslatorTest.php | 56 - .../Translation/Tests/MessageCatalogueTest.php | 200 -- .../Translation/Tests/MessageSelectorTest.php | 98 - .../Translation/Tests/PluralizationRulesTest.php | 123 -- .../Translation/Tests/TranslatorCacheTest.php | 231 -- .../Component/Translation/Tests/TranslatorTest.php | 604 ------ .../Tests/fixtures/empty-translation.mo | Bin 49 -> 0 bytes .../Tests/fixtures/empty-translation.po | 3 - .../Component/Translation/Tests/fixtures/empty.csv | 0 .../Component/Translation/Tests/fixtures/empty.ini | 0 .../Translation/Tests/fixtures/empty.json | 0 .../Component/Translation/Tests/fixtures/empty.mo | 0 .../Component/Translation/Tests/fixtures/empty.po | 0 .../Component/Translation/Tests/fixtures/empty.xlf | 0 .../Component/Translation/Tests/fixtures/empty.yml | 0 .../Translation/Tests/fixtures/encoding.xlf | 16 - .../Tests/fixtures/escaped-id-plurals.po | 10 - .../Translation/Tests/fixtures/escaped-id.po | 8 - .../Tests/fixtures/invalid-xml-resources.xlf | 23 - .../Translation/Tests/fixtures/malformed.json | 3 - .../Translation/Tests/fixtures/non-valid.xlf | 11 - .../Translation/Tests/fixtures/non-valid.yml | 1 - .../Translation/Tests/fixtures/plurals.mo | Bin 74 -> 0 bytes .../Translation/Tests/fixtures/plurals.po | 5 - .../Translation/Tests/fixtures/resname.xlf | 19 - .../resourcebundle/corrupted/resources.dat | 1 - .../Tests/fixtures/resourcebundle/dat/en.res | Bin 120 -> 0 bytes .../Tests/fixtures/resourcebundle/dat/en.txt | 3 - .../Tests/fixtures/resourcebundle/dat/fr.res | Bin 124 -> 0 bytes .../Tests/fixtures/resourcebundle/dat/fr.txt | 3 - .../fixtures/resourcebundle/dat/packagelist.txt | 2 - .../fixtures/resourcebundle/dat/resources.dat | Bin 352 -> 0 bytes .../Tests/fixtures/resourcebundle/res/en.res | Bin 84 -> 0 bytes .../Translation/Tests/fixtures/resources-clean.xlf | 22 - .../Translation/Tests/fixtures/resources.csv | 4 - .../Translation/Tests/fixtures/resources.ini | 1 - .../Translation/Tests/fixtures/resources.json | 3 - .../Translation/Tests/fixtures/resources.mo | Bin 52 -> 0 bytes .../Translation/Tests/fixtures/resources.php | 5 - .../Translation/Tests/fixtures/resources.po | 8 - .../Translation/Tests/fixtures/resources.ts | 10 - .../Translation/Tests/fixtures/resources.xlf | 23 - .../Translation/Tests/fixtures/resources.yml | 1 - .../Component/Translation/Tests/fixtures/valid.csv | 4 - .../Translation/Tests/fixtures/withdoctype.xlf | 12 - .../Translation/Tests/fixtures/withnote.xlf | 22 - .../Symfony/Component/Translation/Translator.php | 466 ---- .../Translation/TranslatorBagInterface.php | 29 - .../Component/Translation/TranslatorInterface.php | 75 - .../Translation/Writer/TranslationWriter.php | 87 - .../Symfony/Component/Translation/composer.json | 43 - .../Symfony/Component/Translation/phpunit.xml.dist | 28 - 128 files changed, 10143 deletions(-) delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/.gitignore delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/CHANGELOG.md delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Catalogue/AbstractOperation.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Catalogue/DiffOperation.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Catalogue/MergeOperation.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Catalogue/OperationInterface.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/CsvFileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/DumperInterface.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/FileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/IcuResFileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/IniFileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/JsonFileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/MoFileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/PhpFileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/PoFileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/QtFileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/XliffFileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Dumper/YamlFileDumper.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Exception/ExceptionInterface.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Exception/InvalidResourceException.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Exception/NotFoundResourceException.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Extractor/ChainExtractor.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Extractor/ExtractorInterface.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/IdentityTranslator.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Interval.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/LICENSE delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/ArrayLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/CsvFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuDatFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuResFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/IniFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/JsonFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/LoaderInterface.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/MoFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/PhpFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/PoFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/QtFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/XliffFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xml.xsd delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/LoggingTranslator.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/MessageCatalogue.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/MessageCatalogueInterface.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/MetadataAwareInterface.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/PluralizationRules.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/README.md delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/AbstractOperationTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/DiffOperationTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/MergeOperationTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/CsvFileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/FileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/IcuResFileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/IniFileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/JsonFileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/MoFileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/PhpFileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/PoFileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/QtFileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/XliffFileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/YamlFileDumperTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/IdentityTranslatorTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/IntervalTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/CsvFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IcuDatFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IcuResFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IniFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/JsonFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/LocalizedTestCase.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/MoFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/PhpFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/PoFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/QtFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/YamlFileLoaderTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/LoggingTranslatorTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/MessageCatalogueTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/MessageSelectorTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/PluralizationRulesTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/TranslatorCacheTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/TranslatorTest.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.mo delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.po delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.csv delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.ini delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.json delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.mo delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.po delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.xlf delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.yml delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/encoding.xlf delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/escaped-id-plurals.po delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/escaped-id.po delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/invalid-xml-resources.xlf delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/malformed.json delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/non-valid.xlf delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/non-valid.yml delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.mo delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.po delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resname.xlf delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/corrupted/resources.dat delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.res delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.txt delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.res delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.txt delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/packagelist.txt delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/resources.dat delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/res/en.res delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources-clean.xlf delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.csv delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.ini delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.json delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.mo delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.po delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.ts delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.xlf delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.yml delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/valid.csv delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/withdoctype.xlf delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/withnote.xlf delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Translator.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/TranslatorBagInterface.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/TranslatorInterface.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/Writer/TranslationWriter.php delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/composer.json delete mode 100644 vendor/symfony/translation/Symfony/Component/Translation/phpunit.xml.dist (limited to 'vendor/symfony/translation/Symfony') diff --git a/vendor/symfony/translation/Symfony/Component/Translation/.gitignore b/vendor/symfony/translation/Symfony/Component/Translation/.gitignore deleted file mode 100644 index c49a5d8..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/vendor/symfony/translation/Symfony/Component/Translation/CHANGELOG.md b/vendor/symfony/translation/Symfony/Component/Translation/CHANGELOG.md deleted file mode 100644 index a13e573..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/CHANGELOG.md +++ /dev/null @@ -1,42 +0,0 @@ -CHANGELOG -========= - -2.6.0 ------ - - * added possibility to cache catalogues - * added TranslatorBagInterface - * added LoggingTranslator - * added Translator::getMessages() for retrieving the message catalogue as an array - -2.5.0 ------ - - * added relative file path template to the file dumpers - * added optional backup to the file dumpers - * changed IcuResFileDumper to extend FileDumper - -2.3.0 ------ - - * added classes to make operations on catalogues (like making a diff or a merge on 2 catalogues) - * added Translator::getFallbackLocales() - * deprecated Translator::setFallbackLocale() in favor of the new Translator::setFallbackLocales() method - -2.2.0 ------ - - * QtTranslationsLoader class renamed to QtFileLoader. QtTranslationsLoader is deprecated and will be removed in 2.3. - * [BC BREAK] uniformized the exception thrown by the load() method when an error occurs. The load() method now - throws Symfony\Component\Translation\Exception\NotFoundResourceException when a resource cannot be found - and Symfony\Component\Translation\Exception\InvalidResourceException when a resource is invalid. - * changed the exception class thrown by some load() methods from \RuntimeException to \InvalidArgumentException - (IcuDatFileLoader, IcuResFileLoader and QtFileLoader) - -2.1.0 ------ - - * added support for more than one fallback locale - * added support for extracting translation messages from templates (Twig and PHP) - * added dumpers for translation catalogs - * added support for QT, gettext, and ResourceBundles diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/AbstractOperation.php b/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/AbstractOperation.php deleted file mode 100644 index 062056b..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/AbstractOperation.php +++ /dev/null @@ -1,146 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Catalogue; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\MessageCatalogueInterface; - -/** - * Base catalogues binary operation class. - * - * @author Jean-François Simon - */ -abstract class AbstractOperation implements OperationInterface -{ - /** - * @var MessageCatalogueInterface - */ - protected $source; - - /** - * @var MessageCatalogueInterface - */ - protected $target; - - /** - * @var MessageCatalogue - */ - protected $result; - - /** - * @var null|array - */ - private $domains; - - /** - * @var array - */ - protected $messages; - - /** - * @param MessageCatalogueInterface $source - * @param MessageCatalogueInterface $target - * - * @throws \LogicException - */ - public function __construct(MessageCatalogueInterface $source, MessageCatalogueInterface $target) - { - if ($source->getLocale() !== $target->getLocale()) { - throw new \LogicException('Operated catalogues must belong to the same locale.'); - } - - $this->source = $source; - $this->target = $target; - $this->result = new MessageCatalogue($source->getLocale()); - $this->domains = null; - $this->messages = array(); - } - - /** - * {@inheritdoc} - */ - public function getDomains() - { - if (null === $this->domains) { - $this->domains = array_values(array_unique(array_merge($this->source->getDomains(), $this->target->getDomains()))); - } - - return $this->domains; - } - - /** - * {@inheritdoc} - */ - public function getMessages($domain) - { - if (!in_array($domain, $this->getDomains())) { - throw new \InvalidArgumentException(sprintf('Invalid domain: %s.', $domain)); - } - - if (!isset($this->messages[$domain]['all'])) { - $this->processDomain($domain); - } - - return $this->messages[$domain]['all']; - } - - /** - * {@inheritdoc} - */ - public function getNewMessages($domain) - { - if (!in_array($domain, $this->getDomains())) { - throw new \InvalidArgumentException(sprintf('Invalid domain: %s.', $domain)); - } - - if (!isset($this->messages[$domain]['new'])) { - $this->processDomain($domain); - } - - return $this->messages[$domain]['new']; - } - - /** - * {@inheritdoc} - */ - public function getObsoleteMessages($domain) - { - if (!in_array($domain, $this->getDomains())) { - throw new \InvalidArgumentException(sprintf('Invalid domain: %s.', $domain)); - } - - if (!isset($this->messages[$domain]['obsolete'])) { - $this->processDomain($domain); - } - - return $this->messages[$domain]['obsolete']; - } - - /** - * {@inheritdoc} - */ - public function getResult() - { - foreach ($this->getDomains() as $domain) { - if (!isset($this->messages[$domain])) { - $this->processDomain($domain); - } - } - - return $this->result; - } - - /** - * @param string $domain - */ - abstract protected function processDomain($domain); -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/DiffOperation.php b/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/DiffOperation.php deleted file mode 100644 index 2d1994e..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/DiffOperation.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Catalogue; - -/** - * Diff operation between two catalogues. - * - * @author Jean-François Simon - */ -class DiffOperation extends AbstractOperation -{ - /** - * {@inheritdoc} - */ - protected function processDomain($domain) - { - $this->messages[$domain] = array( - 'all' => array(), - 'new' => array(), - 'obsolete' => array(), - ); - - foreach ($this->source->all($domain) as $id => $message) { - if ($this->target->has($id, $domain)) { - $this->messages[$domain]['all'][$id] = $message; - $this->result->add(array($id => $message), $domain); - if (null !== $keyMetadata = $this->source->getMetadata($id, $domain)) { - $this->result->setMetadata($id, $keyMetadata, $domain); - } - } else { - $this->messages[$domain]['obsolete'][$id] = $message; - } - } - - foreach ($this->target->all($domain) as $id => $message) { - if (!$this->source->has($id, $domain)) { - $this->messages[$domain]['all'][$id] = $message; - $this->messages[$domain]['new'][$id] = $message; - $this->result->add(array($id => $message), $domain); - if (null !== $keyMetadata = $this->target->getMetadata($id, $domain)) { - $this->result->setMetadata($id, $keyMetadata, $domain); - } - } - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/MergeOperation.php b/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/MergeOperation.php deleted file mode 100644 index 562ca0e..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/MergeOperation.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Catalogue; - -/** - * Merge operation between two catalogues. - * - * @author Jean-François Simon - */ -class MergeOperation extends AbstractOperation -{ - /** - * {@inheritdoc} - */ - protected function processDomain($domain) - { - $this->messages[$domain] = array( - 'all' => array(), - 'new' => array(), - 'obsolete' => array(), - ); - - foreach ($this->source->all($domain) as $id => $message) { - $this->messages[$domain]['all'][$id] = $message; - $this->result->add(array($id => $message), $domain); - if (null !== $keyMetadata = $this->source->getMetadata($id, $domain)) { - $this->result->setMetadata($id, $keyMetadata, $domain); - } - } - - foreach ($this->target->all($domain) as $id => $message) { - if (!$this->source->has($id, $domain)) { - $this->messages[$domain]['all'][$id] = $message; - $this->messages[$domain]['new'][$id] = $message; - $this->result->add(array($id => $message), $domain); - if (null !== $keyMetadata = $this->target->getMetadata($id, $domain)) { - $this->result->setMetadata($id, $keyMetadata, $domain); - } - } - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/OperationInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/OperationInterface.php deleted file mode 100644 index d72378a..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Catalogue/OperationInterface.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Catalogue; - -use Symfony\Component\Translation\MessageCatalogueInterface; - -/** - * Represents an operation on catalogue(s). - * - * @author Jean-François Simon - */ -interface OperationInterface -{ - /** - * Returns domains affected by operation. - * - * @return array - */ - public function getDomains(); - - /** - * Returns all valid messages after operation. - * - * @param string $domain - * - * @return array - */ - public function getMessages($domain); - - /** - * Returns new messages after operation. - * - * @param string $domain - * - * @return array - */ - public function getNewMessages($domain); - - /** - * Returns obsolete messages after operation. - * - * @param string $domain - * - * @return array - */ - public function getObsoleteMessages($domain); - - /** - * Returns resulting catalogue. - * - * @return MessageCatalogueInterface - */ - public function getResult(); -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/CsvFileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/CsvFileDumper.php deleted file mode 100644 index 08005b0..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/CsvFileDumper.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * CsvFileDumper generates a csv formatted string representation of a message catalogue. - * - * @author Stealth35 - */ -class CsvFileDumper extends FileDumper -{ - private $delimiter = ';'; - private $enclosure = '"'; - - /** - * {@inheritdoc} - */ - public function format(MessageCatalogue $messages, $domain = 'messages') - { - $handle = fopen('php://memory', 'rb+'); - - foreach ($messages->all($domain) as $source => $target) { - fputcsv($handle, array($source, $target), $this->delimiter, $this->enclosure); - } - - rewind($handle); - $output = stream_get_contents($handle); - fclose($handle); - - return $output; - } - - /** - * Sets the delimiter and escape character for CSV. - * - * @param string $delimiter delimiter character - * @param string $enclosure enclosure character - */ - public function setCsvControl($delimiter = ';', $enclosure = '"') - { - $this->delimiter = $delimiter; - $this->enclosure = $enclosure; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'csv'; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/DumperInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/DumperInterface.php deleted file mode 100644 index cebc65e..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/DumperInterface.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * DumperInterface is the interface implemented by all translation dumpers. - * There is no common option. - * - * @author Michel Salib - */ -interface DumperInterface -{ - /** - * Dumps the message catalogue. - * - * @param MessageCatalogue $messages The message catalogue - * @param array $options Options that are used by the dumper - */ - public function dump(MessageCatalogue $messages, $options = array()); -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/FileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/FileDumper.php deleted file mode 100644 index f2f17d6..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/FileDumper.php +++ /dev/null @@ -1,122 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * FileDumper is an implementation of DumperInterface that dump a message catalogue to file(s). - * Performs backup of already existing files. - * - * Options: - * - path (mandatory): the directory where the files should be saved - * - * @author Michel Salib - */ -abstract class FileDumper implements DumperInterface -{ - /** - * A template for the relative paths to files. - * - * @var string - */ - protected $relativePathTemplate = '%domain%.%locale%.%extension%'; - - /** - * Make file backup before the dump. - * - * @var bool - */ - private $backup = true; - - /** - * Sets the template for the relative paths to files. - * - * @param string $relativePathTemplate A template for the relative paths to files - */ - public function setRelativePathTemplate($relativePathTemplate) - { - $this->relativePathTemplate = $relativePathTemplate; - } - - /** - * Sets backup flag. - * - * @param bool - */ - public function setBackup($backup) - { - $this->backup = $backup; - } - - /** - * {@inheritdoc} - */ - public function dump(MessageCatalogue $messages, $options = array()) - { - if (!array_key_exists('path', $options)) { - throw new \InvalidArgumentException('The file dumper needs a path option.'); - } - - // save a file for each domain - foreach ($messages->getDomains() as $domain) { - // backup - $fullpath = $options['path'].'/'.$this->getRelativePath($domain, $messages->getLocale()); - if (file_exists($fullpath)) { - if ($this->backup) { - copy($fullpath, $fullpath.'~'); - } - } else { - $directory = dirname($fullpath); - if (!file_exists($directory) && !@mkdir($directory, 0777, true)) { - throw new \RuntimeException(sprintf('Unable to create directory "%s".', $directory)); - } - } - // save file - file_put_contents($fullpath, $this->format($messages, $domain)); - } - } - - /** - * Transforms a domain of a message catalogue to its string representation. - * - * @param MessageCatalogue $messages - * @param string $domain - * - * @return string representation - */ - abstract protected function format(MessageCatalogue $messages, $domain); - - /** - * Gets the file extension of the dumper. - * - * @return string file extension - */ - abstract protected function getExtension(); - - /** - * Gets the relative file path using the template. - * - * @param string $domain The domain - * @param string $locale The locale - * - * @return string The relative file path - */ - private function getRelativePath($domain, $locale) - { - return strtr($this->relativePathTemplate, array( - '%domain%' => $domain, - '%locale%' => $locale, - '%extension%' => $this->getExtension(), - )); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/IcuResFileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/IcuResFileDumper.php deleted file mode 100644 index 0a2ed9f..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/IcuResFileDumper.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * IcuResDumper generates an ICU ResourceBundle formatted string representation of a message catalogue. - * - * @author Stealth35 - */ -class IcuResFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - protected $relativePathTemplate = '%domain%/%locale%.%extension%'; - - /** - * {@inheritdoc} - */ - public function format(MessageCatalogue $messages, $domain = 'messages') - { - $data = $indexes = $resources = ''; - - foreach ($messages->all($domain) as $source => $target) { - $indexes .= pack('v', strlen($data) + 28); - $data .= $source."\0"; - } - - $data .= $this->writePadding($data); - - $keyTop = $this->getPosition($data); - - foreach ($messages->all($domain) as $source => $target) { - $resources .= pack('V', $this->getPosition($data)); - - $data .= pack('V', strlen($target)) - .mb_convert_encoding($target."\0", 'UTF-16LE', 'UTF-8') - .$this->writePadding($data) - ; - } - - $resOffset = $this->getPosition($data); - - $data .= pack('v', count($messages)) - .$indexes - .$this->writePadding($data) - .$resources - ; - - $bundleTop = $this->getPosition($data); - - $root = pack('V7', - $resOffset + (2 << 28), // Resource Offset + Resource Type - 6, // Index length - $keyTop, // Index keys top - $bundleTop, // Index resources top - $bundleTop, // Index bundle top - count($messages), // Index max table length - 0 // Index attributes - ); - - $header = pack('vC2v4C12@32', - 32, // Header size - 0xDA, 0x27, // Magic number 1 and 2 - 20, 0, 0, 2, // Rest of the header, ..., Size of a char - 0x52, 0x65, 0x73, 0x42, // Data format identifier - 1, 2, 0, 0, // Data version - 1, 4, 0, 0 // Unicode version - ); - - $output = $header - .$root - .$data; - - return $output; - } - - private function writePadding($data) - { - $padding = strlen($data) % 4; - - if ($padding) { - return str_repeat("\xAA", 4 - $padding); - } - } - - private function getPosition($data) - { - $position = (strlen($data) + 28) / 4; - - return $position; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'res'; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/IniFileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/IniFileDumper.php deleted file mode 100644 index 45df389..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/IniFileDumper.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * IniFileDumper generates an ini formatted string representation of a message catalogue. - * - * @author Stealth35 - */ -class IniFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function format(MessageCatalogue $messages, $domain = 'messages') - { - $output = ''; - - foreach ($messages->all($domain) as $source => $target) { - $escapeTarget = str_replace('"', '\"', $target); - $output .= $source.'="'.$escapeTarget."\"\n"; - } - - return $output; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'ini'; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/JsonFileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/JsonFileDumper.php deleted file mode 100644 index fea7827..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/JsonFileDumper.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -if (!defined('JSON_PRETTY_PRINT')) { - define('JSON_PRETTY_PRINT', 128); -} - -/** - * JsonFileDumper generates an json formatted string representation of a message catalogue. - * - * @author singles - */ -class JsonFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function format(MessageCatalogue $messages, $domain = 'messages') - { - return json_encode($messages->all($domain), JSON_PRETTY_PRINT); - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'json'; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/MoFileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/MoFileDumper.php deleted file mode 100644 index f8dc6ac..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/MoFileDumper.php +++ /dev/null @@ -1,82 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Loader\MoFileLoader; - -/** - * MoFileDumper generates a gettext formatted string representation of a message catalogue. - * - * @author Stealth35 - */ -class MoFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function format(MessageCatalogue $messages, $domain = 'messages') - { - $output = $sources = $targets = $sourceOffsets = $targetOffsets = ''; - $offsets = array(); - $size = 0; - - foreach ($messages->all($domain) as $source => $target) { - $offsets[] = array_map('strlen', array($sources, $source, $targets, $target)); - $sources .= "\0".$source; - $targets .= "\0".$target; - ++$size; - } - - $header = array( - 'magicNumber' => MoFileLoader::MO_LITTLE_ENDIAN_MAGIC, - 'formatRevision' => 0, - 'count' => $size, - 'offsetId' => MoFileLoader::MO_HEADER_SIZE, - 'offsetTranslated' => MoFileLoader::MO_HEADER_SIZE + (8 * $size), - 'sizeHashes' => 0, - 'offsetHashes' => MoFileLoader::MO_HEADER_SIZE + (16 * $size), - ); - - $sourcesSize = strlen($sources); - $sourcesStart = $header['offsetHashes'] + 1; - - foreach ($offsets as $offset) { - $sourceOffsets .= $this->writeLong($offset[1]) - .$this->writeLong($offset[0] + $sourcesStart); - $targetOffsets .= $this->writeLong($offset[3]) - .$this->writeLong($offset[2] + $sourcesStart + $sourcesSize); - } - - $output = implode(array_map(array($this, 'writeLong'), $header)) - .$sourceOffsets - .$targetOffsets - .$sources - .$targets - ; - - return $output; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'mo'; - } - - private function writeLong($str) - { - return pack('V*', $str); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/PhpFileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/PhpFileDumper.php deleted file mode 100644 index b354c12..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/PhpFileDumper.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * PhpFileDumper generates PHP files from a message catalogue. - * - * @author Michel Salib - */ -class PhpFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - protected function format(MessageCatalogue $messages, $domain) - { - $output = "all($domain), true).";\n"; - - return $output; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'php'; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/PoFileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/PoFileDumper.php deleted file mode 100644 index 983064b..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/PoFileDumper.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * PoFileDumper generates a gettext formatted string representation of a message catalogue. - * - * @author Stealth35 - */ -class PoFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function format(MessageCatalogue $messages, $domain = 'messages') - { - $output = 'msgid ""'."\n"; - $output .= 'msgstr ""'."\n"; - $output .= '"Content-Type: text/plain; charset=UTF-8\n"'."\n"; - $output .= '"Content-Transfer-Encoding: 8bit\n"'."\n"; - $output .= '"Language: '.$messages->getLocale().'\n"'."\n"; - $output .= "\n"; - - $newLine = false; - foreach ($messages->all($domain) as $source => $target) { - if ($newLine) { - $output .= "\n"; - } else { - $newLine = true; - } - $output .= sprintf('msgid "%s"'."\n", $this->escape($source)); - $output .= sprintf('msgstr "%s"', $this->escape($target)); - } - - return $output; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'po'; - } - - private function escape($str) - { - return addcslashes($str, "\0..\37\42\134"); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/QtFileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/QtFileDumper.php deleted file mode 100644 index 42aa093..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/QtFileDumper.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * QtFileDumper generates ts files from a message catalogue. - * - * @author Benjamin Eberlei - */ -class QtFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function format(MessageCatalogue $messages, $domain) - { - $dom = new \DOMDocument('1.0', 'utf-8'); - $dom->formatOutput = true; - $ts = $dom->appendChild($dom->createElement('TS')); - $context = $ts->appendChild($dom->createElement('context')); - $context->appendChild($dom->createElement('name', $domain)); - - foreach ($messages->all($domain) as $source => $target) { - $message = $context->appendChild($dom->createElement('message')); - $message->appendChild($dom->createElement('source', $source)); - $message->appendChild($dom->createElement('translation', $target)); - } - - return $dom->saveXML(); - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'ts'; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/XliffFileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/XliffFileDumper.php deleted file mode 100644 index 58d1973..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/XliffFileDumper.php +++ /dev/null @@ -1,109 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * XliffFileDumper generates xliff files from a message catalogue. - * - * @author Michel Salib - */ -class XliffFileDumper extends FileDumper -{ - /** - * @var string - */ - private $defaultLocale; - - /** - * {@inheritdoc} - */ - public function dump(MessageCatalogue $messages, $options = array()) - { - if (array_key_exists('default_locale', $options)) { - $this->defaultLocale = $options['default_locale']; - } else { - $this->defaultLocale = \Locale::getDefault(); - } - - parent::dump($messages, $options); - } - - /** - * {@inheritdoc} - */ - protected function format(MessageCatalogue $messages, $domain) - { - $dom = new \DOMDocument('1.0', 'utf-8'); - $dom->formatOutput = true; - - $xliff = $dom->appendChild($dom->createElement('xliff')); - $xliff->setAttribute('version', '1.2'); - $xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:1.2'); - - $xliffFile = $xliff->appendChild($dom->createElement('file')); - $xliffFile->setAttribute('source-language', str_replace('_', '-', $this->defaultLocale)); - $xliffFile->setAttribute('target-language', str_replace('_', '-', $messages->getLocale())); - $xliffFile->setAttribute('datatype', 'plaintext'); - $xliffFile->setAttribute('original', 'file.ext'); - - $xliffBody = $xliffFile->appendChild($dom->createElement('body')); - foreach ($messages->all($domain) as $source => $target) { - $translation = $dom->createElement('trans-unit'); - - $translation->setAttribute('id', md5($source)); - $translation->setAttribute('resname', $source); - - $s = $translation->appendChild($dom->createElement('source')); - $s->appendChild($dom->createTextNode($source)); - - // Does the target contain characters requiring a CDATA section? - $text = 1 === preg_match('/[&<>]/', $target) ? $dom->createCDATASection($target) : $dom->createTextNode($target); - - $t = $translation->appendChild($dom->createElement('target')); - $t->appendChild($text); - - $metadata = $messages->getMetadata($source, $domain); - if (null !== $metadata && array_key_exists('notes', $metadata) && is_array($metadata['notes'])) { - foreach ($metadata['notes'] as $note) { - if (!isset($note['content'])) { - continue; - } - - $n = $translation->appendChild($dom->createElement('note')); - $n->appendChild($dom->createTextNode($note['content'])); - - if (isset($note['priority'])) { - $n->setAttribute('priority', $note['priority']); - } - - if (isset($note['from'])) { - $n->setAttribute('from', $note['from']); - } - } - } - - $xliffBody->appendChild($translation); - } - - return $dom->saveXML(); - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'xlf'; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/YamlFileDumper.php b/vendor/symfony/translation/Symfony/Component/Translation/Dumper/YamlFileDumper.php deleted file mode 100644 index 5920fef..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Dumper/YamlFileDumper.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Yaml\Yaml; - -/** - * YamlFileDumper generates yaml files from a message catalogue. - * - * @author Michel Salib - */ -class YamlFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - protected function format(MessageCatalogue $messages, $domain) - { - return Yaml::dump($messages->all($domain)); - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'yml'; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Exception/ExceptionInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/Exception/ExceptionInterface.php deleted file mode 100644 index 7757e66..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Exception/ExceptionInterface.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Exception; - -/** - * Exception interface for all exceptions thrown by the component. - * - * @author Fabien Potencier - * - * @api - */ -interface ExceptionInterface -{ -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Exception/InvalidResourceException.php b/vendor/symfony/translation/Symfony/Component/Translation/Exception/InvalidResourceException.php deleted file mode 100644 index 6413f1a..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Exception/InvalidResourceException.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Exception; - -/** - * Thrown when a resource cannot be loaded. - * - * @author Fabien Potencier - * - * @api - */ -class InvalidResourceException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Exception/NotFoundResourceException.php b/vendor/symfony/translation/Symfony/Component/Translation/Exception/NotFoundResourceException.php deleted file mode 100644 index 7826e5c..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Exception/NotFoundResourceException.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Exception; - -/** - * Thrown when a resource does not exist. - * - * @author Fabien Potencier - * - * @api - */ -class NotFoundResourceException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ChainExtractor.php b/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ChainExtractor.php deleted file mode 100644 index 50e3c84..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ChainExtractor.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Extractor; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * ChainExtractor extracts translation messages from template files. - * - * @author Michel Salib - */ -class ChainExtractor implements ExtractorInterface -{ - /** - * The extractors. - * - * @var ExtractorInterface[] - */ - private $extractors = array(); - - /** - * Adds a loader to the translation extractor. - * - * @param string $format The format of the loader - * @param ExtractorInterface $extractor The loader - */ - public function addExtractor($format, ExtractorInterface $extractor) - { - $this->extractors[$format] = $extractor; - } - - /** - * {@inheritdoc} - */ - public function setPrefix($prefix) - { - foreach ($this->extractors as $extractor) { - $extractor->setPrefix($prefix); - } - } - - /** - * {@inheritdoc} - */ - public function extract($directory, MessageCatalogue $catalogue) - { - foreach ($this->extractors as $extractor) { - $extractor->extract($directory, $catalogue); - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ExtractorInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ExtractorInterface.php deleted file mode 100644 index 6f877c3..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ExtractorInterface.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Extractor; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * Extracts translation messages from a template directory to the catalogue. - * New found messages are injected to the catalogue using the prefix. - * - * @author Michel Salib - */ -interface ExtractorInterface -{ - /** - * Extracts translation messages from a template directory to the catalogue. - * - * @param string $directory The path to look into - * @param MessageCatalogue $catalogue The catalogue - */ - public function extract($directory, MessageCatalogue $catalogue); - - /** - * Sets the prefix that should be used for new found messages. - * - * @param string $prefix The prefix - */ - public function setPrefix($prefix); -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/IdentityTranslator.php b/vendor/symfony/translation/Symfony/Component/Translation/IdentityTranslator.php deleted file mode 100644 index 9c9212e..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/IdentityTranslator.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -/** - * IdentityTranslator does not translate anything. - * - * @author Fabien Potencier - * - * @api - */ -class IdentityTranslator implements TranslatorInterface -{ - private $selector; - private $locale; - - /** - * Constructor. - * - * @param MessageSelector|null $selector The message selector for pluralization - * - * @api - */ - public function __construct(MessageSelector $selector = null) - { - $this->selector = $selector ?: new MessageSelector(); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function setLocale($locale) - { - $this->locale = $locale; - } - - /** - * {@inheritdoc} - * - * @api - */ - public function getLocale() - { - return $this->locale ?: \Locale::getDefault(); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function trans($id, array $parameters = array(), $domain = null, $locale = null) - { - return strtr((string) $id, $parameters); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) - { - return strtr($this->selector->choose((string) $id, (int) $number, $locale ?: $this->getLocale()), $parameters); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Interval.php b/vendor/symfony/translation/Symfony/Component/Translation/Interval.php deleted file mode 100644 index 2a51156..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Interval.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -/** - * Tests if a given number belongs to a given math interval. - * - * An interval can represent a finite set of numbers: - * - * {1,2,3,4} - * - * An interval can represent numbers between two numbers: - * - * [1, +Inf] - * ]-1,2[ - * - * The left delimiter can be [ (inclusive) or ] (exclusive). - * The right delimiter can be [ (exclusive) or ] (inclusive). - * Beside numbers, you can use -Inf and +Inf for the infinite. - * - * @author Fabien Potencier - * - * @see http://en.wikipedia.org/wiki/Interval_%28mathematics%29#The_ISO_notation - */ -class Interval -{ - /** - * Tests if the given number is in the math interval. - * - * @param int $number A number - * @param string $interval An interval - * - * @return bool - * - * @throws \InvalidArgumentException - */ - public static function test($number, $interval) - { - $interval = trim($interval); - - if (!preg_match('/^'.self::getIntervalRegexp().'$/x', $interval, $matches)) { - throw new \InvalidArgumentException(sprintf('"%s" is not a valid interval.', $interval)); - } - - if ($matches[1]) { - foreach (explode(',', $matches[2]) as $n) { - if ($number == $n) { - return true; - } - } - } else { - $leftNumber = self::convertNumber($matches['left']); - $rightNumber = self::convertNumber($matches['right']); - - return - ('[' === $matches['left_delimiter'] ? $number >= $leftNumber : $number > $leftNumber) - && (']' === $matches['right_delimiter'] ? $number <= $rightNumber : $number < $rightNumber) - ; - } - - return false; - } - - /** - * Returns a Regexp that matches valid intervals. - * - * @return string A Regexp (without the delimiters) - */ - public static function getIntervalRegexp() - { - return <<[\[\]]) - \s* - (?P-Inf|\-?\d+(\.\d+)?) - \s*,\s* - (?P\+?Inf|\-?\d+(\.\d+)?) - \s* - (?P[\[\]]) -EOF; - } - - private static function convertNumber($number) - { - if ('-Inf' === $number) { - return log(0); - } elseif ('+Inf' === $number || 'Inf' === $number) { - return -log(0); - } - - return (float) $number; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/LICENSE b/vendor/symfony/translation/Symfony/Component/Translation/LICENSE deleted file mode 100644 index 43028bc..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2015 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/ArrayLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/ArrayLoader.php deleted file mode 100644 index 68ba81d..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/ArrayLoader.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * 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\Translation\MessageCatalogue; - -/** - * ArrayLoader loads translations from a PHP array. - * - * @author Fabien Potencier - * - * @api - */ -class ArrayLoader implements LoaderInterface -{ - /** - * {@inheritdoc} - * - * @api - */ - public function load($resource, $locale, $domain = 'messages') - { - $this->flatten($resource); - $catalogue = new MessageCatalogue($locale); - $catalogue->add($resource, $domain); - - return $catalogue; - } - - /** - * Flattens an nested array of translations. - * - * The scheme used is: - * 'key' => array('key2' => array('key3' => 'value')) - * Becomes: - * 'key.key2.key3' => 'value' - * - * This function takes an array by reference and will modify it - * - * @param array &$messages The array that will be flattened - * @param array $subnode Current subnode being parsed, used internally for recursive calls - * @param string $path Current path being parsed, used internally for recursive calls - */ - private function flatten(array &$messages, array $subnode = null, $path = null) - { - if (null === $subnode) { - $subnode = &$messages; - } - foreach ($subnode as $key => $value) { - if (is_array($value)) { - $nodePath = $path ? $path.'.'.$key : $key; - $this->flatten($messages, $value, $nodePath); - if (null === $path) { - unset($messages[$key]); - } - } elseif (null !== $path) { - $messages[$path.'.'.$key] = $value; - } - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/CsvFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/CsvFileLoader.php deleted file mode 100644 index ddcf595..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/CsvFileLoader.php +++ /dev/null @@ -1,92 +0,0 @@ - - * - * 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\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\FileResource; - -/** - * CsvFileLoader loads translations from CSV files. - * - * @author Saša Stamenković - * - * @api - */ -class CsvFileLoader extends ArrayLoader -{ - private $delimiter = ';'; - private $enclosure = '"'; - private $escape = '\\'; - - /** - * {@inheritdoc} - * - * @api - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - $messages = array(); - - try { - $file = new \SplFileObject($resource, 'rb'); - } catch (\RuntimeException $e) { - throw new NotFoundResourceException(sprintf('Error opening file "%s".', $resource), 0, $e); - } - - $file->setFlags(\SplFileObject::READ_CSV | \SplFileObject::SKIP_EMPTY); - $file->setCsvControl($this->delimiter, $this->enclosure, $this->escape); - - foreach ($file as $data) { - if (substr($data[0], 0, 1) === '#') { - continue; - } - - if (!isset($data[1])) { - continue; - } - - if (count($data) == 2) { - $messages[$data[0]] = $data[1]; - } else { - continue; - } - } - - $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); - - return $catalogue; - } - - /** - * Sets the delimiter, enclosure, and escape character for CSV. - * - * @param string $delimiter delimiter character - * @param string $enclosure enclosure character - * @param string $escape escape character - */ - public function setCsvControl($delimiter = ';', $enclosure = '"', $escape = '\\') - { - $this->delimiter = $delimiter; - $this->enclosure = $enclosure; - $this->escape = $escape; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuDatFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuDatFileLoader.php deleted file mode 100644 index a36cd76..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuDatFileLoader.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * 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\Translation\MessageCatalogue; -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\FileResource; - -/** - * IcuResFileLoader loads translations from a resource bundle. - * - * @author stealth35 - */ -class IcuDatFileLoader extends IcuResFileLoader -{ - /** - * {@inheritdoc} - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource.'.dat')) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource.'.dat')) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - try { - $rb = new \ResourceBundle($locale, $resource); - } catch (\Exception $e) { - // HHVM compatibility: constructor throws on invalid resource - $rb = null; - } - - if (!$rb) { - throw new InvalidResourceException(sprintf('Cannot load resource "%s"', $resource)); - } elseif (intl_is_failure($rb->getErrorCode())) { - throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode()); - } - - $messages = $this->flatten($rb); - $catalogue = new MessageCatalogue($locale); - $catalogue->add($messages, $domain); - $catalogue->addResource(new FileResource($resource.'.dat')); - - return $catalogue; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuResFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuResFileLoader.php deleted file mode 100644 index d864c7b..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuResFileLoader.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * 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\Translation\MessageCatalogue; -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\DirectoryResource; - -/** - * IcuResFileLoader loads translations from a resource bundle. - * - * @author stealth35 - */ -class IcuResFileLoader implements LoaderInterface -{ - /** - * {@inheritdoc} - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!is_dir($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - try { - $rb = new \ResourceBundle($locale, $resource); - } catch (\Exception $e) { - // HHVM compatibility: constructor throws on invalid resource - $rb = null; - } - - if (!$rb) { - throw new InvalidResourceException(sprintf('Cannot load resource "%s"', $resource)); - } elseif (intl_is_failure($rb->getErrorCode())) { - throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode()); - } - - $messages = $this->flatten($rb); - $catalogue = new MessageCatalogue($locale); - $catalogue->add($messages, $domain); - $catalogue->addResource(new DirectoryResource($resource)); - - return $catalogue; - } - - /** - * Flattens an ResourceBundle. - * - * The scheme used is: - * key { key2 { key3 { "value" } } } - * Becomes: - * 'key.key2.key3' => 'value' - * - * This function takes an array by reference and will modify it - * - * @param \ResourceBundle $rb the ResourceBundle that will be flattened - * @param array $messages used internally for recursive calls - * @param string $path current path being parsed, used internally for recursive calls - * - * @return array the flattened ResourceBundle - */ - protected function flatten(\ResourceBundle $rb, array &$messages = array(), $path = null) - { - foreach ($rb as $key => $value) { - $nodePath = $path ? $path.'.'.$key : $key; - if ($value instanceof \ResourceBundle) { - $this->flatten($value, $messages, $nodePath); - } else { - $messages[$nodePath] = $value; - } - } - - return $messages; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IniFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/IniFileLoader.php deleted file mode 100644 index 3f01ab4..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IniFileLoader.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * 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\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\FileResource; - -/** - * IniFileLoader loads translations from an ini file. - * - * @author stealth35 - */ -class IniFileLoader extends ArrayLoader -{ - /** - * {@inheritdoc} - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - $messages = parse_ini_file($resource, true); - - $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); - - return $catalogue; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/JsonFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/JsonFileLoader.php deleted file mode 100644 index 8327c63..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/JsonFileLoader.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * 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\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\FileResource; - -/** - * JsonFileLoader loads translations from an json file. - * - * @author singles - */ -class JsonFileLoader extends ArrayLoader implements LoaderInterface -{ - /** - * {@inheritdoc} - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - $messages = json_decode(file_get_contents($resource), true); - - if (0 < $errorCode = json_last_error()) { - throw new InvalidResourceException(sprintf('Error parsing JSON - %s', $this->getJSONErrorMessage($errorCode))); - } - - if (null === $messages) { - $messages = array(); - } - - $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); - - return $catalogue; - } - - /** - * Translates JSON_ERROR_* constant into meaningful message. - * - * @param int $errorCode Error code returned by json_last_error() call - * - * @return string Message string - */ - private function getJSONErrorMessage($errorCode) - { - switch ($errorCode) { - case JSON_ERROR_DEPTH: - return 'Maximum stack depth exceeded'; - case JSON_ERROR_STATE_MISMATCH: - return 'Underflow or the modes mismatch'; - case JSON_ERROR_CTRL_CHAR: - return 'Unexpected control character found'; - case JSON_ERROR_SYNTAX: - return 'Syntax error, malformed JSON'; - case JSON_ERROR_UTF8: - return 'Malformed UTF-8 characters, possibly incorrectly encoded'; - default: - return 'Unknown error'; - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/LoaderInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/LoaderInterface.php deleted file mode 100644 index 0b28e14..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/LoaderInterface.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * 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\Translation\MessageCatalogue; -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; - -/** - * LoaderInterface is the interface implemented by all translation loaders. - * - * @author Fabien Potencier - * - * @api - */ -interface LoaderInterface -{ - /** - * Loads a locale. - * - * @param mixed $resource A resource - * @param string $locale A locale - * @param string $domain The domain - * - * @return MessageCatalogue A MessageCatalogue instance - * - * @api - * - * @throws NotFoundResourceException when the resource cannot be found - * @throws InvalidResourceException when the resource cannot be loaded - */ - public function load($resource, $locale, $domain = 'messages'); -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/MoFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/MoFileLoader.php deleted file mode 100644 index 9cab3f0..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/MoFileLoader.php +++ /dev/null @@ -1,188 +0,0 @@ - - * - * 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\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\FileResource; - -/** - * @copyright Copyright (c) 2010, Union of RAD http://union-of-rad.org (http://lithify.me/) - */ -class MoFileLoader extends ArrayLoader -{ - /** - * Magic used for validating the format of a MO file as well as - * detecting if the machine used to create that file was little endian. - * - * @var float - */ - const MO_LITTLE_ENDIAN_MAGIC = 0x950412de; - - /** - * Magic used for validating the format of a MO file as well as - * detecting if the machine used to create that file was big endian. - * - * @var float - */ - const MO_BIG_ENDIAN_MAGIC = 0xde120495; - - /** - * The size of the header of a MO file in bytes. - * - * @var int Number of bytes. - */ - const MO_HEADER_SIZE = 28; - - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - $messages = $this->parse($resource); - - // empty file - if (null === $messages) { - $messages = array(); - } - - // not an array - if (!is_array($messages)) { - throw new InvalidResourceException(sprintf('The file "%s" must contain a valid mo file.', $resource)); - } - - $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); - - return $catalogue; - } - - /** - * Parses machine object (MO) format, independent of the machine's endian it - * was created on. Both 32bit and 64bit systems are supported. - * - * @param resource $resource - * - * @return array - * - * @throws InvalidResourceException If stream content has an invalid format. - */ - private function parse($resource) - { - $stream = fopen($resource, 'r'); - - $stat = fstat($stream); - - if ($stat['size'] < self::MO_HEADER_SIZE) { - throw new InvalidResourceException('MO stream content has an invalid format.'); - } - $magic = unpack('V1', fread($stream, 4)); - $magic = hexdec(substr(dechex(current($magic)), -8)); - - if ($magic == self::MO_LITTLE_ENDIAN_MAGIC) { - $isBigEndian = false; - } elseif ($magic == self::MO_BIG_ENDIAN_MAGIC) { - $isBigEndian = true; - } else { - throw new InvalidResourceException('MO stream content has an invalid format.'); - } - - // formatRevision - $this->readLong($stream, $isBigEndian); - $count = $this->readLong($stream, $isBigEndian); - $offsetId = $this->readLong($stream, $isBigEndian); - $offsetTranslated = $this->readLong($stream, $isBigEndian); - // sizeHashes - $this->readLong($stream, $isBigEndian); - // offsetHashes - $this->readLong($stream, $isBigEndian); - - $messages = array(); - - for ($i = 0; $i < $count; $i++) { - $singularId = $pluralId = null; - $translated = null; - - fseek($stream, $offsetId + $i * 8); - - $length = $this->readLong($stream, $isBigEndian); - $offset = $this->readLong($stream, $isBigEndian); - - if ($length < 1) { - continue; - } - - fseek($stream, $offset); - $singularId = fread($stream, $length); - - if (strpos($singularId, "\000") !== false) { - list($singularId, $pluralId) = explode("\000", $singularId); - } - - fseek($stream, $offsetTranslated + $i * 8); - $length = $this->readLong($stream, $isBigEndian); - $offset = $this->readLong($stream, $isBigEndian); - - if ($length < 1) { - continue; - } - - fseek($stream, $offset); - $translated = fread($stream, $length); - - if (strpos($translated, "\000") !== false) { - $translated = explode("\000", $translated); - } - - $ids = array('singular' => $singularId, 'plural' => $pluralId); - $item = compact('ids', 'translated'); - - if (is_array($item['translated'])) { - $messages[$item['ids']['singular']] = stripcslashes($item['translated'][0]); - if (isset($item['ids']['plural'])) { - $plurals = array(); - foreach ($item['translated'] as $plural => $translated) { - $plurals[] = sprintf('{%d} %s', $plural, $translated); - } - $messages[$item['ids']['plural']] = stripcslashes(implode('|', $plurals)); - } - } elseif (!empty($item['ids']['singular'])) { - $messages[$item['ids']['singular']] = stripcslashes($item['translated']); - } - } - - fclose($stream); - - return array_filter($messages); - } - - /** - * Reads an unsigned long from stream respecting endianess. - * - * @param resource $stream - * @param bool $isBigEndian - * - * @return int - */ - private function readLong($stream, $isBigEndian) - { - $result = unpack($isBigEndian ? 'N1' : 'V1', fread($stream, 4)); - $result = current($result); - - return (int) substr($result, -8); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/PhpFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/PhpFileLoader.php deleted file mode 100644 index 1cc9d06..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/PhpFileLoader.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * 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\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\FileResource; - -/** - * PhpFileLoader loads translations from PHP files returning an array of translations. - * - * @author Fabien Potencier - * - * @api - */ -class PhpFileLoader extends ArrayLoader -{ - /** - * {@inheritdoc} - * - * @api - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - $messages = require $resource; - - $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); - - return $catalogue; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/PoFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/PoFileLoader.php deleted file mode 100644 index 8c8f1a2..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/PoFileLoader.php +++ /dev/null @@ -1,177 +0,0 @@ - - * - * 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\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\FileResource; - -/** - * @copyright Copyright (c) 2010, Union of RAD http://union-of-rad.org (http://lithify.me/) - * @copyright Copyright (c) 2012, Clemens Tolboom - */ -class PoFileLoader extends ArrayLoader -{ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - $messages = $this->parse($resource); - - // empty file - if (null === $messages) { - $messages = array(); - } - - // not an array - if (!is_array($messages)) { - throw new InvalidResourceException(sprintf('The file "%s" must contain a valid po file.', $resource)); - } - - $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); - - return $catalogue; - } - - /** - * Parses portable object (PO) format. - * - * From http://www.gnu.org/software/gettext/manual/gettext.html#PO-Files - * we should be able to parse files having: - * - * white-space - * # translator-comments - * #. extracted-comments - * #: reference... - * #, flag... - * #| msgid previous-untranslated-string - * msgid untranslated-string - * msgstr translated-string - * - * extra or different lines are: - * - * #| msgctxt previous-context - * #| msgid previous-untranslated-string - * msgctxt context - * - * #| msgid previous-untranslated-string-singular - * #| msgid_plural previous-untranslated-string-plural - * msgid untranslated-string-singular - * msgid_plural untranslated-string-plural - * msgstr[0] translated-string-case-0 - * ... - * msgstr[N] translated-string-case-n - * - * The definition states: - * - white-space and comments are optional. - * - msgid "" that an empty singleline defines a header. - * - * This parser sacrifices some features of the reference implementation the - * differences to that implementation are as follows. - * - No support for comments spanning multiple lines. - * - Translator and extracted comments are treated as being the same type. - * - Message IDs are allowed to have other encodings as just US-ASCII. - * - * Items with an empty id are ignored. - * - * @param resource $resource - * - * @return array - */ - private function parse($resource) - { - $stream = fopen($resource, 'r'); - - $defaults = array( - 'ids' => array(), - 'translated' => null, - ); - - $messages = array(); - $item = $defaults; - - while ($line = fgets($stream)) { - $line = trim($line); - - if ($line === '') { - // Whitespace indicated current item is done - $this->addMessage($messages, $item); - $item = $defaults; - } elseif (substr($line, 0, 7) === 'msgid "') { - // We start a new msg so save previous - // TODO: this fails when comments or contexts are added - $this->addMessage($messages, $item); - $item = $defaults; - $item['ids']['singular'] = substr($line, 7, -1); - } elseif (substr($line, 0, 8) === 'msgstr "') { - $item['translated'] = substr($line, 8, -1); - } elseif ($line[0] === '"') { - $continues = isset($item['translated']) ? 'translated' : 'ids'; - - if (is_array($item[$continues])) { - end($item[$continues]); - $item[$continues][key($item[$continues])] .= substr($line, 1, -1); - } else { - $item[$continues] .= substr($line, 1, -1); - } - } elseif (substr($line, 0, 14) === 'msgid_plural "') { - $item['ids']['plural'] = substr($line, 14, -1); - } elseif (substr($line, 0, 7) === 'msgstr[') { - $size = strpos($line, ']'); - $item['translated'][(int) substr($line, 7, 1)] = substr($line, $size + 3, -1); - } - } - // save last item - $this->addMessage($messages, $item); - fclose($stream); - - return $messages; - } - - /** - * Save a translation item to the messages. - * - * A .po file could contain by error missing plural indexes. We need to - * fix these before saving them. - * - * @param array $messages - * @param array $item - */ - private function addMessage(array &$messages, array $item) - { - if (is_array($item['translated'])) { - $messages[stripcslashes($item['ids']['singular'])] = stripcslashes($item['translated'][0]); - if (isset($item['ids']['plural'])) { - $plurals = $item['translated']; - // PO are by definition indexed so sort by index. - ksort($plurals); - // Make sure every index is filled. - end($plurals); - $count = key($plurals); - // Fill missing spots with '-'. - $empties = array_fill(0, $count + 1, '-'); - $plurals += $empties; - ksort($plurals); - $messages[stripcslashes($item['ids']['plural'])] = stripcslashes(implode('|', $plurals)); - } - } elseif (!empty($item['ids']['singular'])) { - $messages[stripcslashes($item['ids']['singular'])] = stripcslashes($item['translated']); - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/QtFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/QtFileLoader.php deleted file mode 100644 index aacfb4a..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/QtFileLoader.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * 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\Config\Util\XmlUtils; -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\FileResource; - -/** - * QtFileLoader loads translations from QT Translations XML files. - * - * @author Benjamin Eberlei - * - * @api - */ -class QtFileLoader implements LoaderInterface -{ - /** - * {@inheritdoc} - * - * @api - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - try { - $dom = XmlUtils::loadFile($resource); - } catch (\InvalidArgumentException $e) { - throw new InvalidResourceException(sprintf('Unable to load "%s".', $resource), $e->getCode(), $e); - } - - $internalErrors = libxml_use_internal_errors(true); - libxml_clear_errors(); - - $xpath = new \DOMXPath($dom); - $nodes = $xpath->evaluate('//TS/context/name[text()="'.$domain.'"]'); - - $catalogue = new MessageCatalogue($locale); - if ($nodes->length == 1) { - $translations = $nodes->item(0)->nextSibling->parentNode->parentNode->getElementsByTagName('message'); - foreach ($translations as $translation) { - $translationValue = (string) $translation->getElementsByTagName('translation')->item(0)->nodeValue; - - if (!empty($translationValue)) { - $catalogue->set( - (string) $translation->getElementsByTagName('source')->item(0)->nodeValue, - $translationValue, - $domain - ); - } - $translation = $translation->nextSibling; - } - $catalogue->addResource(new FileResource($resource)); - } - - libxml_use_internal_errors($internalErrors); - - return $catalogue; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/XliffFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/XliffFileLoader.php deleted file mode 100644 index c3a50cd..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/XliffFileLoader.php +++ /dev/null @@ -1,185 +0,0 @@ - - * - * 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\Config\Util\XmlUtils; -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\FileResource; - -/** - * XliffFileLoader loads translations from XLIFF files. - * - * @author Fabien Potencier - * - * @api - */ -class XliffFileLoader implements LoaderInterface -{ - /** - * {@inheritdoc} - * - * @api - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - list($xml, $encoding) = $this->parseFile($resource); - $xml->registerXPathNamespace('xliff', 'urn:oasis:names:tc:xliff:document:1.2'); - - $catalogue = new MessageCatalogue($locale); - foreach ($xml->xpath('//xliff:trans-unit') as $translation) { - $attributes = $translation->attributes(); - - if (!(isset($attributes['resname']) || isset($translation->source)) || !isset($translation->target)) { - continue; - } - - $source = isset($attributes['resname']) && $attributes['resname'] ? $attributes['resname'] : $translation->source; - // If the xlf file has another encoding specified, try to convert it because - // simple_xml will always return utf-8 encoded values - $target = $this->utf8ToCharset((string) $translation->target, $encoding); - - $catalogue->set((string) $source, $target, $domain); - - if (isset($translation->note)) { - $notes = array(); - foreach ($translation->note as $xmlNote) { - $noteAttributes = $xmlNote->attributes(); - $note = array('content' => $this->utf8ToCharset((string) $xmlNote, $encoding)); - if (isset($noteAttributes['priority'])) { - $note['priority'] = (int) $noteAttributes['priority']; - } - - if (isset($noteAttributes['from'])) { - $note['from'] = (string) $noteAttributes['from']; - } - - $notes[] = $note; - } - - $catalogue->setMetadata((string) $source, array('notes' => $notes), $domain); - } - } - $catalogue->addResource(new FileResource($resource)); - - return $catalogue; - } - - /** - * Convert a UTF8 string to the specified encoding. - * - * @param string $content String to decode - * @param string $encoding Target encoding - * - * @return string - */ - private function utf8ToCharset($content, $encoding = null) - { - if ('UTF-8' !== $encoding && !empty($encoding)) { - if (function_exists('mb_convert_encoding')) { - return mb_convert_encoding($content, $encoding, 'UTF-8'); - } - - if (function_exists('iconv')) { - return iconv('UTF-8', $encoding, $content); - } - - throw new \RuntimeException('No suitable convert encoding function (use UTF-8 as your encoding or install the iconv or mbstring extension).'); - } - - return $content; - } - - /** - * Validates and parses the given file into a SimpleXMLElement. - * - * @param string $file - * - * @throws \RuntimeException - * - * @return \SimpleXMLElement - * - * @throws InvalidResourceException - */ - private function parseFile($file) - { - try { - $dom = XmlUtils::loadFile($file); - } catch (\InvalidArgumentException $e) { - throw new InvalidResourceException(sprintf('Unable to load "%s": %s', $file, $e->getMessage()), $e->getCode(), $e); - } - - $internalErrors = libxml_use_internal_errors(true); - - $location = str_replace('\\', '/', __DIR__).'/schema/dic/xliff-core/xml.xsd'; - $parts = explode('/', $location); - if (0 === stripos($location, 'phar://')) { - $tmpfile = tempnam(sys_get_temp_dir(), 'sf2'); - if ($tmpfile) { - copy($location, $tmpfile); - $parts = explode('/', str_replace('\\', '/', $tmpfile)); - } - } - $drive = '\\' === DIRECTORY_SEPARATOR ? array_shift($parts).'/' : ''; - $location = 'file:///'.$drive.implode('/', array_map('rawurlencode', $parts)); - - $source = file_get_contents(__DIR__.'/schema/dic/xliff-core/xliff-core-1.2-strict.xsd'); - $source = str_replace('http://www.w3.org/2001/xml.xsd', $location, $source); - - if (!@$dom->schemaValidateSource($source)) { - throw new InvalidResourceException(implode("\n", $this->getXmlErrors($internalErrors))); - } - - $dom->normalizeDocument(); - - libxml_clear_errors(); - libxml_use_internal_errors($internalErrors); - - return array(simplexml_import_dom($dom), strtoupper($dom->encoding)); - } - - /** - * Returns the XML errors of the internal XML parser. - * - * @param bool $internalErrors - * - * @return array An array of errors - */ - private function getXmlErrors($internalErrors) - { - $errors = array(); - foreach (libxml_get_errors() as $error) { - $errors[] = sprintf('[%s %s] %s (in %s - line %d, column %d)', - LIBXML_ERR_WARNING == $error->level ? 'WARNING' : 'ERROR', - $error->code, - trim($error->message), - $error->file ?: 'n/a', - $error->line, - $error->column - ); - } - - libxml_clear_errors(); - libxml_use_internal_errors($internalErrors); - - return $errors; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php deleted file mode 100644 index e50e0fa..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * 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\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Yaml\Parser as YamlParser; -use Symfony\Component\Yaml\Exception\ParseException; - -/** - * YamlFileLoader loads translations from Yaml files. - * - * @author Fabien Potencier - * - * @api - */ -class YamlFileLoader extends ArrayLoader -{ - private $yamlParser; - - /** - * {@inheritdoc} - * - * @api - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - if (null === $this->yamlParser) { - $this->yamlParser = new YamlParser(); - } - - try { - $messages = $this->yamlParser->parse(file_get_contents($resource)); - } catch (ParseException $e) { - throw new InvalidResourceException(sprintf('Error parsing YAML, invalid file "%s"', $resource), 0, $e); - } - - // empty file - if (null === $messages) { - $messages = array(); - } - - // not an array - if (!is_array($messages)) { - throw new InvalidResourceException(sprintf('The file "%s" must contain a YAML array.', $resource)); - } - - $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); - - return $catalogue; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd b/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd deleted file mode 100644 index 3ce2a8e..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd +++ /dev/null @@ -1,2223 +0,0 @@ - - - - - - - - - - - - - - - Values for the attribute 'context-type'. - - - - - Indicates a database content. - - - - - Indicates the content of an element within an XML document. - - - - - Indicates the name of an element within an XML document. - - - - - Indicates the line number from the sourcefile (see context-type="sourcefile") where the <source> is found. - - - - - Indicates a the number of parameters contained within the <source>. - - - - - Indicates notes pertaining to the parameters in the <source>. - - - - - Indicates the content of a record within a database. - - - - - Indicates the name of a record within a database. - - - - - Indicates the original source file in the case that multiple files are merged to form the original file from which the XLIFF file is created. This differs from the original <file> attribute in that this sourcefile is one of many that make up that file. - - - - - - - Values for the attribute 'count-type'. - - - - - Indicates the count units are items that are used X times in a certain context; example: this is a reusable text unit which is used 42 times in other texts. - - - - - Indicates the count units are translation units existing already in the same document. - - - - - Indicates a total count. - - - - - - - Values for the attribute 'ctype' when used other elements than <ph> or <x>. - - - - - Indicates a run of bolded text. - - - - - Indicates a run of text in italics. - - - - - Indicates a run of underlined text. - - - - - Indicates a run of hyper-text. - - - - - - - Values for the attribute 'ctype' when used with <ph> or <x>. - - - - - Indicates a inline image. - - - - - Indicates a page break. - - - - - Indicates a line break. - - - - - - - - - - - - Values for the attribute 'datatype'. - - - - - Indicates Active Server Page data. - - - - - Indicates C source file data. - - - - - Indicates Channel Definition Format (CDF) data. - - - - - Indicates ColdFusion data. - - - - - Indicates C++ source file data. - - - - - Indicates C-Sharp data. - - - - - Indicates strings from C, ASM, and driver files data. - - - - - Indicates comma-separated values data. - - - - - Indicates database data. - - - - - Indicates portions of document that follows data and contains metadata. - - - - - Indicates portions of document that precedes data and contains metadata. - - - - - Indicates data from standard UI file operations dialogs (e.g., Open, Save, Save As, Export, Import). - - - - - Indicates standard user input screen data. - - - - - Indicates HyperText Markup Language (HTML) data - document instance. - - - - - Indicates content within an HTML document’s <body> element. - - - - - Indicates Windows INI file data. - - - - - Indicates Interleaf data. - - - - - Indicates Java source file data (extension '.java'). - - - - - Indicates Java property resource bundle data. - - - - - Indicates Java list resource bundle data. - - - - - Indicates JavaScript source file data. - - - - - Indicates JScript source file data. - - - - - Indicates information relating to formatting. - - - - - Indicates LISP source file data. - - - - - Indicates information relating to margin formats. - - - - - Indicates a file containing menu. - - - - - Indicates numerically identified string table. - - - - - Indicates Maker Interchange Format (MIF) data. - - - - - Indicates that the datatype attribute value is a MIME Type value and is defined in the mime-type attribute. - - - - - Indicates GNU Machine Object data. - - - - - Indicates Message Librarian strings created by Novell's Message Librarian Tool. - - - - - Indicates information to be displayed at the bottom of each page of a document. - - - - - Indicates information to be displayed at the top of each page of a document. - - - - - Indicates a list of property values (e.g., settings within INI files or preferences dialog). - - - - - Indicates Pascal source file data. - - - - - Indicates Hypertext Preprocessor data. - - - - - Indicates plain text file (no formatting other than, possibly, wrapping). - - - - - Indicates GNU Portable Object file. - - - - - Indicates dynamically generated user defined document. e.g. Oracle Report, Crystal Report, etc. - - - - - Indicates Windows .NET binary resources. - - - - - Indicates Windows .NET Resources. - - - - - Indicates Rich Text Format (RTF) data. - - - - - Indicates Standard Generalized Markup Language (SGML) data - document instance. - - - - - Indicates Standard Generalized Markup Language (SGML) data - Document Type Definition (DTD). - - - - - Indicates Scalable Vector Graphic (SVG) data. - - - - - Indicates VisualBasic Script source file. - - - - - Indicates warning message. - - - - - Indicates Windows (Win32) resources (i.e. resources extracted from an RC script, a message file, or a compiled file). - - - - - Indicates Extensible HyperText Markup Language (XHTML) data - document instance. - - - - - Indicates Extensible Markup Language (XML) data - document instance. - - - - - Indicates Extensible Markup Language (XML) data - Document Type Definition (DTD). - - - - - Indicates Extensible Stylesheet Language (XSL) data. - - - - - Indicates XUL elements. - - - - - - - Values for the attribute 'mtype'. - - - - - Indicates the marked text is an abbreviation. - - - - - ISO-12620 2.1.8: A term resulting from the omission of any part of the full term while designating the same concept. - - - - - ISO-12620 2.1.8.1: An abbreviated form of a simple term resulting from the omission of some of its letters (e.g. 'adj.' for 'adjective'). - - - - - ISO-12620 2.1.8.4: An abbreviated form of a term made up of letters from the full form of a multiword term strung together into a sequence pronounced only syllabically (e.g. 'radar' for 'radio detecting and ranging'). - - - - - ISO-12620: A proper-name term, such as the name of an agency or other proper entity. - - - - - ISO-12620 2.1.18.1: A recurrent word combination characterized by cohesion in that the components of the collocation must co-occur within an utterance or series of utterances, even though they do not necessarily have to maintain immediate proximity to one another. - - - - - ISO-12620 2.1.5: A synonym for an international scientific term that is used in general discourse in a given language. - - - - - Indicates the marked text is a date and/or time. - - - - - ISO-12620 2.1.15: An expression used to represent a concept based on a statement that two mathematical expressions are, for instance, equal as identified by the equal sign (=), or assigned to one another by a similar sign. - - - - - ISO-12620 2.1.7: The complete representation of a term for which there is an abbreviated form. - - - - - ISO-12620 2.1.14: Figures, symbols or the like used to express a concept briefly, such as a mathematical or chemical formula. - - - - - ISO-12620 2.1.1: The concept designation that has been chosen to head a terminological record. - - - - - ISO-12620 2.1.8.3: An abbreviated form of a term consisting of some of the initial letters of the words making up a multiword term or the term elements making up a compound term when these letters are pronounced individually (e.g. 'BSE' for 'bovine spongiform encephalopathy'). - - - - - ISO-12620 2.1.4: A term that is part of an international scientific nomenclature as adopted by an appropriate scientific body. - - - - - ISO-12620 2.1.6: A term that has the same or nearly identical orthographic or phonemic form in many languages. - - - - - ISO-12620 2.1.16: An expression used to represent a concept based on mathematical or logical relations, such as statements of inequality, set relationships, Boolean operations, and the like. - - - - - ISO-12620 2.1.17: A unit to track object. - - - - - Indicates the marked text is a name. - - - - - ISO-12620 2.1.3: A term that represents the same or a very similar concept as another term in the same language, but for which interchangeability is limited to some contexts and inapplicable in others. - - - - - ISO-12620 2.1.17.2: A unique alphanumeric designation assigned to an object in a manufacturing system. - - - - - Indicates the marked text is a phrase. - - - - - ISO-12620 2.1.18: Any group of two or more words that form a unit, the meaning of which frequently cannot be deduced based on the combined sense of the words making up the phrase. - - - - - Indicates the marked text should not be translated. - - - - - ISO-12620 2.1.12: A form of a term resulting from an operation whereby non-Latin writing systems are converted to the Latin alphabet. - - - - - Indicates that the marked text represents a segment. - - - - - ISO-12620 2.1.18.2: A fixed, lexicalized phrase. - - - - - ISO-12620 2.1.8.2: A variant of a multiword term that includes fewer words than the full form of the term (e.g. 'Group of Twenty-four' for 'Intergovernmental Group of Twenty-four on International Monetary Affairs'). - - - - - ISO-12620 2.1.17.1: Stock keeping unit, an inventory item identified by a unique alphanumeric designation assigned to an object in an inventory control system. - - - - - ISO-12620 2.1.19: A fixed chunk of recurring text. - - - - - ISO-12620 2.1.13: A designation of a concept by letters, numerals, pictograms or any combination thereof. - - - - - ISO-12620 2.1.2: Any term that represents the same or a very similar concept as the main entry term in a term entry. - - - - - ISO-12620 2.1.18.3: Phraseological unit in a language that expresses the same semantic content as another phrase in that same language. - - - - - Indicates the marked text is a term. - - - - - ISO-12620 2.1.11: A form of a term resulting from an operation whereby the characters of one writing system are represented by characters from another writing system, taking into account the pronunciation of the characters converted. - - - - - ISO-12620 2.1.10: A form of a term resulting from an operation whereby the characters of an alphabetic writing system are represented by characters from another alphabetic writing system. - - - - - ISO-12620 2.1.8.5: An abbreviated form of a term resulting from the omission of one or more term elements or syllables (e.g. 'flu' for 'influenza'). - - - - - ISO-12620 2.1.9: One of the alternate forms of a term. - - - - - - - Values for the attribute 'restype'. - - - - - Indicates a Windows RC AUTO3STATE control. - - - - - Indicates a Windows RC AUTOCHECKBOX control. - - - - - Indicates a Windows RC AUTORADIOBUTTON control. - - - - - Indicates a Windows RC BEDIT control. - - - - - Indicates a bitmap, for example a BITMAP resource in Windows. - - - - - Indicates a button object, for example a BUTTON control Windows. - - - - - Indicates a caption, such as the caption of a dialog box. - - - - - Indicates the cell in a table, for example the content of the <td> element in HTML. - - - - - Indicates check box object, for example a CHECKBOX control in Windows. - - - - - Indicates a menu item with an associated checkbox. - - - - - Indicates a list box, but with a check-box for each item. - - - - - Indicates a color selection dialog. - - - - - Indicates a combination of edit box and listbox object, for example a COMBOBOX control in Windows. - - - - - Indicates an initialization entry of an extended combobox DLGINIT resource block. (code 0x1234). - - - - - Indicates an initialization entry of a combobox DLGINIT resource block (code 0x0403). - - - - - Indicates a UI base class element that cannot be represented by any other element. - - - - - Indicates a context menu. - - - - - Indicates a Windows RC CTEXT control. - - - - - Indicates a cursor, for example a CURSOR resource in Windows. - - - - - Indicates a date/time picker. - - - - - Indicates a Windows RC DEFPUSHBUTTON control. - - - - - Indicates a dialog box. - - - - - Indicates a Windows RC DLGINIT resource block. - - - - - Indicates an edit box object, for example an EDIT control in Windows. - - - - - Indicates a filename. - - - - - Indicates a file dialog. - - - - - Indicates a footnote. - - - - - Indicates a font name. - - - - - Indicates a footer. - - - - - Indicates a frame object. - - - - - Indicates a XUL grid element. - - - - - Indicates a groupbox object, for example a GROUPBOX control in Windows. - - - - - Indicates a header item. - - - - - Indicates a heading, such has the content of <h1>, <h2>, etc. in HTML. - - - - - Indicates a Windows RC HEDIT control. - - - - - Indicates a horizontal scrollbar. - - - - - Indicates an icon, for example an ICON resource in Windows. - - - - - Indicates a Windows RC IEDIT control. - - - - - Indicates keyword list, such as the content of the Keywords meta-data in HTML, or a K footnote in WinHelp RTF. - - - - - Indicates a label object. - - - - - Indicates a label that is also a HTML link (not necessarily a URL). - - - - - Indicates a list (a group of list-items, for example an <ol> or <ul> element in HTML). - - - - - Indicates a listbox object, for example an LISTBOX control in Windows. - - - - - Indicates an list item (an entry in a list). - - - - - Indicates a Windows RC LTEXT control. - - - - - Indicates a menu (a group of menu-items). - - - - - Indicates a toolbar containing one or more tope level menus. - - - - - Indicates a menu item (an entry in a menu). - - - - - Indicates a XUL menuseparator element. - - - - - Indicates a message, for example an entry in a MESSAGETABLE resource in Windows. - - - - - Indicates a calendar control. - - - - - Indicates an edit box beside a spin control. - - - - - Indicates a catch all for rectangular areas. - - - - - Indicates a standalone menu not necessarily associated with a menubar. - - - - - Indicates a pushbox object, for example a PUSHBOX control in Windows. - - - - - Indicates a Windows RC PUSHBUTTON control. - - - - - Indicates a radio button object. - - - - - Indicates a menuitem with associated radio button. - - - - - Indicates raw data resources for an application. - - - - - Indicates a row in a table. - - - - - Indicates a Windows RC RTEXT control. - - - - - Indicates a user navigable container used to show a portion of a document. - - - - - Indicates a generic divider object (e.g. menu group separator). - - - - - Windows accelerators, shortcuts in resource or property files. - - - - - Indicates a UI control to indicate process activity but not progress. - - - - - Indicates a splitter bar. - - - - - Indicates a Windows RC STATE3 control. - - - - - Indicates a window for providing feedback to the users, like 'read-only', etc. - - - - - Indicates a string, for example an entry in a STRINGTABLE resource in Windows. - - - - - Indicates a layers of controls with a tab to select layers. - - - - - Indicates a display and edits regular two-dimensional tables of cells. - - - - - Indicates a XUL textbox element. - - - - - Indicates a UI button that can be toggled to on or off state. - - - - - Indicates an array of controls, usually buttons. - - - - - Indicates a pop up tool tip text. - - - - - Indicates a bar with a pointer indicating a position within a certain range. - - - - - Indicates a control that displays a set of hierarchical data. - - - - - Indicates a URI (URN or URL). - - - - - Indicates a Windows RC USERBUTTON control. - - - - - Indicates a user-defined control like CONTROL control in Windows. - - - - - Indicates the text of a variable. - - - - - Indicates version information about a resource like VERSIONINFO in Windows. - - - - - Indicates a vertical scrollbar. - - - - - Indicates a graphical window. - - - - - - - Values for the attribute 'size-unit'. - - - - - Indicates a size in 8-bit bytes. - - - - - Indicates a size in Unicode characters. - - - - - Indicates a size in columns. Used for HTML text area. - - - - - Indicates a size in centimeters. - - - - - Indicates a size in dialog units, as defined in Windows resources. - - - - - Indicates a size in 'font-size' units (as defined in CSS). - - - - - Indicates a size in 'x-height' units (as defined in CSS). - - - - - Indicates a size in glyphs. A glyph is considered to be one or more combined Unicode characters that represent a single displayable text character. Sometimes referred to as a 'grapheme cluster' - - - - - Indicates a size in inches. - - - - - Indicates a size in millimeters. - - - - - Indicates a size in percentage. - - - - - Indicates a size in pixels. - - - - - Indicates a size in point. - - - - - Indicates a size in rows. Used for HTML text area. - - - - - - - Values for the attribute 'state'. - - - - - Indicates the terminating state. - - - - - Indicates only non-textual information needs adaptation. - - - - - Indicates both text and non-textual information needs adaptation. - - - - - Indicates only non-textual information needs review. - - - - - Indicates both text and non-textual information needs review. - - - - - Indicates that only the text of the item needs to be reviewed. - - - - - Indicates that the item needs to be translated. - - - - - Indicates that the item is new. For example, translation units that were not in a previous version of the document. - - - - - Indicates that changes are reviewed and approved. - - - - - Indicates that the item has been translated. - - - - - - - Values for the attribute 'state-qualifier'. - - - - - Indicates an exact match. An exact match occurs when a source text of a segment is exactly the same as the source text of a segment that was translated previously. - - - - - Indicates a fuzzy match. A fuzzy match occurs when a source text of a segment is very similar to the source text of a segment that was translated previously (e.g. when the difference is casing, a few changed words, white-space discripancy, etc.). - - - - - Indicates a match based on matching IDs (in addition to matching text). - - - - - Indicates a translation derived from a glossary. - - - - - Indicates a translation derived from existing translation. - - - - - Indicates a translation derived from machine translation. - - - - - Indicates a translation derived from a translation repository. - - - - - Indicates a translation derived from a translation memory. - - - - - Indicates the translation is suggested by machine translation. - - - - - Indicates that the item has been rejected because of incorrect grammar. - - - - - Indicates that the item has been rejected because it is incorrect. - - - - - Indicates that the item has been rejected because it is too long or too short. - - - - - Indicates that the item has been rejected because of incorrect spelling. - - - - - Indicates the translation is suggested by translation memory. - - - - - - - Values for the attribute 'unit'. - - - - - Refers to words. - - - - - Refers to pages. - - - - - Refers to <trans-unit> elements. - - - - - Refers to <bin-unit> elements. - - - - - Refers to glyphs. - - - - - Refers to <trans-unit> and/or <bin-unit> elements. - - - - - Refers to the occurrences of instances defined by the count-type value. - - - - - Refers to characters. - - - - - Refers to lines. - - - - - Refers to sentences. - - - - - Refers to paragraphs. - - - - - Refers to segments. - - - - - Refers to placeables (inline elements). - - - - - - - Values for the attribute 'priority'. - - - - - Highest priority. - - - - - High priority. - - - - - High priority, but not as important as 2. - - - - - High priority, but not as important as 3. - - - - - Medium priority, but more important than 6. - - - - - Medium priority, but less important than 5. - - - - - Low priority, but more important than 8. - - - - - Low priority, but more important than 9. - - - - - Low priority. - - - - - Lowest priority. - - - - - - - - - This value indicates that all properties can be reformatted. This value must be used alone. - - - - - This value indicates that no properties should be reformatted. This value must be used alone. - - - - - - - - - - - - - This value indicates that all information in the coord attribute can be modified. - - - - - This value indicates that the x information in the coord attribute can be modified. - - - - - This value indicates that the y information in the coord attribute can be modified. - - - - - This value indicates that the cx information in the coord attribute can be modified. - - - - - This value indicates that the cy information in the coord attribute can be modified. - - - - - This value indicates that all the information in the font attribute can be modified. - - - - - This value indicates that the name information in the font attribute can be modified. - - - - - This value indicates that the size information in the font attribute can be modified. - - - - - This value indicates that the weight information in the font attribute can be modified. - - - - - This value indicates that the information in the css-style attribute can be modified. - - - - - This value indicates that the information in the style attribute can be modified. - - - - - This value indicates that the information in the exstyle attribute can be modified. - - - - - - - - - - - - - Indicates that the context is informational in nature, specifying for example, how a term should be translated. Thus, should be displayed to anyone editing the XLIFF document. - - - - - Indicates that the context-group is used to specify where the term was found in the translatable source. Thus, it is not displayed. - - - - - Indicates that the context information should be used during translation memory lookups. Thus, it is not displayed. - - - - - - - - - Represents a translation proposal from a translation memory or other resource. - - - - - Represents a previous version of the target element. - - - - - Represents a rejected version of the target element. - - - - - Represents a translation to be used for reference purposes only, for example from a related product or a different language. - - - - - Represents a proposed translation that was used for the translation of the trans-unit, possibly modified. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Values for the attribute 'coord'. - - - - - - - - Version values: 1.0 and 1.1 are allowed for backward compatibility. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xml.xsd b/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xml.xsd deleted file mode 100644 index a46162a..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xml.xsd +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - -
-

About the XML namespace

- -
-

- - This schema document describes the XML namespace, in a form - suitable for import by other schema documents. -

-

- See - http://www.w3.org/XML/1998/namespace.html and - - http://www.w3.org/TR/REC-xml for information - about this namespace. -

- -

- Note that local names in this namespace are intended to be - defined only by the World Wide Web Consortium or its subgroups. - The names currently defined in this namespace are listed below. - They should not be used with conflicting semantics by any Working - Group, specification, or document instance. -

-

- See further below in this document for more information about how to refer to this schema document from your own - XSD schema documents and about the - namespace-versioning policy governing this schema document. -

-
-
- -
-
- - - - -
- -

lang (as an attribute name)

-

- - denotes an attribute whose value - is a language code for the natural language of the content of - any element; its value is inherited. This name is reserved - by virtue of its definition in the XML specification.

- -
-
-

Notes

-

- Attempting to install the relevant ISO 2- and 3-letter - codes as the enumerated possible values is probably never - going to be a realistic possibility. -

-

- - See BCP 47 at - http://www.rfc-editor.org/rfc/bcp/bcp47.txt - and the IANA language subtag registry at - - http://www.iana.org/assignments/language-subtag-registry - for further information. -

-

- - The union allows for the 'un-declaration' of xml:lang with - the empty string. -

-
-
-
- - - - - - - - - - -
- - - - - -
- -

space (as an attribute name)

-

- denotes an attribute whose - value is a keyword indicating what whitespace processing - discipline is intended for the content of the element; its - value is inherited. This name is reserved by virtue of its - definition in the XML specification.

- -
-
-
- - - - - - - -
- - - - -
- -

base (as an attribute name)

-

- denotes an attribute whose value - provides a URI to be used as the base for interpreting any - relative URIs in the scope of the element on which it - appears; its value is inherited. This name is reserved - by virtue of its definition in the XML Base specification.

- -

- See http://www.w3.org/TR/xmlbase/ - for information about this attribute. -

- -
-
-
-
- - - - -
- -

id (as an attribute name)

-

- - denotes an attribute whose value - should be interpreted as if declared to be of type ID. - This name is reserved by virtue of its definition in the - xml:id specification.

- -

- See http://www.w3.org/TR/xml-id/ - for information about this attribute. -

-
-
-
- -
- - - - - - - - - - - -
- -

Father (in any context at all)

- -
-

- denotes Jon Bosak, the chair of - the original XML Working Group. This name is reserved by - the following decision of the W3C XML Plenary and - XML Coordination groups: -

-
-

- - In appreciation for his vision, leadership and - dedication the W3C XML Plenary on this 10th day of - February, 2000, reserves for Jon Bosak in perpetuity - the XML name "xml:Father". -

-
-
-
-
-
- - - - -
-

About this schema document

- -
-

- This schema defines attributes and an attribute group suitable - for use by schemas wishing to allow xml:base, - xml:lang, xml:space or - xml:id attributes on elements they define. -

- -

- To enable this, such a schema must import this schema for - the XML namespace, e.g. as follows: -

-
-          <schema.. .>
-          .. .
-           <import namespace="http://www.w3.org/XML/1998/namespace"
-                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-     
-

- or -

-
-
-           <import namespace="http://www.w3.org/XML/1998/namespace"
-                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
-     
-

- Subsequently, qualified reference to any of the attributes or the - group defined below will have the desired effect, e.g. -

-
-          <type.. .>
-          .. .
-           <attributeGroup ref="xml:specialAttrs"/>
-     
-

- will define a type which will schema-validate an instance element - with any of those attributes. -

- -
-
-
-
- - - -
-

Versioning policy for this schema document

- -
-

- In keeping with the XML Schema WG's standard versioning - policy, this schema document will persist at - - http://www.w3.org/2009/01/xml.xsd. -

-

- At the date of issue it can also be found at - - http://www.w3.org/2001/xml.xsd. -

- -

- The schema document at that URI may however change in the future, - in order to remain compatible with the latest version of XML - Schema itself, or with the XML namespace itself. In other words, - if the XML Schema or XML namespaces change, the version of this - document at - http://www.w3.org/2001/xml.xsd - - will change accordingly; the version at - - http://www.w3.org/2009/01/xml.xsd - - will not change. -

-

- - Previous dated (and unchanging) versions of this schema - document are at: -

- -
-
-
-
- -
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/LoggingTranslator.php b/vendor/symfony/translation/Symfony/Component/Translation/LoggingTranslator.php deleted file mode 100644 index 8511882..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/LoggingTranslator.php +++ /dev/null @@ -1,132 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Psr\Log\LoggerInterface; - -/** - * @author Abdellatif Ait boudad - */ -class LoggingTranslator implements TranslatorInterface, TranslatorBagInterface -{ - /** - * @var TranslatorInterface - */ - private $translator; - - /** - * @var LoggerInterface - */ - private $logger; - - /** - * @param Translator $translator - * @param LoggerInterface $logger - */ - public function __construct($translator, LoggerInterface $logger) - { - if (!($translator instanceof TranslatorInterface && $translator instanceof TranslatorBagInterface)) { - throw new \InvalidArgumentException(sprintf('The Translator "%s" must implements TranslatorInterface and TranslatorBagInterface.', get_class($translator))); - } - - $this->translator = $translator; - $this->logger = $logger; - } - - /** - * {@inheritdoc} - */ - public function trans($id, array $parameters = array(), $domain = null, $locale = null) - { - $trans = $this->translator->trans($id, $parameters, $domain, $locale); - $this->log($id, $domain, $locale); - - return $trans; - } - - /** - * {@inheritdoc} - */ - public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) - { - $trans = $this->translator->transChoice($id, $number, $parameters, $domain, $locale); - $this->log($id, $domain, $locale); - - return $trans; - } - - /** - * {@inheritdoc} - * - * @api - */ - public function setLocale($locale) - { - $this->translator->setLocale($locale); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function getLocale() - { - return $this->translator->getLocale(); - } - - /** - * {@inheritdoc} - */ - public function getCatalogue($locale = null) - { - return $this->translator->getCatalogue($locale); - } - - /** - * Passes through all unknown calls onto the translator object. - */ - public function __call($method, $args) - { - return call_user_func_array(array($this->translator, $method), $args); - } - - /** - * Logs for missing translations. - * - * @param string $id - * @param string|null $domain - * @param string|null $locale - */ - private function log($id, $domain, $locale) - { - if (null === $locale) { - $locale = $this->getLocale(); - } - - if (null === $domain) { - $domain = 'messages'; - } - - $id = (string) $id; - $catalogue = $this->translator->getCatalogue($locale); - if ($catalogue->defines($id, $domain)) { - return; - } - - if ($catalogue->has($id, $domain)) { - $this->logger->debug('Translation use fallback catalogue.', array('id' => $id, 'domain' => $domain, 'locale' => $catalogue->getLocale())); - } else { - $this->logger->warning('Translation not found.', array('id' => $id, 'domain' => $domain, 'locale' => $catalogue->getLocale())); - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/MessageCatalogue.php b/vendor/symfony/translation/Symfony/Component/Translation/MessageCatalogue.php deleted file mode 100644 index aa92a58..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/MessageCatalogue.php +++ /dev/null @@ -1,293 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Symfony\Component\Config\Resource\ResourceInterface; - -/** - * MessageCatalogue. - * - * @author Fabien Potencier - * - * @api - */ -class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterface -{ - private $messages = array(); - private $metadata = array(); - private $resources = array(); - private $locale; - private $fallbackCatalogue; - private $parent; - - /** - * Constructor. - * - * @param string $locale The locale - * @param array $messages An array of messages classified by domain - * - * @api - */ - public function __construct($locale, array $messages = array()) - { - $this->locale = $locale; - $this->messages = $messages; - } - - /** - * {@inheritdoc} - * - * @api - */ - public function getLocale() - { - return $this->locale; - } - - /** - * {@inheritdoc} - * - * @api - */ - public function getDomains() - { - return array_keys($this->messages); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function all($domain = null) - { - if (null === $domain) { - return $this->messages; - } - - return isset($this->messages[$domain]) ? $this->messages[$domain] : array(); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function set($id, $translation, $domain = 'messages') - { - $this->add(array($id => $translation), $domain); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function has($id, $domain = 'messages') - { - if (isset($this->messages[$domain][$id])) { - return true; - } - - if (null !== $this->fallbackCatalogue) { - return $this->fallbackCatalogue->has($id, $domain); - } - - return false; - } - - /** - * {@inheritdoc} - */ - public function defines($id, $domain = 'messages') - { - return isset($this->messages[$domain][$id]); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function get($id, $domain = 'messages') - { - if (isset($this->messages[$domain][$id])) { - return $this->messages[$domain][$id]; - } - - if (null !== $this->fallbackCatalogue) { - return $this->fallbackCatalogue->get($id, $domain); - } - - return $id; - } - - /** - * {@inheritdoc} - * - * @api - */ - public function replace($messages, $domain = 'messages') - { - $this->messages[$domain] = array(); - - $this->add($messages, $domain); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function add($messages, $domain = 'messages') - { - if (!isset($this->messages[$domain])) { - $this->messages[$domain] = $messages; - } else { - $this->messages[$domain] = array_replace($this->messages[$domain], $messages); - } - } - - /** - * {@inheritdoc} - * - * @api - */ - public function addCatalogue(MessageCatalogueInterface $catalogue) - { - if ($catalogue->getLocale() !== $this->locale) { - throw new \LogicException(sprintf('Cannot add a catalogue for locale "%s" as the current locale for this catalogue is "%s"', $catalogue->getLocale(), $this->locale)); - } - - foreach ($catalogue->all() as $domain => $messages) { - $this->add($messages, $domain); - } - - foreach ($catalogue->getResources() as $resource) { - $this->addResource($resource); - } - - if ($catalogue instanceof MetadataAwareInterface) { - $metadata = $catalogue->getMetadata('', ''); - $this->addMetadata($metadata); - } - } - - /** - * {@inheritdoc} - * - * @api - */ - public function addFallbackCatalogue(MessageCatalogueInterface $catalogue) - { - // detect circular references - $c = $this; - do { - if ($c->getLocale() === $catalogue->getLocale()) { - throw new \LogicException(sprintf('Circular reference detected when adding a fallback catalogue for locale "%s".', $catalogue->getLocale())); - } - } while ($c = $c->parent); - - $catalogue->parent = $this; - $this->fallbackCatalogue = $catalogue; - - foreach ($catalogue->getResources() as $resource) { - $this->addResource($resource); - } - } - - /** - * {@inheritdoc} - * - * @api - */ - public function getFallbackCatalogue() - { - return $this->fallbackCatalogue; - } - - /** - * {@inheritdoc} - * - * @api - */ - public function getResources() - { - return array_values($this->resources); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function addResource(ResourceInterface $resource) - { - $this->resources[$resource->__toString()] = $resource; - } - - /** - * {@inheritdoc} - */ - public function getMetadata($key = '', $domain = 'messages') - { - if ('' == $domain) { - return $this->metadata; - } - - if (isset($this->metadata[$domain])) { - if ('' == $key) { - return $this->metadata[$domain]; - } - - if (isset($this->metadata[$domain][$key])) { - return $this->metadata[$domain][$key]; - } - } - } - - /** - * {@inheritdoc} - */ - public function setMetadata($key, $value, $domain = 'messages') - { - $this->metadata[$domain][$key] = $value; - } - - /** - * {@inheritdoc} - */ - public function deleteMetadata($key = '', $domain = 'messages') - { - if ('' == $domain) { - $this->metadata = array(); - } elseif ('' == $key) { - unset($this->metadata[$domain]); - } else { - unset($this->metadata[$domain][$key]); - } - } - - /** - * Adds current values with the new values. - * - * @param array $values Values to add - */ - private function addMetadata(array $values) - { - foreach ($values as $domain => $keys) { - foreach ($keys as $key => $value) { - $this->setMetadata($key, $value, $domain); - } - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/MessageCatalogueInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/MessageCatalogueInterface.php deleted file mode 100644 index 647e337..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/MessageCatalogueInterface.php +++ /dev/null @@ -1,172 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Symfony\Component\Config\Resource\ResourceInterface; - -/** - * MessageCatalogueInterface. - * - * @author Fabien Potencier - * - * @api - */ -interface MessageCatalogueInterface -{ - /** - * Gets the catalogue locale. - * - * @return string The locale - * - * @api - */ - public function getLocale(); - - /** - * Gets the domains. - * - * @return array An array of domains - * - * @api - */ - public function getDomains(); - - /** - * Gets the messages within a given domain. - * - * If $domain is null, it returns all messages. - * - * @param string $domain The domain name - * - * @return array An array of messages - * - * @api - */ - public function all($domain = null); - - /** - * Sets a message translation. - * - * @param string $id The message id - * @param string $translation The messages translation - * @param string $domain The domain name - * - * @api - */ - public function set($id, $translation, $domain = 'messages'); - - /** - * Checks if a message has a translation. - * - * @param string $id The message id - * @param string $domain The domain name - * - * @return bool true if the message has a translation, false otherwise - * - * @api - */ - public function has($id, $domain = 'messages'); - - /** - * Checks if a message has a translation (it does not take into account the fallback mechanism). - * - * @param string $id The message id - * @param string $domain The domain name - * - * @return bool true if the message has a translation, false otherwise - * - * @api - */ - public function defines($id, $domain = 'messages'); - - /** - * Gets a message translation. - * - * @param string $id The message id - * @param string $domain The domain name - * - * @return string The message translation - * - * @api - */ - public function get($id, $domain = 'messages'); - - /** - * Sets translations for a given domain. - * - * @param array $messages An array of translations - * @param string $domain The domain name - * - * @api - */ - public function replace($messages, $domain = 'messages'); - - /** - * Adds translations for a given domain. - * - * @param array $messages An array of translations - * @param string $domain The domain name - * - * @api - */ - public function add($messages, $domain = 'messages'); - - /** - * Merges translations from the given Catalogue into the current one. - * - * The two catalogues must have the same locale. - * - * @param MessageCatalogueInterface $catalogue A MessageCatalogueInterface instance - * - * @api - */ - public function addCatalogue(MessageCatalogueInterface $catalogue); - - /** - * Merges translations from the given Catalogue into the current one - * only when the translation does not exist. - * - * This is used to provide default translations when they do not exist for the current locale. - * - * @param MessageCatalogueInterface $catalogue A MessageCatalogueInterface instance - * - * @api - */ - public function addFallbackCatalogue(MessageCatalogueInterface $catalogue); - - /** - * Gets the fallback catalogue. - * - * @return MessageCatalogueInterface|null A MessageCatalogueInterface instance or null when no fallback has been set - * - * @api - */ - public function getFallbackCatalogue(); - - /** - * Returns an array of resources loaded to build this collection. - * - * @return ResourceInterface[] An array of resources - * - * @api - */ - public function getResources(); - - /** - * Adds a resource for this collection. - * - * @param ResourceInterface $resource A resource instance - * - * @api - */ - public function addResource(ResourceInterface $resource); -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php b/vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php deleted file mode 100644 index 9f5430c..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php +++ /dev/null @@ -1,90 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -/** - * MessageSelector. - * - * @author Fabien Potencier - * @author Bernhard Schussek - * - * @api - */ -class MessageSelector -{ - /** - * Given a message with different plural translations separated by a - * pipe (|), this method returns the correct portion of the message based - * on the given number, locale and the pluralization rules in the message - * itself. - * - * The message supports two different types of pluralization rules: - * - * interval: {0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples - * indexed: There is one apple|There are %count% apples - * - * The indexed solution can also contain labels (e.g. one: There is one apple). - * This is purely for making the translations more clear - it does not - * affect the functionality. - * - * The two methods can also be mixed: - * {0} There are no apples|one: There is one apple|more: There are %count% apples - * - * @param string $message The message being translated - * @param int $number The number of items represented for the message - * @param string $locale The locale to use for choosing - * - * @return string - * - * @throws \InvalidArgumentException - * - * @api - */ - public function choose($message, $number, $locale) - { - $parts = explode('|', $message); - $explicitRules = array(); - $standardRules = array(); - foreach ($parts as $part) { - $part = trim($part); - - if (preg_match('/^(?P'.Interval::getIntervalRegexp().')\s*(?P.*?)$/x', $part, $matches)) { - $explicitRules[$matches['interval']] = $matches['message']; - } elseif (preg_match('/^\w+\:\s*(.*?)$/', $part, $matches)) { - $standardRules[] = $matches[1]; - } else { - $standardRules[] = $part; - } - } - - // try to match an explicit rule, then fallback to the standard ones - foreach ($explicitRules as $interval => $m) { - if (Interval::test($number, $interval)) { - return $m; - } - } - - $position = PluralizationRules::get($number, $locale); - - if (!isset($standardRules[$position])) { - // when there's exactly one rule given, and that rule is a standard - // rule, use this rule - if (1 === count($parts) && isset($standardRules[0])) { - return $standardRules[0]; - } - - throw new \InvalidArgumentException(sprintf('Unable to choose a translation for "%s" with locale "%s" for value "%d". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").', $message, $locale, $number)); - } - - return $standardRules[$position]; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/MetadataAwareInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/MetadataAwareInterface.php deleted file mode 100644 index e93c6fb..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/MetadataAwareInterface.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -/** - * MetadataAwareInterface. - * - * @author Fabien Potencier - */ -interface MetadataAwareInterface -{ - /** - * Gets metadata for the given domain and key. - * - * Passing an empty domain will return an array with all metadata indexed by - * domain and then by key. Passing an empty key will return an array with all - * metadata for the given domain. - * - * @param string $key The key - * @param string $domain The domain name - * - * @return mixed The value that was set or an array with the domains/keys or null - */ - public function getMetadata($key = '', $domain = 'messages'); - - /** - * Adds metadata to a message domain. - * - * @param string $key The key - * @param mixed $value The value - * @param string $domain The domain name - */ - public function setMetadata($key, $value, $domain = 'messages'); - - /** - * Deletes metadata for the given key and domain. - * - * Passing an empty domain will delete all metadata. Passing an empty key will - * delete all metadata for the given domain. - * - * @param string $key The key - * @param string $domain The domain name - */ - public function deleteMetadata($key = '', $domain = 'messages'); -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/PluralizationRules.php b/vendor/symfony/translation/Symfony/Component/Translation/PluralizationRules.php deleted file mode 100644 index e1eac82..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/PluralizationRules.php +++ /dev/null @@ -1,214 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -/** - * Returns the plural rules for a given locale. - * - * @author Fabien Potencier - */ -class PluralizationRules -{ - private static $rules = array(); - - /** - * Returns the plural position to use for the given locale and number. - * - * @param int $number The number - * @param string $locale The locale - * - * @return int The plural position - */ - public static function get($number, $locale) - { - if ('pt_BR' === $locale) { - // temporary set a locale for brazilian - $locale = 'xbr'; - } - - if (strlen($locale) > 3) { - $locale = substr($locale, 0, -strlen(strrchr($locale, '_'))); - } - - if (isset(self::$rules[$locale])) { - $return = call_user_func(self::$rules[$locale], $number); - - if (!is_int($return) || $return < 0) { - return 0; - } - - return $return; - } - - /* - * The plural rules are derived from code of the Zend Framework (2010-09-25), - * which is subject to the new BSD license (http://framework.zend.com/license/new-bsd). - * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) - */ - switch ($locale) { - case 'bo': - case 'dz': - case 'id': - case 'ja': - case 'jv': - case 'ka': - case 'km': - case 'kn': - case 'ko': - case 'ms': - case 'th': - case 'tr': - case 'vi': - case 'zh': - return 0; - break; - - case 'af': - case 'az': - case 'bn': - case 'bg': - case 'ca': - case 'da': - case 'de': - case 'el': - case 'en': - case 'eo': - case 'es': - case 'et': - case 'eu': - case 'fa': - case 'fi': - case 'fo': - case 'fur': - case 'fy': - case 'gl': - case 'gu': - case 'ha': - case 'he': - case 'hu': - case 'is': - case 'it': - case 'ku': - case 'lb': - case 'ml': - case 'mn': - case 'mr': - case 'nah': - case 'nb': - case 'ne': - case 'nl': - case 'nn': - case 'no': - case 'om': - case 'or': - case 'pa': - case 'pap': - case 'ps': - case 'pt': - case 'so': - case 'sq': - case 'sv': - case 'sw': - case 'ta': - case 'te': - case 'tk': - case 'ur': - case 'zu': - return ($number == 1) ? 0 : 1; - - case 'am': - case 'bh': - case 'fil': - case 'fr': - case 'gun': - case 'hi': - case 'ln': - case 'mg': - case 'nso': - case 'xbr': - case 'ti': - case 'wa': - return (($number == 0) || ($number == 1)) ? 0 : 1; - - case 'be': - case 'bs': - case 'hr': - case 'ru': - case 'sr': - case 'uk': - return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); - - case 'cs': - case 'sk': - return ($number == 1) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2); - - case 'ga': - return ($number == 1) ? 0 : (($number == 2) ? 1 : 2); - - case 'lt': - return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); - - case 'sl': - return ($number % 100 == 1) ? 0 : (($number % 100 == 2) ? 1 : ((($number % 100 == 3) || ($number % 100 == 4)) ? 2 : 3)); - - case 'mk': - return ($number % 10 == 1) ? 0 : 1; - - case 'mt': - return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3)); - - case 'lv': - return ($number == 0) ? 0 : ((($number % 10 == 1) && ($number % 100 != 11)) ? 1 : 2); - - case 'pl': - return ($number == 1) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 1 : 2); - - case 'cy': - return ($number == 1) ? 0 : (($number == 2) ? 1 : ((($number == 8) || ($number == 11)) ? 2 : 3)); - - case 'ro': - return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2); - - case 'ar': - return ($number == 0) ? 0 : (($number == 1) ? 1 : (($number == 2) ? 2 : ((($number % 100 >= 3) && ($number % 100 <= 10)) ? 3 : ((($number % 100 >= 11) && ($number % 100 <= 99)) ? 4 : 5)))); - - default: - return 0; - } - } - - /** - * Overrides the default plural rule for a given locale. - * - * @param string $rule A PHP callable - * @param string $locale The locale - * - * @throws \LogicException - */ - public static function set($rule, $locale) - { - if ('pt_BR' === $locale) { - // temporary set a locale for brazilian - $locale = 'xbr'; - } - - if (strlen($locale) > 3) { - $locale = substr($locale, 0, -strlen(strrchr($locale, '_'))); - } - - if (!is_callable($rule)) { - throw new \LogicException('The given rule can not be called'); - } - - self::$rules[$locale] = $rule; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/README.md b/vendor/symfony/translation/Symfony/Component/Translation/README.md deleted file mode 100644 index 7017062..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/README.md +++ /dev/null @@ -1,37 +0,0 @@ -Translation Component -===================== - -Translation provides tools for loading translation files and generating -translated strings from these including support for pluralization. - -```php -use Symfony\Component\Translation\Translator; -use Symfony\Component\Translation\MessageSelector; -use Symfony\Component\Translation\Loader\ArrayLoader; - -$translator = new Translator('fr_FR', new MessageSelector()); -$translator->setFallbackLocales(array('fr')); -$translator->addLoader('array', new ArrayLoader()); -$translator->addResource('array', array( - 'Hello World!' => 'Bonjour', -), 'fr'); - -echo $translator->trans('Hello World!')."\n"; -``` - -Resources ---------- - -Silex integration: - -https://github.com/fabpot/Silex/blob/master/src/Silex/Provider/TranslationServiceProvider.php - -Documentation: - -http://symfony.com/doc/2.6/book/translation.html - -You can run the unit tests with the following command: - - $ cd path/to/Symfony/Component/Translation/ - $ composer install - $ phpunit diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/AbstractOperationTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/AbstractOperationTest.php deleted file mode 100644 index 30c21af..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/AbstractOperationTest.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Catalogue; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\MessageCatalogueInterface; - -abstract class AbstractOperationTest extends \PHPUnit_Framework_TestCase -{ - public function testGetEmptyDomains() - { - $this->assertEquals( - array(), - $this->createOperation( - new MessageCatalogue('en'), - new MessageCatalogue('en') - )->getDomains() - ); - } - - public function testGetMergedDomains() - { - $this->assertEquals( - array('a', 'b', 'c'), - $this->createOperation( - new MessageCatalogue('en', array('a' => array(), 'b' => array())), - new MessageCatalogue('en', array('b' => array(), 'c' => array())) - )->getDomains() - ); - } - - public function testGetMessagesFromUnknownDomain() - { - $this->setExpectedException('InvalidArgumentException'); - $this->createOperation( - new MessageCatalogue('en'), - new MessageCatalogue('en') - )->getMessages('domain'); - } - - public function testGetEmptyMessages() - { - $this->assertEquals( - array(), - $this->createOperation( - new MessageCatalogue('en', array('a' => array())), - new MessageCatalogue('en') - )->getMessages('a') - ); - } - - public function testGetEmptyResult() - { - $this->assertEquals( - new MessageCatalogue('en'), - $this->createOperation( - new MessageCatalogue('en'), - new MessageCatalogue('en') - )->getResult() - ); - } - - abstract protected function createOperation(MessageCatalogueInterface $source, MessageCatalogueInterface $target); -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/DiffOperationTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/DiffOperationTest.php deleted file mode 100644 index 26bd582..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/DiffOperationTest.php +++ /dev/null @@ -1,82 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Catalogue; - -use Symfony\Component\Translation\Catalogue\DiffOperation; -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\MessageCatalogueInterface; - -class DiffOperationTest extends AbstractOperationTest -{ - public function testGetMessagesFromSingleDomain() - { - $operation = $this->createOperation( - new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))), - new MessageCatalogue('en', array('messages' => array('a' => 'new_a', 'c' => 'new_c'))) - ); - - $this->assertEquals( - array('a' => 'old_a', 'c' => 'new_c'), - $operation->getMessages('messages') - ); - - $this->assertEquals( - array('c' => 'new_c'), - $operation->getNewMessages('messages') - ); - - $this->assertEquals( - array('b' => 'old_b'), - $operation->getObsoleteMessages('messages') - ); - } - - public function testGetResultFromSingleDomain() - { - $this->assertEquals( - new MessageCatalogue('en', array( - 'messages' => array('a' => 'old_a', 'c' => 'new_c'), - )), - $this->createOperation( - new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))), - new MessageCatalogue('en', array('messages' => array('a' => 'new_a', 'c' => 'new_c'))) - )->getResult() - ); - } - - public function testGetResultWithMetadata() - { - $leftCatalogue = new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))); - $leftCatalogue->setMetadata('a', 'foo', 'messages'); - $leftCatalogue->setMetadata('b', 'bar', 'messages'); - $rightCatalogue = new MessageCatalogue('en', array('messages' => array('b' => 'new_b', 'c' => 'new_c'))); - $rightCatalogue->setMetadata('b', 'baz', 'messages'); - $rightCatalogue->setMetadata('c', 'qux', 'messages'); - - $diffCatalogue = new MessageCatalogue('en', array('messages' => array('b' => 'old_b', 'c' => 'new_c'))); - $diffCatalogue->setMetadata('b', 'bar', 'messages'); - $diffCatalogue->setMetadata('c', 'qux', 'messages'); - - $this->assertEquals( - $diffCatalogue, - $this->createOperation( - $leftCatalogue, - $rightCatalogue - )->getResult() - ); - } - - protected function createOperation(MessageCatalogueInterface $source, MessageCatalogueInterface $target) - { - return new DiffOperation($source, $target); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/MergeOperationTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/MergeOperationTest.php deleted file mode 100644 index 8b51c15..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/MergeOperationTest.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Catalogue; - -use Symfony\Component\Translation\Catalogue\MergeOperation; -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\MessageCatalogueInterface; - -class MergeOperationTest extends AbstractOperationTest -{ - public function testGetMessagesFromSingleDomain() - { - $operation = $this->createOperation( - new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))), - new MessageCatalogue('en', array('messages' => array('a' => 'new_a', 'c' => 'new_c'))) - ); - - $this->assertEquals( - array('a' => 'old_a', 'b' => 'old_b', 'c' => 'new_c'), - $operation->getMessages('messages') - ); - - $this->assertEquals( - array('c' => 'new_c'), - $operation->getNewMessages('messages') - ); - - $this->assertEquals( - array(), - $operation->getObsoleteMessages('messages') - ); - } - - public function testGetResultFromSingleDomain() - { - $this->assertEquals( - new MessageCatalogue('en', array( - 'messages' => array('a' => 'old_a', 'b' => 'old_b', 'c' => 'new_c'), - )), - $this->createOperation( - new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))), - new MessageCatalogue('en', array('messages' => array('a' => 'new_a', 'c' => 'new_c'))) - )->getResult() - ); - } - - public function testGetResultWithMetadata() - { - $leftCatalogue = new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))); - $leftCatalogue->setMetadata('a', 'foo', 'messages'); - $leftCatalogue->setMetadata('b', 'bar', 'messages'); - $rightCatalogue = new MessageCatalogue('en', array('messages' => array('b' => 'new_b', 'c' => 'new_c'))); - $rightCatalogue->setMetadata('b', 'baz', 'messages'); - $rightCatalogue->setMetadata('c', 'qux', 'messages'); - - $mergedCatalogue = new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b', 'c' => 'new_c'))); - $mergedCatalogue->setMetadata('a', 'foo', 'messages'); - $mergedCatalogue->setMetadata('b', 'bar', 'messages'); - $mergedCatalogue->setMetadata('c', 'qux', 'messages'); - - $this->assertEquals( - $mergedCatalogue, - $this->createOperation( - $leftCatalogue, - $rightCatalogue - )->getResult() - ); - } - - protected function createOperation(MessageCatalogueInterface $source, MessageCatalogueInterface $target) - { - return new MergeOperation($source, $target); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/CsvFileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/CsvFileDumperTest.php deleted file mode 100644 index 29177ff..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/CsvFileDumperTest.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\CsvFileDumper; - -class CsvFileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar', 'bar' => 'foo -foo', 'foo;foo' => 'bar')); - - $tempDir = sys_get_temp_dir(); - $dumper = new CsvFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir)); - - $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/valid.csv'), file_get_contents($tempDir.'/messages.en.csv')); - - unlink($tempDir.'/messages.en.csv'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/FileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/FileDumperTest.php deleted file mode 100644 index 9682089..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/FileDumperTest.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\FileDumper; - -class FileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDumpBackupsFileIfExisting() - { - $tempDir = sys_get_temp_dir(); - $file = $tempDir.'/messages.en.concrete'; - $backupFile = $file.'~'; - - @touch($file); - - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar')); - - $dumper = new ConcreteFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir)); - - $this->assertTrue(file_exists($backupFile)); - - @unlink($file); - @unlink($backupFile); - } - - public function testDumpCreatesNestedDirectoriesAndFile() - { - $tempDir = sys_get_temp_dir(); - $translationsDir = $tempDir.'/test/translations'; - $file = $translationsDir.'/messages.en.concrete'; - - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar')); - - $dumper = new ConcreteFileDumper(); - $dumper->setRelativePathTemplate('test/translations/%domain%.%locale%.%extension%'); - $dumper->dump($catalogue, array('path' => $tempDir)); - - $this->assertTrue(file_exists($file)); - - @unlink($file); - @rmdir($translationsDir); - } -} - -class ConcreteFileDumper extends FileDumper -{ - protected function format(MessageCatalogue $messages, $domain) - { - return ''; - } - - protected function getExtension() - { - return 'concrete'; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/IcuResFileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/IcuResFileDumperTest.php deleted file mode 100644 index 7be7dfb..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/IcuResFileDumperTest.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\IcuResFileDumper; - -class IcuResFileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - if (!function_exists('mb_convert_encoding')) { - $this->markTestSkipped('This test requires mbstring to work.'); - } - - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar')); - - $tempDir = sys_get_temp_dir().'/IcuResFileDumperTest'; - $dumper = new IcuResFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir)); - - $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resourcebundle/res/en.res'), file_get_contents($tempDir.'/messages/en.res')); - - @unlink($tempDir.'/messages/en.res'); - @rmdir($tempDir.'/messages'); - @rmdir($tempDir); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/IniFileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/IniFileDumperTest.php deleted file mode 100644 index 2a2cefd..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/IniFileDumperTest.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\IniFileDumper; - -class IniFileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar')); - - $tempDir = sys_get_temp_dir(); - $dumper = new IniFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir)); - - $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.ini'), file_get_contents($tempDir.'/messages.en.ini')); - - unlink($tempDir.'/messages.en.ini'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/JsonFileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/JsonFileDumperTest.php deleted file mode 100644 index 697cd93..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/JsonFileDumperTest.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\JsonFileDumper; - -class JsonFileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - if (PHP_VERSION_ID < 50400) { - $this->markTestIncomplete('PHP below 5.4 doesn\'t support JSON pretty printing'); - } - - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar')); - - $tempDir = sys_get_temp_dir(); - $dumper = new JsonFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir)); - - $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.json'), file_get_contents($tempDir.'/messages.en.json')); - - unlink($tempDir.'/messages.en.json'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/MoFileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/MoFileDumperTest.php deleted file mode 100644 index 439a25c..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/MoFileDumperTest.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\MoFileDumper; - -class MoFileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar')); - - $tempDir = sys_get_temp_dir(); - $dumper = new MoFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir)); - $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.mo'), file_get_contents($tempDir.'/messages.en.mo')); - - unlink($tempDir.'/messages.en.mo'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/PhpFileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/PhpFileDumperTest.php deleted file mode 100644 index 18be5a0..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/PhpFileDumperTest.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\PhpFileDumper; - -class PhpFileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar')); - - $tempDir = sys_get_temp_dir(); - $dumper = new PhpFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir)); - - $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.php'), file_get_contents($tempDir.'/messages.en.php')); - - unlink($tempDir.'/messages.en.php'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/PoFileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/PoFileDumperTest.php deleted file mode 100644 index 0296d6b..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/PoFileDumperTest.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\PoFileDumper; - -class PoFileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar')); - - $tempDir = sys_get_temp_dir(); - $dumper = new PoFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir)); - $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.po'), file_get_contents($tempDir.'/messages.en.po')); - - unlink($tempDir.'/messages.en.po'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/QtFileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/QtFileDumperTest.php deleted file mode 100644 index d7d8fb7..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/QtFileDumperTest.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\QtFileDumper; - -class QtFileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar'), 'resources'); - - $tempDir = sys_get_temp_dir(); - $dumper = new QtFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir)); - - $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.ts'), file_get_contents($tempDir.'/resources.en.ts')); - - unlink($tempDir.'/resources.en.ts'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/XliffFileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/XliffFileDumperTest.php deleted file mode 100644 index dff2cc4..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/XliffFileDumperTest.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\XliffFileDumper; - -class XliffFileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - $catalogue = new MessageCatalogue('en_US'); - $catalogue->add(array( - 'foo' => 'bar', - 'key' => '', - 'key.with.cdata' => ' & ', - )); - $catalogue->setMetadata('foo', array('notes' => array(array('priority' => 1, 'from' => 'bar', 'content' => 'baz')))); - $catalogue->setMetadata('key', array('notes' => array(array('content' => 'baz'), array('content' => 'qux')))); - - $tempDir = sys_get_temp_dir(); - $dumper = new XliffFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir, 'default_locale' => 'fr_FR')); - - $this->assertEquals( - file_get_contents(__DIR__.'/../fixtures/resources-clean.xlf'), - file_get_contents($tempDir.'/messages.en_US.xlf') - ); - - unlink($tempDir.'/messages.en_US.xlf'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/YamlFileDumperTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/YamlFileDumperTest.php deleted file mode 100644 index 3c68ade..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/YamlFileDumperTest.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\YamlFileDumper; - -class YamlFileDumperTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - $catalogue = new MessageCatalogue('en'); - $catalogue->add(array('foo' => 'bar')); - - $tempDir = sys_get_temp_dir(); - $dumper = new YamlFileDumper(); - $dumper->dump($catalogue, array('path' => $tempDir)); - - $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.yml'), file_get_contents($tempDir.'/messages.en.yml')); - - unlink($tempDir.'/messages.en.yml'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/IdentityTranslatorTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/IdentityTranslatorTest.php deleted file mode 100644 index 352dd31..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/IdentityTranslatorTest.php +++ /dev/null @@ -1,95 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests; - -use Symfony\Component\Intl\Util\IntlTestHelper; -use Symfony\Component\Translation\IdentityTranslator; - -class IdentityTranslatorTest extends \PHPUnit_Framework_TestCase -{ - /** - * @dataProvider getTransTests - */ - public function testTrans($expected, $id, $parameters) - { - $translator = new IdentityTranslator(); - - $this->assertEquals($expected, $translator->trans($id, $parameters)); - } - - /** - * @dataProvider getTransChoiceTests - */ - public function testTransChoiceWithExplicitLocale($expected, $id, $number, $parameters) - { - $translator = new IdentityTranslator(); - $translator->setLocale('en'); - - $this->assertEquals($expected, $translator->transChoice($id, $number, $parameters)); - } - - /** - * @dataProvider getTransChoiceTests - */ - public function testTransChoiceWithDefaultLocale($expected, $id, $number, $parameters) - { - \Locale::setDefault('en'); - - $translator = new IdentityTranslator(); - - $this->assertEquals($expected, $translator->transChoice($id, $number, $parameters)); - } - - public function testGetSetLocale() - { - $translator = new IdentityTranslator(); - $translator->setLocale('en'); - - $this->assertEquals('en', $translator->getLocale()); - } - - public function testGetLocaleReturnsDefaultLocaleIfNotSet() - { - // in order to test with "pt_BR" - IntlTestHelper::requireFullIntl($this); - - $translator = new IdentityTranslator(); - - \Locale::setDefault('en'); - $this->assertEquals('en', $translator->getLocale()); - - \Locale::setDefault('pt_BR'); - $this->assertEquals('pt_BR', $translator->getLocale()); - } - - public function getTransTests() - { - return array( - array('Symfony is great!', 'Symfony is great!', array()), - array('Symfony is awesome!', 'Symfony is %what%!', array('%what%' => 'awesome')), - ); - } - - public function getTransChoiceTests() - { - return array( - array('There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0, array('%count%' => 0)), - array('There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1, array('%count%' => 1)), - array('There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10, array('%count%' => 10)), - array('There are 0 apples', 'There is 1 apple|There are %count% apples', 0, array('%count%' => 0)), - array('There is 1 apple', 'There is 1 apple|There are %count% apples', 1, array('%count%' => 1)), - array('There are 10 apples', 'There is 1 apple|There are %count% apples', 10, array('%count%' => 10)), - // custom validation messages may be coded with a fixed value - array('There are 2 apples', 'There are 2 apples', 2, array('%count%' => 2)), - ); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/IntervalTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/IntervalTest.php deleted file mode 100644 index 075c98b..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/IntervalTest.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests; - -use Symfony\Component\Translation\Interval; - -class IntervalTest extends \PHPUnit_Framework_TestCase -{ - /** - * @dataProvider getTests - */ - public function testTest($expected, $number, $interval) - { - $this->assertEquals($expected, Interval::test($number, $interval)); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testTestException() - { - Interval::test(1, 'foobar'); - } - - public function getTests() - { - return array( - array(true, 3, '{1,2, 3 ,4}'), - array(false, 10, '{1,2, 3 ,4}'), - array(false, 3, '[1,2]'), - array(true, 1, '[1,2]'), - array(true, 2, '[1,2]'), - array(false, 1, ']1,2['), - array(false, 2, ']1,2['), - array(true, log(0), '[-Inf,2['), - array(true, -log(0), '[-2,+Inf]'), - ); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/CsvFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/CsvFileLoaderTest.php deleted file mode 100644 index 463d3b5..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/CsvFileLoaderTest.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\CsvFileLoader; -use Symfony\Component\Config\Resource\FileResource; - -class CsvFileLoaderTest extends \PHPUnit_Framework_TestCase -{ - public function testLoad() - { - $loader = new CsvFileLoader(); - $resource = __DIR__.'/../fixtures/resources.csv'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - public function testLoadDoesNothingIfEmpty() - { - $loader = new CsvFileLoader(); - $resource = __DIR__.'/../fixtures/empty.csv'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array(), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new CsvFileLoader(); - $resource = __DIR__.'/../fixtures/not-exists.csv'; - $loader->load($resource, 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadNonLocalResource() - { - $loader = new CsvFileLoader(); - $resource = 'http://example.com/resources.csv'; - $loader->load($resource, 'en', 'domain1'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IcuDatFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IcuDatFileLoaderTest.php deleted file mode 100644 index ea9643d..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IcuDatFileLoaderTest.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\IcuDatFileLoader; -use Symfony\Component\Config\Resource\FileResource; - -class IcuDatFileLoaderTest extends LocalizedTestCase -{ - protected function setUp() - { - if (!extension_loaded('intl')) { - $this->markTestSkipped('This test requires intl extension to work.'); - } - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadInvalidResource() - { - $loader = new IcuDatFileLoader(); - $loader->load(__DIR__.'/../fixtures/resourcebundle/corrupted/resources', 'es', 'domain2'); - } - - public function testDatEnglishLoad() - { - // bundled resource is build using pkgdata command which at least in ICU 4.2 comes in extremely! buggy form - // you must specify an temporary build directory which is not the same as current directory and - // MUST reside on the same partition. pkgdata -p resources -T /srv -d.packagelist.txt - $loader = new IcuDatFileLoader(); - $resource = __DIR__.'/../fixtures/resourcebundle/dat/resources'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('symfony' => 'Symfony 2 is great'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource.'.dat')), $catalogue->getResources()); - } - - public function testDatFrenchLoad() - { - $loader = new IcuDatFileLoader(); - $resource = __DIR__.'/../fixtures/resourcebundle/dat/resources'; - $catalogue = $loader->load($resource, 'fr', 'domain1'); - - $this->assertEquals(array('symfony' => 'Symfony 2 est génial'), $catalogue->all('domain1')); - $this->assertEquals('fr', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource.'.dat')), $catalogue->getResources()); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new IcuDatFileLoader(); - $loader->load(__DIR__.'/../fixtures/non-existing.txt', 'en', 'domain1'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IcuResFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IcuResFileLoaderTest.php deleted file mode 100644 index 1a935c0..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IcuResFileLoaderTest.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\IcuResFileLoader; -use Symfony\Component\Config\Resource\DirectoryResource; - -class IcuResFileLoaderTest extends LocalizedTestCase -{ - protected function setUp() - { - if (!extension_loaded('intl')) { - $this->markTestSkipped('This test requires intl extension to work.'); - } - } - - public function testLoad() - { - // resource is build using genrb command - $loader = new IcuResFileLoader(); - $resource = __DIR__.'/../fixtures/resourcebundle/res'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new DirectoryResource($resource)), $catalogue->getResources()); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new IcuResFileLoader(); - $loader->load(__DIR__.'/../fixtures/non-existing.txt', 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadInvalidResource() - { - $loader = new IcuResFileLoader(); - $loader->load(__DIR__.'/../fixtures/resourcebundle/corrupted', 'en', 'domain1'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IniFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IniFileLoaderTest.php deleted file mode 100644 index 1a5de0e..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IniFileLoaderTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\IniFileLoader; -use Symfony\Component\Config\Resource\FileResource; - -class IniFileLoaderTest extends \PHPUnit_Framework_TestCase -{ - public function testLoad() - { - $loader = new IniFileLoader(); - $resource = __DIR__.'/../fixtures/resources.ini'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - public function testLoadDoesNothingIfEmpty() - { - $loader = new IniFileLoader(); - $resource = __DIR__.'/../fixtures/empty.ini'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array(), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new IniFileLoader(); - $resource = __DIR__.'/../fixtures/non-existing.ini'; - $loader->load($resource, 'en', 'domain1'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/JsonFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/JsonFileLoaderTest.php deleted file mode 100644 index 6d4f353..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/JsonFileLoaderTest.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\JsonFileLoader; -use Symfony\Component\Config\Resource\FileResource; - -class JsonFileLoaderTest extends \PHPUnit_Framework_TestCase -{ - protected function setUp() - { - if (!class_exists('Symfony\Component\Config\Loader\Loader')) { - $this->markTestSkipped('The "Config" component is not available'); - } - } - - public function testLoad() - { - $loader = new JsonFileLoader(); - $resource = __DIR__.'/../fixtures/resources.json'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - public function testLoadDoesNothingIfEmpty() - { - $loader = new JsonFileLoader(); - $resource = __DIR__.'/../fixtures/empty.json'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array(), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new JsonFileLoader(); - $resource = __DIR__.'/../fixtures/non-existing.json'; - $loader->load($resource, 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - * @expectedExceptionMessage Error parsing JSON - Syntax error, malformed JSON - */ - public function testParseException() - { - $loader = new JsonFileLoader(); - $resource = __DIR__.'/../fixtures/malformed.json'; - $loader->load($resource, 'en', 'domain1'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/LocalizedTestCase.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/LocalizedTestCase.php deleted file mode 100644 index 9d7c5d7..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/LocalizedTestCase.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -abstract class LocalizedTestCase extends \PHPUnit_Framework_TestCase -{ - protected function setUp() - { - if (!extension_loaded('intl')) { - $this->markTestSkipped('The "intl" extension is not available'); - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/MoFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/MoFileLoaderTest.php deleted file mode 100644 index 34078d0..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/MoFileLoaderTest.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\MoFileLoader; -use Symfony\Component\Config\Resource\FileResource; - -class MoFileLoaderTest extends \PHPUnit_Framework_TestCase -{ - public function testLoad() - { - $loader = new MoFileLoader(); - $resource = __DIR__.'/../fixtures/resources.mo'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - public function testLoadPlurals() - { - $loader = new MoFileLoader(); - $resource = __DIR__.'/../fixtures/plurals.mo'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar', 'foos' => '{0} bar|{1} bars'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new MoFileLoader(); - $resource = __DIR__.'/../fixtures/non-existing.mo'; - $loader->load($resource, 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadInvalidResource() - { - $loader = new MoFileLoader(); - $resource = __DIR__.'/../fixtures/empty.mo'; - $loader->load($resource, 'en', 'domain1'); - } - - public function testLoadEmptyTranslation() - { - $loader = new MoFileLoader(); - $resource = __DIR__.'/../fixtures/empty-translation.mo'; - $catalogue = $loader->load($resource, 'en', 'message'); - - $this->assertEquals(array(), $catalogue->all('message')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/PhpFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/PhpFileLoaderTest.php deleted file mode 100644 index 0816b0f..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/PhpFileLoaderTest.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\PhpFileLoader; -use Symfony\Component\Config\Resource\FileResource; - -class PhpFileLoaderTest extends \PHPUnit_Framework_TestCase -{ - public function testLoad() - { - $loader = new PhpFileLoader(); - $resource = __DIR__.'/../fixtures/resources.php'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new PhpFileLoader(); - $resource = __DIR__.'/../fixtures/non-existing.php'; - $loader->load($resource, 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadThrowsAnExceptionIfFileNotLocal() - { - $loader = new PhpFileLoader(); - $resource = 'http://example.com/resources.php'; - $loader->load($resource, 'en', 'domain1'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/PoFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/PoFileLoaderTest.php deleted file mode 100644 index 87090eb..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/PoFileLoaderTest.php +++ /dev/null @@ -1,96 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\PoFileLoader; -use Symfony\Component\Config\Resource\FileResource; - -class PoFileLoaderTest extends \PHPUnit_Framework_TestCase -{ - public function testLoad() - { - $loader = new PoFileLoader(); - $resource = __DIR__.'/../fixtures/resources.po'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - public function testLoadPlurals() - { - $loader = new PoFileLoader(); - $resource = __DIR__.'/../fixtures/plurals.po'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar', 'foos' => 'bar|bars'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - public function testLoadDoesNothingIfEmpty() - { - $loader = new PoFileLoader(); - $resource = __DIR__.'/../fixtures/empty.po'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array(), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new PoFileLoader(); - $resource = __DIR__.'/../fixtures/non-existing.po'; - $loader->load($resource, 'en', 'domain1'); - } - - public function testLoadEmptyTranslation() - { - $loader = new PoFileLoader(); - $resource = __DIR__.'/../fixtures/empty-translation.po'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => ''), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - public function testEscapedId() - { - $loader = new PoFileLoader(); - $resource = __DIR__.'/../fixtures/escaped-id.po'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $messages = $catalogue->all('domain1'); - $this->assertArrayHasKey('escaped "foo"', $messages); - $this->assertEquals('escaped "bar"', $messages['escaped "foo"']); - } - - public function testEscapedIdPlurals() - { - $loader = new PoFileLoader(); - $resource = __DIR__.'/../fixtures/escaped-id-plurals.po'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $messages = $catalogue->all('domain1'); - $this->assertArrayHasKey('escaped "foo"', $messages); - $this->assertArrayHasKey('escaped "foos"', $messages); - $this->assertEquals('escaped "bar"', $messages['escaped "foo"']); - $this->assertEquals('escaped "bar"|escaped "bars"', $messages['escaped "foos"']); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/QtFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/QtFileLoaderTest.php deleted file mode 100644 index 3aca86a..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/QtFileLoaderTest.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\QtFileLoader; -use Symfony\Component\Config\Resource\FileResource; - -class QtFileLoaderTest extends \PHPUnit_Framework_TestCase -{ - public function testLoad() - { - $loader = new QtFileLoader(); - $resource = __DIR__.'/../fixtures/resources.ts'; - $catalogue = $loader->load($resource, 'en', 'resources'); - - $this->assertEquals(array('foo' => 'bar'), $catalogue->all('resources')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new QtFileLoader(); - $resource = __DIR__.'/../fixtures/non-existing.ts'; - $loader->load($resource, 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadNonLocalResource() - { - $loader = new QtFileLoader(); - $resource = 'http://domain1.com/resources.ts'; - $loader->load($resource, 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadInvalidResource() - { - $loader = new QtFileLoader(); - $resource = __DIR__.'/../fixtures/invalid-xml-resources.xlf'; - $loader->load($resource, 'en', 'domain1'); - } - - public function testLoadEmptyResource() - { - $loader = new QtFileLoader(); - $resource = __DIR__.'/../fixtures/empty.xlf'; - $this->setExpectedException('Symfony\Component\Translation\Exception\InvalidResourceException', sprintf('Unable to load "%s".', $resource)); - $loader->load($resource, 'en', 'domain1'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php deleted file mode 100644 index c3d65b4..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php +++ /dev/null @@ -1,142 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\XliffFileLoader; -use Symfony\Component\Config\Resource\FileResource; - -class XliffFileLoaderTest extends \PHPUnit_Framework_TestCase -{ - public function testLoad() - { - $loader = new XliffFileLoader(); - $resource = __DIR__.'/../fixtures/resources.xlf'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - $this->assertSame(array(), libxml_get_errors()); - } - - public function testLoadWithInternalErrorsEnabled() - { - libxml_use_internal_errors(true); - - $this->assertSame(array(), libxml_get_errors()); - - $loader = new XliffFileLoader(); - $resource = __DIR__.'/../fixtures/resources.xlf'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - $this->assertSame(array(), libxml_get_errors()); - } - - public function testLoadWithResname() - { - $loader = new XliffFileLoader(); - $catalogue = $loader->load(__DIR__.'/../fixtures/resname.xlf', 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar', 'bar' => 'baz', 'baz' => 'foo'), $catalogue->all('domain1')); - } - - public function testIncompleteResource() - { - $loader = new XliffFileLoader(); - $catalogue = $loader->load(__DIR__.'/../fixtures/resources.xlf', 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar', 'key' => '', 'test' => 'with'), $catalogue->all('domain1')); - $this->assertFalse($catalogue->has('extra', 'domain1')); - } - - public function testEncoding() - { - if (!function_exists('iconv') && !function_exists('mb_convert_encoding')) { - $this->markTestSkipped('The iconv and mbstring extensions are not available.'); - } - - $loader = new XliffFileLoader(); - $catalogue = $loader->load(__DIR__.'/../fixtures/encoding.xlf', 'en', 'domain1'); - - $this->assertEquals(utf8_decode('föö'), $catalogue->get('bar', 'domain1')); - $this->assertEquals(utf8_decode('bär'), $catalogue->get('foo', 'domain1')); - $this->assertEquals(array('notes' => array(array('content' => utf8_decode('bäz')))), $catalogue->getMetadata('foo', 'domain1')); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadInvalidResource() - { - $loader = new XliffFileLoader(); - $loader->load(__DIR__.'/../fixtures/resources.php', 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadResourceDoesNotValidate() - { - $loader = new XliffFileLoader(); - $loader->load(__DIR__.'/../fixtures/non-valid.xlf', 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new XliffFileLoader(); - $resource = __DIR__.'/../fixtures/non-existing.xlf'; - $loader->load($resource, 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadThrowsAnExceptionIfFileNotLocal() - { - $loader = new XliffFileLoader(); - $resource = 'http://example.com/resources.xlf'; - $loader->load($resource, 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - * @expectedExceptionMessage Document types are not allowed. - */ - public function testDocTypeIsNotAllowed() - { - $loader = new XliffFileLoader(); - $loader->load(__DIR__.'/../fixtures/withdoctype.xlf', 'en', 'domain1'); - } - - public function testParseEmptyFile() - { - $loader = new XliffFileLoader(); - $resource = __DIR__.'/../fixtures/empty.xlf'; - $this->setExpectedException('Symfony\Component\Translation\Exception\InvalidResourceException', sprintf('Unable to load "%s":', $resource)); - $loader->load($resource, 'en', 'domain1'); - } - - public function testLoadNotes() - { - $loader = new XliffFileLoader(); - $catalogue = $loader->load(__DIR__.'/../fixtures/withnote.xlf', 'en', 'domain1'); - - $this->assertEquals(array('notes' => array(array('priority' => 1, 'content' => 'foo'))), $catalogue->getMetadata('foo', 'domain1')); - // message without target - $this->assertNull($catalogue->getMetadata('extra', 'domain1')); - $this->assertEquals(array('notes' => array(array('content' => 'baz'), array('priority' => 2, 'from' => 'bar', 'content' => 'qux'))), $catalogue->getMetadata('key', 'domain1')); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/YamlFileLoaderTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/YamlFileLoaderTest.php deleted file mode 100644 index 00f7163..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/YamlFileLoaderTest.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests\Loader; - -use Symfony\Component\Translation\Loader\YamlFileLoader; -use Symfony\Component\Config\Resource\FileResource; - -class YamlFileLoaderTest extends \PHPUnit_Framework_TestCase -{ - public function testLoad() - { - $loader = new YamlFileLoader(); - $resource = __DIR__.'/../fixtures/resources.yml'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - public function testLoadDoesNothingIfEmpty() - { - $loader = new YamlFileLoader(); - $resource = __DIR__.'/../fixtures/empty.yml'; - $catalogue = $loader->load($resource, 'en', 'domain1'); - - $this->assertEquals(array(), $catalogue->all('domain1')); - $this->assertEquals('en', $catalogue->getLocale()); - $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testLoadNonExistingResource() - { - $loader = new YamlFileLoader(); - $resource = __DIR__.'/../fixtures/non-existing.yml'; - $loader->load($resource, 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadThrowsAnExceptionIfFileNotLocal() - { - $loader = new YamlFileLoader(); - $resource = 'http://example.com/resources.yml'; - $loader->load($resource, 'en', 'domain1'); - } - - /** - * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException - */ - public function testLoadThrowsAnExceptionIfNotAnArray() - { - $loader = new YamlFileLoader(); - $resource = __DIR__.'/../fixtures/non-valid.yml'; - $loader->load($resource, 'en', 'domain1'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/LoggingTranslatorTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/LoggingTranslatorTest.php deleted file mode 100644 index ab98d72..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/LoggingTranslatorTest.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests; - -use Symfony\Component\Translation\Translator; -use Symfony\Component\Translation\LoggingTranslator; -use Symfony\Component\Translation\Loader\ArrayLoader; - -class LoggingTranslatorTest extends \PHPUnit_Framework_TestCase -{ - protected function setUp() - { - if (!interface_exists('Psr\Log\LoggerInterface')) { - $this->markTestSkipped('The "LoggerInterface" is not available'); - } - } - - public function testTransWithNoTranslationIsLogged() - { - $logger = $this->getMock('Psr\Log\LoggerInterface'); - $logger->expects($this->exactly(2)) - ->method('warning') - ->with('Translation not found.') - ; - - $translator = new Translator('ar'); - $loggableTranslator = new LoggingTranslator($translator, $logger); - $loggableTranslator->transChoice('some_message2', 10, array('%count%' => 10)); - $loggableTranslator->trans('bar'); - } - - public function testTransChoiceFallbackIsLogged() - { - $logger = $this->getMock('Psr\Log\LoggerInterface'); - $logger->expects($this->once()) - ->method('debug') - ->with('Translation use fallback catalogue.') - ; - - $translator = new Translator('ar'); - $translator->setFallbackLocales(array('en')); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('some_message2' => 'one thing|%count% things'), 'en'); - $loggableTranslator = new LoggingTranslator($translator, $logger); - $loggableTranslator->transChoice('some_message2', 10, array('%count%' => 10)); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/MessageCatalogueTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/MessageCatalogueTest.php deleted file mode 100644 index 7d95655..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/MessageCatalogueTest.php +++ /dev/null @@ -1,200 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests; - -use Symfony\Component\Translation\MessageCatalogue; - -class MessageCatalogueTest extends \PHPUnit_Framework_TestCase -{ - public function testGetLocale() - { - $catalogue = new MessageCatalogue('en'); - - $this->assertEquals('en', $catalogue->getLocale()); - } - - public function testGetDomains() - { - $catalogue = new MessageCatalogue('en', array('domain1' => array(), 'domain2' => array())); - - $this->assertEquals(array('domain1', 'domain2'), $catalogue->getDomains()); - } - - public function testAll() - { - $catalogue = new MessageCatalogue('en', $messages = array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); - - $this->assertEquals(array('foo' => 'foo'), $catalogue->all('domain1')); - $this->assertEquals(array(), $catalogue->all('domain88')); - $this->assertEquals($messages, $catalogue->all()); - } - - public function testHas() - { - $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); - - $this->assertTrue($catalogue->has('foo', 'domain1')); - $this->assertFalse($catalogue->has('bar', 'domain1')); - $this->assertFalse($catalogue->has('foo', 'domain88')); - } - - public function testGetSet() - { - $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); - $catalogue->set('foo1', 'foo1', 'domain1'); - - $this->assertEquals('foo', $catalogue->get('foo', 'domain1')); - $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); - } - - public function testAdd() - { - $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); - $catalogue->add(array('foo1' => 'foo1'), 'domain1'); - - $this->assertEquals('foo', $catalogue->get('foo', 'domain1')); - $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); - - $catalogue->add(array('foo' => 'bar'), 'domain1'); - $this->assertEquals('bar', $catalogue->get('foo', 'domain1')); - $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); - - $catalogue->add(array('foo' => 'bar'), 'domain88'); - $this->assertEquals('bar', $catalogue->get('foo', 'domain88')); - } - - public function testReplace() - { - $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); - $catalogue->replace($messages = array('foo1' => 'foo1'), 'domain1'); - - $this->assertEquals($messages, $catalogue->all('domain1')); - } - - public function testAddCatalogue() - { - $r = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); - $r->expects($this->any())->method('__toString')->will($this->returnValue('r')); - - $r1 = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); - $r1->expects($this->any())->method('__toString')->will($this->returnValue('r1')); - - $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); - $catalogue->addResource($r); - - $catalogue1 = new MessageCatalogue('en', array('domain1' => array('foo1' => 'foo1'))); - $catalogue1->addResource($r1); - - $catalogue->addCatalogue($catalogue1); - - $this->assertEquals('foo', $catalogue->get('foo', 'domain1')); - $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); - - $this->assertEquals(array($r, $r1), $catalogue->getResources()); - } - - public function testAddFallbackCatalogue() - { - $r = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); - $r->expects($this->any())->method('__toString')->will($this->returnValue('r')); - - $r1 = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); - $r1->expects($this->any())->method('__toString')->will($this->returnValue('r1')); - - $catalogue = new MessageCatalogue('en_US', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); - $catalogue->addResource($r); - - $catalogue1 = new MessageCatalogue('en', array('domain1' => array('foo' => 'bar', 'foo1' => 'foo1'))); - $catalogue1->addResource($r1); - - $catalogue->addFallbackCatalogue($catalogue1); - - $this->assertEquals('foo', $catalogue->get('foo', 'domain1')); - $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); - - $this->assertEquals(array($r, $r1), $catalogue->getResources()); - } - - /** - * @expectedException \LogicException - */ - public function testAddFallbackCatalogueWithCircularReference() - { - $main = new MessageCatalogue('en_US'); - $fallback = new MessageCatalogue('fr_FR'); - - $fallback->addFallbackCatalogue($main); - $main->addFallbackCatalogue($fallback); - } - - /** - * @expectedException \LogicException - */ - public function testAddCatalogueWhenLocaleIsNotTheSameAsTheCurrentOne() - { - $catalogue = new MessageCatalogue('en'); - $catalogue->addCatalogue(new MessageCatalogue('fr', array())); - } - - public function testGetAddResource() - { - $catalogue = new MessageCatalogue('en'); - $r = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); - $r->expects($this->any())->method('__toString')->will($this->returnValue('r')); - $catalogue->addResource($r); - $catalogue->addResource($r); - $r1 = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); - $r1->expects($this->any())->method('__toString')->will($this->returnValue('r1')); - $catalogue->addResource($r1); - - $this->assertEquals(array($r, $r1), $catalogue->getResources()); - } - - public function testMetadataDelete() - { - $catalogue = new MessageCatalogue('en'); - $this->assertEquals(array(), $catalogue->getMetadata('', ''), 'Metadata is empty'); - $catalogue->deleteMetadata('key', 'messages'); - $catalogue->deleteMetadata('', 'messages'); - $catalogue->deleteMetadata(); - } - - public function testMetadataSetGetDelete() - { - $catalogue = new MessageCatalogue('en'); - $catalogue->setMetadata('key', 'value'); - $this->assertEquals('value', $catalogue->getMetadata('key', 'messages'), "Metadata 'key' = 'value'"); - - $catalogue->setMetadata('key2', array()); - $this->assertEquals(array(), $catalogue->getMetadata('key2', 'messages'), 'Metadata key2 is array'); - - $catalogue->deleteMetadata('key2', 'messages'); - $this->assertEquals(null, $catalogue->getMetadata('key2', 'messages'), 'Metadata key2 should is deleted.'); - - $catalogue->deleteMetadata('key2', 'domain'); - $this->assertEquals(null, $catalogue->getMetadata('key2', 'domain'), 'Metadata key2 should is deleted.'); - } - - public function testMetadataMerge() - { - $cat1 = new MessageCatalogue('en'); - $cat1->setMetadata('a', 'b'); - $this->assertEquals(array('messages' => array('a' => 'b')), $cat1->getMetadata('', ''), 'Cat1 contains messages metadata.'); - - $cat2 = new MessageCatalogue('en'); - $cat2->setMetadata('b', 'c', 'domain'); - $this->assertEquals(array('domain' => array('b' => 'c')), $cat2->getMetadata('', ''), 'Cat2 contains domain metadata.'); - - $cat1->addCatalogue($cat2); - $this->assertEquals(array('messages' => array('a' => 'b'), 'domain' => array('b' => 'c')), $cat1->getMetadata('', ''), 'Cat1 contains merged metadata.'); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/MessageSelectorTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/MessageSelectorTest.php deleted file mode 100644 index d5a4f3e..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/MessageSelectorTest.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests; - -use Symfony\Component\Translation\MessageSelector; - -class MessageSelectorTest extends \PHPUnit_Framework_TestCase -{ - /** - * @dataProvider getChooseTests - */ - public function testChoose($expected, $id, $number) - { - $selector = new MessageSelector(); - - $this->assertEquals($expected, $selector->choose($id, $number, 'en')); - } - - public function testReturnMessageIfExactlyOneStandardRuleIsGiven() - { - $selector = new MessageSelector(); - - $this->assertEquals('There are two apples', $selector->choose('There are two apples', 2, 'en')); - } - - /** - * @dataProvider getNonMatchingMessages - * @expectedException \InvalidArgumentException - */ - public function testThrowExceptionIfMatchingMessageCannotBeFound($id, $number) - { - $selector = new MessageSelector(); - - $selector->choose($id, $number, 'en'); - } - - public function getNonMatchingMessages() - { - return array( - array('{0} There are no apples|{1} There is one apple', 2), - array('{1} There is one apple|]1,Inf] There are %count% apples', 0), - array('{1} There is one apple|]2,Inf] There are %count% apples', 2), - array('{0} There are no apples|There is one apple', 2), - ); - } - - public function getChooseTests() - { - return array( - array('There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0), - array('There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0), - array('There are no apples', '{0}There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0), - - array('There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1), - - array('There are %count% apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10), - array('There are %count% apples', '{0} There are no apples|{1} There is one apple|]1,Inf]There are %count% apples', 10), - array('There are %count% apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10), - - array('There are %count% apples', 'There is one apple|There are %count% apples', 0), - array('There is one apple', 'There is one apple|There are %count% apples', 1), - array('There are %count% apples', 'There is one apple|There are %count% apples', 10), - - array('There are %count% apples', 'one: There is one apple|more: There are %count% apples', 0), - array('There is one apple', 'one: There is one apple|more: There are %count% apples', 1), - array('There are %count% apples', 'one: There is one apple|more: There are %count% apples', 10), - - array('There are no apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 0), - array('There is one apple', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 1), - array('There are %count% apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 10), - - array('', '{0}|{1} There is one apple|]1,Inf] There are %count% apples', 0), - array('', '{0} There are no apples|{1}|]1,Inf] There are %count% apples', 1), - - // Indexed only tests which are Gettext PoFile* compatible strings. - array('There are %count% apples', 'There is one apple|There are %count% apples', 0), - array('There is one apple', 'There is one apple|There are %count% apples', 1), - array('There are %count% apples', 'There is one apple|There are %count% apples', 2), - - // Tests for float numbers - array('There is almost one apple', '{0} There are no apples|]0,1[ There is almost one apple|{1} There is one apple|[1,Inf] There is more than one apple', 0.7), - array('There is one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1), - array('There is more than one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1.7), - array('There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0), - array('There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0.0), - array('There are no apples', '{0.0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0), - ); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/PluralizationRulesTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/PluralizationRulesTest.php deleted file mode 100644 index 1e8ee70..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/PluralizationRulesTest.php +++ /dev/null @@ -1,123 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests; - -use Symfony\Component\Translation\PluralizationRules; - -/** - * Test should cover all languages mentioned on http://translate.sourceforge.net/wiki/l10n/pluralforms - * and Plural forms mentioned on http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms. - * - * See also https://developer.mozilla.org/en/Localization_and_Plurals which mentions 15 rules having a maximum of 6 forms. - * The mozilla code is also interesting to check for. - * - * As mentioned by chx http://drupal.org/node/1273968 we can cover all by testing number from 0 to 199 - * - * The goal to cover all languages is to far fetched so this test case is smaller. - * - * @author Clemens Tolboom clemens@build2be.nl - */ -class PluralizationRulesTest extends \PHPUnit_Framework_TestCase -{ - /** - * We test failed langcode here. - * - * TODO: The languages mentioned in the data provide need to get fixed somehow within PluralizationRules. - * - * @dataProvider failingLangcodes - */ - public function testFailedLangcodes($nplural, $langCodes) - { - $matrix = $this->generateTestData($nplural, $langCodes); - $this->validateMatrix($nplural, $matrix, false); - } - - /** - * @dataProvider successLangcodes - */ - public function testLangcodes($nplural, $langCodes) - { - $matrix = $this->generateTestData($nplural, $langCodes); - $this->validateMatrix($nplural, $matrix); - } - - /** - * This array should contain all currently known langcodes. - * - * As it is impossible to have this ever complete we should try as hard as possible to have it almost complete. - * - * @return array - */ - public function successLangcodes() - { - return array( - array('1', array('ay','bo', 'cgg','dz','id', 'ja', 'jbo', 'ka','kk','km','ko','ky')), - array('2', array('nl', 'fr', 'en', 'de', 'de_GE')), - array('3', array('be','bs','cs','hr')), - array('4', array('cy','mt', 'sl')), - array('5', array()), - array('6', array('ar')), - ); - } - - /** - * This array should be at least empty within the near future. - * - * This both depends on a complete list trying to add above as understanding - * the plural rules of the current failing languages. - * - * @return array with nplural together with langcodes - */ - public function failingLangcodes() - { - return array( - array('1', array('fa')), - array('2', array('jbo')), - array('3', array('cbs')), - array('4', array('gd','kw')), - array('5', array('ga')), - array('6', array()), - ); - } - - /** - * We validate only on the plural coverage. Thus the real rules is not tested. - * - * @param string $nplural plural expected - * @param array $matrix containing langcodes and their plural index values. - * @param bool $expectSuccess - */ - protected function validateMatrix($nplural, $matrix, $expectSuccess = true) - { - foreach ($matrix as $langCode => $data) { - $indexes = array_flip($data); - if ($expectSuccess) { - $this->assertEquals($nplural, count($indexes), "Langcode '$langCode' has '$nplural' plural forms."); - } else { - $this->assertNotEquals((int) $nplural, count($indexes), "Langcode '$langCode' has '$nplural' plural forms."); - } - } - } - - protected function generateTestData($plural, $langCodes) - { - $matrix = array(); - foreach ($langCodes as $langCode) { - for ($count = 0; $count < 200; $count++) { - $plural = PluralizationRules::get($count, $langCode); - $matrix[$langCode][$count] = $plural; - } - } - - return $matrix; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/TranslatorCacheTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/TranslatorCacheTest.php deleted file mode 100644 index 8b913f3..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/TranslatorCacheTest.php +++ /dev/null @@ -1,231 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests; - -use Symfony\Component\Translation\Translator; -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\MessageSelector; - -class TranslatorCacheTest extends \PHPUnit_Framework_TestCase -{ - protected $tmpDir; - - protected function setUp() - { - $this->tmpDir = sys_get_temp_dir().'/sf2_translation'; - $this->deleteTmpDir(); - } - - protected function tearDown() - { - $this->deleteTmpDir(); - } - - protected function deleteTmpDir() - { - if (!file_exists($dir = $this->tmpDir)) { - return; - } - - $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($this->tmpDir), \RecursiveIteratorIterator::CHILD_FIRST); - foreach ($iterator as $path) { - if (preg_match('#[/\\\\]\.\.?$#', $path->__toString())) { - continue; - } - if ($path->isDir()) { - rmdir($path->__toString()); - } else { - unlink($path->__toString()); - } - } - rmdir($this->tmpDir); - } - - public function testTransWithoutCaching() - { - $translator = $this->getTranslator($this->getLoader()); - $translator->setLocale('fr'); - $translator->setFallbackLocales(array('en', 'es', 'pt-PT', 'pt_BR', 'fr.UTF-8', 'sr@latin')); - - $this->assertEquals('foo (FR)', $translator->trans('foo')); - $this->assertEquals('bar (EN)', $translator->trans('bar')); - $this->assertEquals('foobar (ES)', $translator->trans('foobar')); - $this->assertEquals('choice 0 (EN)', $translator->transChoice('choice', 0)); - $this->assertEquals('no translation', $translator->trans('no translation')); - $this->assertEquals('foobarfoo (PT-PT)', $translator->trans('foobarfoo')); - $this->assertEquals('other choice 1 (PT-BR)', $translator->transChoice('other choice', 1)); - $this->assertEquals('foobarbaz (fr.UTF-8)', $translator->trans('foobarbaz')); - $this->assertEquals('foobarbax (sr@latin)', $translator->trans('foobarbax')); - } - - public function testTransWithCaching() - { - // prime the cache - $translator = $this->getTranslator($this->getLoader(), $this->tmpDir); - $translator->setLocale('fr'); - $translator->setFallbackLocales(array('en', 'es', 'pt-PT', 'pt_BR', 'fr.UTF-8', 'sr@latin')); - - $this->assertEquals('foo (FR)', $translator->trans('foo')); - $this->assertEquals('bar (EN)', $translator->trans('bar')); - $this->assertEquals('foobar (ES)', $translator->trans('foobar')); - $this->assertEquals('choice 0 (EN)', $translator->transChoice('choice', 0)); - $this->assertEquals('no translation', $translator->trans('no translation')); - $this->assertEquals('foobarfoo (PT-PT)', $translator->trans('foobarfoo')); - $this->assertEquals('other choice 1 (PT-BR)', $translator->transChoice('other choice', 1)); - $this->assertEquals('foobarbaz (fr.UTF-8)', $translator->trans('foobarbaz')); - $this->assertEquals('foobarbax (sr@latin)', $translator->trans('foobarbax')); - - // do it another time as the cache is primed now - $loader = $this->getMock('Symfony\Component\Translation\Loader\LoaderInterface'); - $translator = $this->getTranslator($loader, $this->tmpDir); - $translator->setLocale('fr'); - $translator->setFallbackLocales(array('en', 'es', 'pt-PT', 'pt_BR', 'fr.UTF-8', 'sr@latin')); - - $this->assertEquals('foo (FR)', $translator->trans('foo')); - $this->assertEquals('bar (EN)', $translator->trans('bar')); - $this->assertEquals('foobar (ES)', $translator->trans('foobar')); - $this->assertEquals('choice 0 (EN)', $translator->transChoice('choice', 0)); - $this->assertEquals('no translation', $translator->trans('no translation')); - $this->assertEquals('foobarfoo (PT-PT)', $translator->trans('foobarfoo')); - $this->assertEquals('other choice 1 (PT-BR)', $translator->transChoice('other choice', 1)); - $this->assertEquals('foobarbaz (fr.UTF-8)', $translator->trans('foobarbaz')); - $this->assertEquals('foobarbax (sr@latin)', $translator->trans('foobarbax')); - } - - public function testTransWithCachingWithInvalidLocale() - { - $loader = $this->getMock('Symfony\Component\Translation\Loader\LoaderInterface'); - $translator = $this->getTranslator($loader, $this->tmpDir, 'Symfony\Component\Translation\Tests\TranslatorWithInvalidLocale'); - - $translator->setLocale('invalid locale'); - - try { - $translator->trans('foo'); - $this->fail(); - } catch (\InvalidArgumentException $e) { - $this->assertFalse(file_exists($this->tmpDir.'/catalogue.invalid locale.php')); - } - } - - public function testLoadCatalogueWithCachingWithInvalidLocale() - { - $loader = $this->getMock('Symfony\Component\Translation\Loader\LoaderInterface'); - $translator = $this->getTranslator($loader, $this->tmpDir, 'Symfony\Component\Translation\Tests\TranslatorWithInvalidLocale'); - - try { - $translator->proxyLoadCatalogue('invalid locale'); - $this->fail(); - } catch (\InvalidArgumentException $e) { - $this->assertFalse(file_exists($this->tmpDir.'/catalogue.invalid locale.php')); - } - } - - protected function getCatalogue($locale, $messages) - { - $catalogue = new MessageCatalogue($locale); - foreach ($messages as $key => $translation) { - $catalogue->set($key, $translation); - } - - return $catalogue; - } - - protected function getLoader() - { - $loader = $this->getMock('Symfony\Component\Translation\Loader\LoaderInterface'); - $loader - ->expects($this->at(0)) - ->method('load') - ->will($this->returnValue($this->getCatalogue('fr', array( - 'foo' => 'foo (FR)', - )))) - ; - $loader - ->expects($this->at(1)) - ->method('load') - ->will($this->returnValue($this->getCatalogue('en', array( - 'foo' => 'foo (EN)', - 'bar' => 'bar (EN)', - 'choice' => '{0} choice 0 (EN)|{1} choice 1 (EN)|]1,Inf] choice inf (EN)', - )))) - ; - $loader - ->expects($this->at(2)) - ->method('load') - ->will($this->returnValue($this->getCatalogue('es', array( - 'foobar' => 'foobar (ES)', - )))) - ; - $loader - ->expects($this->at(3)) - ->method('load') - ->will($this->returnValue($this->getCatalogue('pt-PT', array( - 'foobarfoo' => 'foobarfoo (PT-PT)', - )))) - ; - $loader - ->expects($this->at(4)) - ->method('load') - ->will($this->returnValue($this->getCatalogue('pt_BR', array( - 'other choice' => '{0} other choice 0 (PT-BR)|{1} other choice 1 (PT-BR)|]1,Inf] other choice inf (PT-BR)', - )))) - ; - $loader - ->expects($this->at(5)) - ->method('load') - ->will($this->returnValue($this->getCatalogue('fr.UTF-8', array( - 'foobarbaz' => 'foobarbaz (fr.UTF-8)', - )))) - ; - $loader - ->expects($this->at(6)) - ->method('load') - ->will($this->returnValue($this->getCatalogue('sr@latin', array( - 'foobarbax' => 'foobarbax (sr@latin)', - )))) - ; - - return $loader; - } - - public function getTranslator($loader, $cacheDir = null, $translatorClass = '\Symfony\Component\Translation\Translator') - { - $translator = new $translatorClass('fr', new MessageSelector(), $cacheDir); - - $translator->addLoader('loader', $loader); - $translator->addResource('loader', 'foo', 'fr'); - $translator->addResource('loader', 'foo', 'en'); - $translator->addResource('loader', 'foo', 'es'); - $translator->addResource('loader', 'foo', 'pt-PT'); // European Portuguese - $translator->addResource('loader', 'foo', 'pt_BR'); // Brazilian Portuguese - $translator->addResource('loader', 'foo', 'fr.UTF-8'); - $translator->addResource('loader', 'foo', 'sr@latin'); // Latin Serbian - - return $translator; - } -} - -class TranslatorWithInvalidLocale extends Translator -{ - /** - * {@inheritdoc} - */ - public function setLocale($locale) - { - $this->locale = $locale; - } - - public function proxyLoadCatalogue($locale) - { - $this->loadCatalogue($locale); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/TranslatorTest.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/TranslatorTest.php deleted file mode 100644 index e60d8fa..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/TranslatorTest.php +++ /dev/null @@ -1,604 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Tests; - -use Symfony\Component\Translation\Translator; -use Symfony\Component\Translation\MessageSelector; -use Symfony\Component\Translation\Loader\ArrayLoader; -use Symfony\Component\Translation\MessageCatalogue; - -class TranslatorTest extends \PHPUnit_Framework_TestCase -{ - /** - * @dataProvider getInvalidLocalesTests - * @expectedException \InvalidArgumentException - */ - public function testConstructorInvalidLocale($locale) - { - $translator = new Translator($locale, new MessageSelector()); - } - - /** - * @dataProvider getValidLocalesTests - */ - public function testConstructorValidLocale($locale) - { - $translator = new Translator($locale, new MessageSelector()); - - $this->assertEquals($locale, $translator->getLocale()); - } - - public function testConstructorWithoutLocale() - { - $translator = new Translator(null, new MessageSelector()); - - $this->assertNull($translator->getLocale()); - } - - public function testSetGetLocale() - { - $translator = new Translator('en'); - - $this->assertEquals('en', $translator->getLocale()); - - $translator->setLocale('fr'); - $this->assertEquals('fr', $translator->getLocale()); - } - - /** - * @dataProvider getInvalidLocalesTests - * @expectedException \InvalidArgumentException - */ - public function testSetInvalidLocale($locale) - { - $translator = new Translator('fr', new MessageSelector()); - $translator->setLocale($locale); - } - - /** - * @dataProvider getValidLocalesTests - */ - public function testSetValidLocale($locale) - { - $translator = new Translator($locale, new MessageSelector()); - $translator->setLocale($locale); - - $this->assertEquals($locale, $translator->getLocale()); - } - - public function testGetCatalogue() - { - $translator = new Translator('en'); - - $this->assertEquals(new MessageCatalogue('en'), $translator->getCatalogue()); - - $translator->setLocale('fr'); - $this->assertEquals(new MessageCatalogue('fr'), $translator->getCatalogue('fr')); - } - - public function testSetFallbackLocales() - { - $translator = new Translator('en'); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('foo' => 'foofoo'), 'en'); - $translator->addResource('array', array('bar' => 'foobar'), 'fr'); - - // force catalogue loading - $translator->trans('bar'); - - $translator->setFallbackLocales(array('fr')); - $this->assertEquals('foobar', $translator->trans('bar')); - } - - public function testSetFallbackLocalesMultiple() - { - $translator = new Translator('en'); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('foo' => 'foo (en)'), 'en'); - $translator->addResource('array', array('bar' => 'bar (fr)'), 'fr'); - - // force catalogue loading - $translator->trans('bar'); - - $translator->setFallbackLocales(array('fr_FR', 'fr')); - $this->assertEquals('bar (fr)', $translator->trans('bar')); - } - - /** - * @dataProvider getInvalidLocalesTests - * @expectedException \InvalidArgumentException - */ - public function testSetFallbackInvalidLocales($locale) - { - $translator = new Translator('fr', new MessageSelector()); - $translator->setFallbackLocales(array('fr', $locale)); - } - - /** - * @dataProvider getValidLocalesTests - */ - public function testSetFallbackValidLocales($locale) - { - $translator = new Translator($locale, new MessageSelector()); - $translator->setFallbackLocales(array('fr', $locale)); - // no assertion. this method just asserts that no exception is thrown - } - - public function testTransWithFallbackLocale() - { - $translator = new Translator('fr_FR'); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('foo' => 'foofoo'), 'en_US'); - $translator->addResource('array', array('bar' => 'foobar'), 'en'); - - $translator->setFallbackLocales(array('en')); - - $this->assertEquals('foobar', $translator->trans('bar')); - } - - /** - * @dataProvider getInvalidLocalesTests - * @expectedException \InvalidArgumentException - */ - public function testAddResourceInvalidLocales($locale) - { - $translator = new Translator('fr', new MessageSelector()); - $translator->addResource('array', array('foo' => 'foofoo'), $locale); - } - - /** - * @dataProvider getValidLocalesTests - */ - public function testAddResourceValidLocales($locale) - { - $translator = new Translator('fr', new MessageSelector()); - $translator->addResource('array', array('foo' => 'foofoo'), $locale); - // no assertion. this method just asserts that no exception is thrown - } - - public function testAddResourceAfterTrans() - { - $translator = new Translator('fr'); - $translator->addLoader('array', new ArrayLoader()); - - $translator->setFallbackLocales(array('en')); - - $translator->addResource('array', array('foo' => 'foofoo'), 'en'); - $this->assertEquals('foofoo', $translator->trans('foo')); - - $translator->addResource('array', array('bar' => 'foobar'), 'en'); - $this->assertEquals('foobar', $translator->trans('bar')); - } - - /** - * @dataProvider getTransFileTests - * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException - */ - public function testTransWithoutFallbackLocaleFile($format, $loader) - { - $loaderClass = 'Symfony\\Component\\Translation\\Loader\\'.$loader; - $translator = new Translator('en'); - $translator->addLoader($format, new $loaderClass()); - $translator->addResource($format, __DIR__.'/fixtures/non-existing', 'en'); - $translator->addResource($format, __DIR__.'/fixtures/resources.'.$format, 'en'); - - // force catalogue loading - $translator->trans('foo'); - } - - /** - * @dataProvider getTransFileTests - */ - public function testTransWithFallbackLocaleFile($format, $loader) - { - $loaderClass = 'Symfony\\Component\\Translation\\Loader\\'.$loader; - $translator = new Translator('en_GB'); - $translator->addLoader($format, new $loaderClass()); - $translator->addResource($format, __DIR__.'/fixtures/non-existing', 'en_GB'); - $translator->addResource($format, __DIR__.'/fixtures/resources.'.$format, 'en', 'resources'); - - $this->assertEquals('bar', $translator->trans('foo', array(), 'resources')); - } - - public function testTransWithFallbackLocaleBis() - { - $translator = new Translator('en_US'); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('foo' => 'foofoo'), 'en_US'); - $translator->addResource('array', array('bar' => 'foobar'), 'en'); - $this->assertEquals('foobar', $translator->trans('bar')); - } - - public function testTransWithFallbackLocaleTer() - { - $translator = new Translator('fr_FR'); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('foo' => 'foo (en_US)'), 'en_US'); - $translator->addResource('array', array('bar' => 'bar (en)'), 'en'); - - $translator->setFallbackLocales(array('en_US', 'en')); - - $this->assertEquals('foo (en_US)', $translator->trans('foo')); - $this->assertEquals('bar (en)', $translator->trans('bar')); - } - - public function testTransNonExistentWithFallback() - { - $translator = new Translator('fr'); - $translator->setFallbackLocales(array('en')); - $translator->addLoader('array', new ArrayLoader()); - $this->assertEquals('non-existent', $translator->trans('non-existent')); - } - - /** - * @expectedException \RuntimeException - */ - public function testWhenAResourceHasNoRegisteredLoader() - { - $translator = new Translator('en'); - $translator->addResource('array', array('foo' => 'foofoo'), 'en'); - - $translator->trans('foo'); - } - - /** - * @dataProvider getTransTests - */ - public function testTrans($expected, $id, $translation, $parameters, $locale, $domain) - { - $translator = new Translator('en'); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array((string) $id => $translation), $locale, $domain); - - $this->assertEquals($expected, $translator->trans($id, $parameters, $domain, $locale)); - } - - /** - * @dataProvider getInvalidLocalesTests - * @expectedException \InvalidArgumentException - */ - public function testTransInvalidLocale($locale) - { - $translator = new Translator('en', new MessageSelector()); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('foo' => 'foofoo'), 'en'); - - $translator->trans('foo', array(), '', $locale); - } - - /** - * @dataProvider getValidLocalesTests - */ - public function testTransValidLocale($locale) - { - $translator = new Translator('en', new MessageSelector()); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('foo' => 'foofoo'), 'en'); - - $translator->trans('foo', array(), '', $locale); - // no assertion. this method just asserts that no exception is thrown - } - - /** - * @dataProvider getFlattenedTransTests - */ - public function testFlattenedTrans($expected, $messages, $id) - { - $translator = new Translator('en'); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', $messages, 'fr', ''); - - $this->assertEquals($expected, $translator->trans($id, array(), '', 'fr')); - } - - /** - * @dataProvider getTransChoiceTests - */ - public function testTransChoice($expected, $id, $translation, $number, $parameters, $locale, $domain) - { - $translator = new Translator('en'); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array((string) $id => $translation), $locale, $domain); - - $this->assertEquals($expected, $translator->transChoice($id, $number, $parameters, $domain, $locale)); - } - - /** - * @dataProvider getInvalidLocalesTests - * @expectedException \InvalidArgumentException - */ - public function testTransChoiceInvalidLocale($locale) - { - $translator = new Translator('en', new MessageSelector()); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('foo' => 'foofoo'), 'en'); - - $translator->transChoice('foo', 1, array(), '', $locale); - } - - /** - * @dataProvider getValidLocalesTests - */ - public function testTransChoiceValidLocale($locale) - { - $translator = new Translator('en', new MessageSelector()); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('foo' => 'foofoo'), 'en'); - - $translator->transChoice('foo', 1, array(), '', $locale); - // no assertion. this method just asserts that no exception is thrown - } - - public function getTransFileTests() - { - return array( - array('csv', 'CsvFileLoader'), - array('ini', 'IniFileLoader'), - array('mo', 'MoFileLoader'), - array('po', 'PoFileLoader'), - array('php', 'PhpFileLoader'), - array('ts', 'QtFileLoader'), - array('xlf', 'XliffFileLoader'), - array('yml', 'YamlFileLoader'), - array('json', 'JsonFileLoader'), - ); - } - - public function getTransTests() - { - return array( - array('Symfony est super !', 'Symfony is great!', 'Symfony est super !', array(), 'fr', ''), - array('Symfony est awesome !', 'Symfony is %what%!', 'Symfony est %what% !', array('%what%' => 'awesome'), 'fr', ''), - array('Symfony est super !', new StringClass('Symfony is great!'), 'Symfony est super !', array(), 'fr', ''), - ); - } - - public function getFlattenedTransTests() - { - $messages = array( - 'symfony' => array( - 'is' => array( - 'great' => 'Symfony est super!', - ), - ), - 'foo' => array( - 'bar' => array( - 'baz' => 'Foo Bar Baz', - ), - 'baz' => 'Foo Baz', - ), - ); - - return array( - array('Symfony est super!', $messages, 'symfony.is.great'), - array('Foo Bar Baz', $messages, 'foo.bar.baz'), - array('Foo Baz', $messages, 'foo.baz'), - ); - } - - public function getTransChoiceTests() - { - return array( - array('Il y a 0 pomme', '{0} There are no appless|{1} There is one apple|]1,Inf] There is %count% apples', '[0,1] Il y a %count% pomme|]1,Inf] Il y a %count% pommes', 0, array('%count%' => 0), 'fr', ''), - array('Il y a 1 pomme', '{0} There are no appless|{1} There is one apple|]1,Inf] There is %count% apples', '[0,1] Il y a %count% pomme|]1,Inf] Il y a %count% pommes', 1, array('%count%' => 1), 'fr', ''), - array('Il y a 10 pommes', '{0} There are no appless|{1} There is one apple|]1,Inf] There is %count% apples', '[0,1] Il y a %count% pomme|]1,Inf] Il y a %count% pommes', 10, array('%count%' => 10), 'fr', ''), - - array('Il y a 0 pomme', 'There is one apple|There is %count% apples', 'Il y a %count% pomme|Il y a %count% pommes', 0, array('%count%' => 0), 'fr', ''), - array('Il y a 1 pomme', 'There is one apple|There is %count% apples', 'Il y a %count% pomme|Il y a %count% pommes', 1, array('%count%' => 1), 'fr', ''), - array('Il y a 10 pommes', 'There is one apple|There is %count% apples', 'Il y a %count% pomme|Il y a %count% pommes', 10, array('%count%' => 10), 'fr', ''), - - array('Il y a 0 pomme', 'one: There is one apple|more: There is %count% apples', 'one: Il y a %count% pomme|more: Il y a %count% pommes', 0, array('%count%' => 0), 'fr', ''), - array('Il y a 1 pomme', 'one: There is one apple|more: There is %count% apples', 'one: Il y a %count% pomme|more: Il y a %count% pommes', 1, array('%count%' => 1), 'fr', ''), - array('Il y a 10 pommes', 'one: There is one apple|more: There is %count% apples', 'one: Il y a %count% pomme|more: Il y a %count% pommes', 10, array('%count%' => 10), 'fr', ''), - - array('Il n\'y a aucune pomme', '{0} There are no apples|one: There is one apple|more: There is %count% apples', '{0} Il n\'y a aucune pomme|one: Il y a %count% pomme|more: Il y a %count% pommes', 0, array('%count%' => 0), 'fr', ''), - array('Il y a 1 pomme', '{0} There are no apples|one: There is one apple|more: There is %count% apples', '{0} Il n\'y a aucune pomme|one: Il y a %count% pomme|more: Il y a %count% pommes', 1, array('%count%' => 1), 'fr', ''), - array('Il y a 10 pommes', '{0} There are no apples|one: There is one apple|more: There is %count% apples', '{0} Il n\'y a aucune pomme|one: Il y a %count% pomme|more: Il y a %count% pommes', 10, array('%count%' => 10), 'fr', ''), - - array('Il y a 0 pomme', new StringClass('{0} There are no appless|{1} There is one apple|]1,Inf] There is %count% apples'), '[0,1] Il y a %count% pomme|]1,Inf] Il y a %count% pommes', 0, array('%count%' => 0), 'fr', ''), - ); - } - - public function getInvalidLocalesTests() - { - return array( - array('fr FR'), - array('français'), - array('fr+en'), - array('utf#8'), - array('fr&en'), - array('fr~FR'), - array(' fr'), - array('fr '), - array('fr*'), - array('fr/FR'), - array('fr\\FR'), - ); - } - - public function getValidLocalesTests() - { - return array( - array(''), - array(null), - array('fr'), - array('francais'), - array('FR'), - array('frFR'), - array('fr-FR'), - array('fr_FR'), - array('fr.FR'), - array('fr-FR.UTF8'), - array('sr@latin'), - ); - } - - public function testTransChoiceFallback() - { - $translator = new Translator('ru'); - $translator->setFallbackLocales(array('en')); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('some_message2' => 'one thing|%count% things'), 'en'); - - $this->assertEquals('10 things', $translator->transChoice('some_message2', 10, array('%count%' => 10))); - } - - public function testTransChoiceFallbackBis() - { - $translator = new Translator('ru'); - $translator->setFallbackLocales(array('en_US', 'en')); - $translator->addLoader('array', new ArrayLoader()); - $translator->addResource('array', array('some_message2' => 'one thing|%count% things'), 'en_US'); - - $this->assertEquals('10 things', $translator->transChoice('some_message2', 10, array('%count%' => 10))); - } - - public function testTransChoiceFallbackWithNoTranslation() - { - $translator = new Translator('ru'); - $translator->setFallbackLocales(array('en')); - $translator->addLoader('array', new ArrayLoader()); - - // consistent behavior with Translator::trans(), which returns the string - // unchanged if it can't be found - $this->assertEquals('some_message2', $translator->transChoice('some_message2', 10, array('%count%' => 10))); - } - - /** - * @dataProvider dataProviderGetMessages - */ - public function testGetMessages($resources, $locale, $expected) - { - $locales = array_keys($resources); - $_locale = !is_null($locale) ? $locale : reset($locales); - $locales = array_slice($locales, 0, array_search($_locale, $locales)); - - $translator = new Translator($_locale, new MessageSelector()); - $translator->setFallbackLocales(array_reverse($locales)); - $translator->addLoader('array', new ArrayLoader()); - foreach ($resources as $_locale => $domainMessages) { - foreach ($domainMessages as $domain => $messages) { - $translator->addResource('array', $messages, $_locale, $domain); - } - } - $result = $translator->getMessages($locale); - - $this->assertEquals($expected, $result); - } - - public function dataProviderGetMessages() - { - $resources = array( - 'en' => array( - 'jsmessages' => array( - 'foo' => 'foo (EN)', - 'bar' => 'bar (EN)', - ), - 'messages' => array( - 'foo' => 'foo messages (EN)', - ), - 'validators' => array( - 'int' => 'integer (EN)', - ), - ), - 'pt-PT' => array( - 'messages' => array( - 'foo' => 'foo messages (PT)', - ), - 'validators' => array( - 'str' => 'integer (PT)', - ), - ), - 'pt_BR' => array( - 'validators' => array( - 'int' => 'integer (BR)', - ), - ), - ); - - return array( - array($resources, null, - array( - 'jsmessages' => array( - 'foo' => 'foo (EN)', - 'bar' => 'bar (EN)', - ), - 'messages' => array( - 'foo' => 'foo messages (EN)', - ), - 'validators' => array( - 'int' => 'integer (EN)', - ), - ), - ), - array($resources, 'en', - array( - 'jsmessages' => array( - 'foo' => 'foo (EN)', - 'bar' => 'bar (EN)', - ), - 'messages' => array( - 'foo' => 'foo messages (EN)', - ), - 'validators' => array( - 'int' => 'integer (EN)', - ), - ), - ), - array($resources, 'pt-PT', - array( - 'jsmessages' => array( - 'foo' => 'foo (EN)', - 'bar' => 'bar (EN)', - ), - 'messages' => array( - 'foo' => 'foo messages (PT)', - ), - 'validators' => array( - 'int' => 'integer (EN)', - 'str' => 'integer (PT)', - ), - ), - ), - array($resources, 'pt_BR', - array( - 'jsmessages' => array( - 'foo' => 'foo (EN)', - 'bar' => 'bar (EN)', - ), - 'messages' => array( - 'foo' => 'foo messages (PT)', - ), - 'validators' => array( - 'int' => 'integer (BR)', - 'str' => 'integer (PT)', - ), - ), - ), - ); - } -} - -class StringClass -{ - protected $str; - - public function __construct($str) - { - $this->str = $str; - } - - public function __toString() - { - return $this->str; - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.mo b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.mo deleted file mode 100644 index ed01000..0000000 Binary files a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.mo and /dev/null differ diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.po b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.po deleted file mode 100644 index ff6f22a..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.po +++ /dev/null @@ -1,3 +0,0 @@ -msgid "foo" -msgstr "" - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.csv b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.csv deleted file mode 100644 index e69de29..0000000 diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.ini b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.ini deleted file mode 100644 index e69de29..0000000 diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.json b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.json deleted file mode 100644 index e69de29..0000000 diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.mo b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.mo deleted file mode 100644 index e69de29..0000000 diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.po b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.po deleted file mode 100644 index e69de29..0000000 diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.xlf b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.xlf deleted file mode 100644 index e69de29..0000000 diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.yml b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.yml deleted file mode 100644 index e69de29..0000000 diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/encoding.xlf b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/encoding.xlf deleted file mode 100644 index 0a88f92..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/encoding.xlf +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - foo - bär - bäz - - - bar - föö - - - - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/escaped-id-plurals.po b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/escaped-id-plurals.po deleted file mode 100644 index c412aa2..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/escaped-id-plurals.po +++ /dev/null @@ -1,10 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en\n" - -msgid "escaped \"foo\"" -msgid_plural "escaped \"foos\"" -msgstr[0] "escaped \"bar\"" -msgstr[1] "escaped \"bars\"" diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/escaped-id.po b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/escaped-id.po deleted file mode 100644 index 308eadd..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/escaped-id.po +++ /dev/null @@ -1,8 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en\n" - -msgid "escaped \"foo\"" -msgstr "escaped \"bar\"" diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/invalid-xml-resources.xlf b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/invalid-xml-resources.xlf deleted file mode 100644 index 7bf6c98..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/invalid-xml-resources.xlf +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - foo - bar - - - extra - - - key - - - - test - with - note - - - - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/malformed.json b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/malformed.json deleted file mode 100644 index 1ee47ff..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/malformed.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "foo": "bar" " -} \ No newline at end of file diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/non-valid.xlf b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/non-valid.xlf deleted file mode 100644 index 734fc97..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/non-valid.xlf +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - foo - bar - - - - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/non-valid.yml b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/non-valid.yml deleted file mode 100644 index 257cc56..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/non-valid.yml +++ /dev/null @@ -1 +0,0 @@ -foo diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.mo b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.mo deleted file mode 100644 index 6445e77..0000000 Binary files a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.mo and /dev/null differ diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.po b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.po deleted file mode 100644 index 439c41a..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.po +++ /dev/null @@ -1,5 +0,0 @@ -msgid "foo" -msgid_plural "foos" -msgstr[0] "bar" -msgstr[1] "bars" - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resname.xlf b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resname.xlf deleted file mode 100644 index 2df16af..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resname.xlf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - bar - - - bar source - baz - - - baz - foo - - - - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/corrupted/resources.dat b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/corrupted/resources.dat deleted file mode 100644 index 391250c..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/corrupted/resources.dat +++ /dev/null @@ -1 +0,0 @@ -XXX \ No newline at end of file diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.res b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.res deleted file mode 100644 index 1fc1436..0000000 Binary files a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.res and /dev/null differ diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.txt b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.txt deleted file mode 100644 index 3d9e9ea..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.txt +++ /dev/null @@ -1,3 +0,0 @@ -en{ - symfony{"Symfony is great"} -} \ No newline at end of file diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.res b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.res deleted file mode 100644 index f584160..0000000 Binary files a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.res and /dev/null differ diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.txt b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.txt deleted file mode 100644 index 182d0a0..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.txt +++ /dev/null @@ -1,3 +0,0 @@ -fr{ - symfony{"Symfony est génial"} -} \ No newline at end of file diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/packagelist.txt b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/packagelist.txt deleted file mode 100644 index c5783ed..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/packagelist.txt +++ /dev/null @@ -1,2 +0,0 @@ -en.res -fr.res diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/resources.dat b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/resources.dat deleted file mode 100644 index 563b0ea..0000000 Binary files a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/resources.dat and /dev/null differ diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/res/en.res b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/res/en.res deleted file mode 100644 index ad894a9..0000000 Binary files a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/res/en.res and /dev/null differ diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources-clean.xlf b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources-clean.xlf deleted file mode 100644 index 4ce15af..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources-clean.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - foo - bar - baz - - - key - - baz - qux - - - key.with.cdata - & ]]> - - - - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.csv b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.csv deleted file mode 100644 index 374b9eb..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.csv +++ /dev/null @@ -1,4 +0,0 @@ -"foo"; "bar" -#"bar"; "foo" -"incorrect"; "number"; "columns"; "will"; "be"; "ignored" -"incorrect" \ No newline at end of file diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.ini b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.ini deleted file mode 100644 index 4953062..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.ini +++ /dev/null @@ -1 +0,0 @@ -foo="bar" diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.json b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.json deleted file mode 100644 index 8a79687..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "foo": "bar" -} \ No newline at end of file diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.mo b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.mo deleted file mode 100644 index 0a96602..0000000 Binary files a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.mo and /dev/null differ diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.php b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.php deleted file mode 100644 index c291398..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.php +++ /dev/null @@ -1,5 +0,0 @@ - 'bar', -); diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.po b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.po deleted file mode 100644 index ccfce6b..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.po +++ /dev/null @@ -1,8 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en\n" - -msgid "foo" -msgstr "bar" \ No newline at end of file diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.ts b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.ts deleted file mode 100644 index 40e1852..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.ts +++ /dev/null @@ -1,10 +0,0 @@ - - - - resources - - foo - bar - - - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.xlf b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.xlf deleted file mode 100644 index b0e5988..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.xlf +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - foo - bar - - - extra - - - key - - - - test - with - note - - - - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.yml b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.yml deleted file mode 100644 index 20e9ff3..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.yml +++ /dev/null @@ -1 +0,0 @@ -foo: bar diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/valid.csv b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/valid.csv deleted file mode 100644 index 59882e5..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/valid.csv +++ /dev/null @@ -1,4 +0,0 @@ -foo;bar -bar;"foo -foo" -"foo;foo";bar diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/withdoctype.xlf b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/withdoctype.xlf deleted file mode 100644 index f83e834..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/withdoctype.xlf +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - foo - bar - - - - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/withnote.xlf b/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/withnote.xlf deleted file mode 100644 index b1d3f83..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/withnote.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - foo - bar - foo - - - extra - bar - - - key - - baz - qux - - - - diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Translator.php b/vendor/symfony/translation/Symfony/Component/Translation/Translator.php deleted file mode 100644 index 30bdc53..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Translator.php +++ /dev/null @@ -1,466 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Symfony\Component\Translation\Loader\LoaderInterface; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Config\ConfigCache; - -/** - * Translator. - * - * @author Fabien Potencier - * - * @api - */ -class Translator implements TranslatorInterface, TranslatorBagInterface -{ - /** - * @var MessageCatalogueInterface[] - */ - protected $catalogues = array(); - - /** - * @var string - */ - protected $locale; - - /** - * @var array - */ - private $fallbackLocales = array(); - - /** - * @var LoaderInterface[] - */ - private $loaders = array(); - - /** - * @var array - */ - private $resources = array(); - - /** - * @var MessageSelector - */ - private $selector; - - /** - * @var string - */ - private $cacheDir; - - /** - * @var bool - */ - private $debug; - - /** - * Constructor. - * - * @param string $locale The locale - * @param MessageSelector|null $selector The message selector for pluralization - * @param string|null $cacheDir The directory to use for the cache - * @param bool $debug Use cache in debug mode ? - * - * @throws \InvalidArgumentException If a locale contains invalid characters - * - * @api - */ - public function __construct($locale, MessageSelector $selector = null, $cacheDir = null, $debug = false) - { - $this->setLocale($locale); - $this->selector = $selector ?: new MessageSelector(); - $this->cacheDir = $cacheDir; - $this->debug = $debug; - } - - /** - * Adds a Loader. - * - * @param string $format The name of the loader (@see addResource()) - * @param LoaderInterface $loader A LoaderInterface instance - * - * @api - */ - public function addLoader($format, LoaderInterface $loader) - { - $this->loaders[$format] = $loader; - } - - /** - * Adds a Resource. - * - * @param string $format The name of the loader (@see addLoader()) - * @param mixed $resource The resource name - * @param string $locale The locale - * @param string $domain The domain - * - * @throws \InvalidArgumentException If the locale contains invalid characters - * - * @api - */ - public function addResource($format, $resource, $locale, $domain = null) - { - if (null === $domain) { - $domain = 'messages'; - } - - $this->assertValidLocale($locale); - - $this->resources[$locale][] = array($format, $resource, $domain); - - if (in_array($locale, $this->fallbackLocales)) { - $this->catalogues = array(); - } else { - unset($this->catalogues[$locale]); - } - } - - /** - * {@inheritdoc} - * - * @api - */ - public function setLocale($locale) - { - $this->assertValidLocale($locale); - $this->locale = $locale; - } - - /** - * {@inheritdoc} - * - * @api - */ - public function getLocale() - { - return $this->locale; - } - - /** - * Sets the fallback locale(s). - * - * @param string|array $locales The fallback locale(s) - * - * @throws \InvalidArgumentException If a locale contains invalid characters - * - * @deprecated since 2.3, to be removed in 3.0. Use setFallbackLocales() instead. - * - * @api - */ - public function setFallbackLocale($locales) - { - $this->setFallbackLocales(is_array($locales) ? $locales : array($locales)); - } - - /** - * Sets the fallback locales. - * - * @param array $locales The fallback locales - * - * @throws \InvalidArgumentException If a locale contains invalid characters - * - * @api - */ - public function setFallbackLocales(array $locales) - { - // needed as the fallback locales are linked to the already loaded catalogues - $this->catalogues = array(); - - foreach ($locales as $locale) { - $this->assertValidLocale($locale); - } - - $this->fallbackLocales = $locales; - } - - /** - * Gets the fallback locales. - * - * @return array $locales The fallback locales - * - * @api - */ - public function getFallbackLocales() - { - return $this->fallbackLocales; - } - - /** - * {@inheritdoc} - * - * @api - */ - public function trans($id, array $parameters = array(), $domain = null, $locale = null) - { - if (null === $locale) { - $locale = $this->getLocale(); - } else { - $this->assertValidLocale($locale); - } - - if (null === $domain) { - $domain = 'messages'; - } - - if (!isset($this->catalogues[$locale])) { - $this->loadCatalogue($locale); - } - - return strtr($this->catalogues[$locale]->get((string) $id, $domain), $parameters); - } - - /** - * {@inheritdoc} - * - * @api - */ - public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) - { - if (null === $locale) { - $locale = $this->getLocale(); - } else { - $this->assertValidLocale($locale); - } - - if (null === $domain) { - $domain = 'messages'; - } - - if (!isset($this->catalogues[$locale])) { - $this->loadCatalogue($locale); - } - - $id = (string) $id; - - $catalogue = $this->catalogues[$locale]; - while (!$catalogue->defines($id, $domain)) { - if ($cat = $catalogue->getFallbackCatalogue()) { - $catalogue = $cat; - $locale = $catalogue->getLocale(); - } else { - break; - } - } - - return strtr($this->selector->choose($catalogue->get($id, $domain), (int) $number, $locale), $parameters); - } - - /** - * {@inheritdoc} - */ - public function getCatalogue($locale = null) - { - if (null === $locale) { - $locale = $this->getLocale(); - } - - if (!isset($this->catalogues[$locale])) { - $this->loadCatalogue($locale); - } - - return $this->catalogues[$locale]; - } - - /** - * Gets the loaders. - * - * @return array LoaderInterface[] - */ - protected function getLoaders() - { - return $this->loaders; - } - - /** - * Collects all messages for the given locale. - * - * @param string|null $locale Locale of translations, by default is current locale - * - * @return array[array] indexed by catalog - */ - public function getMessages($locale = null) - { - if (null === $locale) { - $locale = $this->getLocale(); - } - - if (!isset($this->catalogues[$locale])) { - $this->loadCatalogue($locale); - } - - $catalogues = array(); - $catalogues[] = $catalogue = $this->catalogues[$locale]; - while ($catalogue = $catalogue->getFallbackCatalogue()) { - $catalogues[] = $catalogue; - } - $messages = array(); - for ($i = count($catalogues) - 1; $i >= 0; $i--) { - $localeMessages = $catalogues[$i]->all(); - $messages = array_replace_recursive($messages, $localeMessages); - } - - return $messages; - } - - /* - * @param string $locale - */ - protected function loadCatalogue($locale) - { - if (null === $this->cacheDir) { - $this->initializeCatalogue($locale); - } else { - $this->initializeCacheCatalogue($locale); - } - } - - /** - * @param string $locale - */ - protected function initializeCatalogue($locale) - { - $this->assertValidLocale($locale); - - try { - $this->doLoadCatalogue($locale); - } catch (NotFoundResourceException $e) { - if (!$this->computeFallbackLocales($locale)) { - throw $e; - } - } - $this->loadFallbackCatalogues($locale); - } - - /** - * @param string $locale - */ - private function initializeCacheCatalogue($locale) - { - if (isset($this->catalogues[$locale])) { - return; - } - - $this->assertValidLocale($locale); - $cache = new ConfigCache($this->cacheDir.'/catalogue.'.$locale.'.php', $this->debug); - if (!$cache->isFresh()) { - $this->initializeCatalogue($locale); - - $fallbackContent = ''; - $current = ''; - $replacementPattern = '/[^a-z0-9_]/i'; - foreach ($this->computeFallbackLocales($locale) as $fallback) { - $fallbackSuffix = ucfirst(preg_replace($replacementPattern, '_', $fallback)); - $currentSuffix = ucfirst(preg_replace($replacementPattern, '_', $current)); - - $fallbackContent .= sprintf(<<addFallbackCatalogue(\$catalogue%s); - - -EOF - , - $fallbackSuffix, - $fallback, - var_export($this->catalogues[$fallback]->all(), true), - $currentSuffix, - $fallbackSuffix - ); - $current = $fallback; - } - - $content = sprintf(<<catalogues[$locale]->all(), true), - $fallbackContent - ); - - $cache->write($content, $this->catalogues[$locale]->getResources()); - - return; - } - - $this->catalogues[$locale] = include $cache; - } - - private function doLoadCatalogue($locale) - { - $this->catalogues[$locale] = new MessageCatalogue($locale); - - if (isset($this->resources[$locale])) { - foreach ($this->resources[$locale] as $resource) { - if (!isset($this->loaders[$resource[0]])) { - throw new \RuntimeException(sprintf('The "%s" translation loader is not registered.', $resource[0])); - } - $this->catalogues[$locale]->addCatalogue($this->loaders[$resource[0]]->load($resource[1], $locale, $resource[2])); - } - } - } - - private function loadFallbackCatalogues($locale) - { - $current = $this->catalogues[$locale]; - - foreach ($this->computeFallbackLocales($locale) as $fallback) { - if (!isset($this->catalogues[$fallback])) { - $this->doLoadCatalogue($fallback); - } - - $current->addFallbackCatalogue($this->catalogues[$fallback]); - $current = $this->catalogues[$fallback]; - } - } - - protected function computeFallbackLocales($locale) - { - $locales = array(); - foreach ($this->fallbackLocales as $fallback) { - if ($fallback === $locale) { - continue; - } - - $locales[] = $fallback; - } - - if (strrchr($locale, '_') !== false) { - array_unshift($locales, substr($locale, 0, -strlen(strrchr($locale, '_')))); - } - - return array_unique($locales); - } - - /** - * Asserts that the locale is valid, throws an Exception if not. - * - * @param string $locale Locale to tests - * - * @throws \InvalidArgumentException If the locale contains invalid characters - */ - protected function assertValidLocale($locale) - { - if (1 !== preg_match('/^[a-z0-9@_\\.\\-]*$/i', $locale)) { - throw new \InvalidArgumentException(sprintf('Invalid "%s" locale.', $locale)); - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/TranslatorBagInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/TranslatorBagInterface.php deleted file mode 100644 index e0312d9..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/TranslatorBagInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -/** - * TranslatorBagInterface - * - * @author Abdellatif Ait boudad - */ -interface TranslatorBagInterface -{ - /** - * Gets the catalogue by locale. - * - * @param string|null $locale The locale or null to use the default - * - * @return MessageCatalogueInterface - */ - public function getCatalogue($locale = null); -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/TranslatorInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/TranslatorInterface.php deleted file mode 100644 index fe1a865..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/TranslatorInterface.php +++ /dev/null @@ -1,75 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -/** - * TranslatorInterface. - * - * @author Fabien Potencier - * - * @api - */ -interface TranslatorInterface -{ - /** - * Translates the given message. - * - * @param string $id The message id (may also be an object that can be cast to string) - * @param array $parameters An array of parameters for the message - * @param string|null $domain The domain for the message or null to use the default - * @param string|null $locale The locale or null to use the default - * - * @throws \InvalidArgumentException If the locale contains invalid characters - * - * @return string The translated string - * - * @api - */ - public function trans($id, array $parameters = array(), $domain = null, $locale = null); - - /** - * Translates the given choice message by choosing a translation according to a number. - * - * @param string $id The message id (may also be an object that can be cast to string) - * @param int $number The number to use to find the indice of the message - * @param array $parameters An array of parameters for the message - * @param string|null $domain The domain for the message or null to use the default - * @param string|null $locale The locale or null to use the default - * - * @throws \InvalidArgumentException If the locale contains invalid characters - * - * @return string The translated string - * - * @api - */ - public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null); - - /** - * Sets the current locale. - * - * @param string $locale The locale - * - * @throws \InvalidArgumentException If the locale contains invalid characters - * - * @api - */ - public function setLocale($locale); - - /** - * Returns the current locale. - * - * @return string The locale - * - * @api - */ - public function getLocale(); -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Writer/TranslationWriter.php b/vendor/symfony/translation/Symfony/Component/Translation/Writer/TranslationWriter.php deleted file mode 100644 index 44ac182..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Writer/TranslationWriter.php +++ /dev/null @@ -1,87 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Writer; - -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Dumper\DumperInterface; - -/** - * TranslationWriter writes translation messages. - * - * @author Michel Salib - */ -class TranslationWriter -{ - /** - * Dumpers used for export. - * - * @var array - */ - private $dumpers = array(); - - /** - * Adds a dumper to the writer. - * - * @param string $format The format of the dumper - * @param DumperInterface $dumper The dumper - */ - public function addDumper($format, DumperInterface $dumper) - { - $this->dumpers[$format] = $dumper; - } - - /** - * Disables dumper backup. - */ - public function disableBackup() - { - foreach ($this->dumpers as $dumper) { - $dumper->setBackup(false); - } - } - - /** - * Obtains the list of supported formats. - * - * @return array - */ - public function getFormats() - { - return array_keys($this->dumpers); - } - - /** - * Writes translation from the catalogue according to the selected format. - * - * @param MessageCatalogue $catalogue The message catalogue to dump - * @param string $format The format to use to dump the messages - * @param array $options Options that are passed to the dumper - * - * @throws \InvalidArgumentException - */ - public function writeTranslations(MessageCatalogue $catalogue, $format, $options = array()) - { - if (!isset($this->dumpers[$format])) { - throw new \InvalidArgumentException(sprintf('There is no dumper associated with format "%s".', $format)); - } - - // get the right dumper - $dumper = $this->dumpers[$format]; - - if (isset($options['path']) && !is_dir($options['path'])) { - mkdir($options['path'], 0777, true); - } - - // save - $dumper->dump($catalogue, $options); - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/composer.json b/vendor/symfony/translation/Symfony/Component/Translation/composer.json deleted file mode 100644 index 8b3f17e..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/composer.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "symfony/translation", - "type": "library", - "description": "Symfony Translation Component", - "keywords": [], - "homepage": "http://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7", - "symfony/config": "~2.3,>=2.3.12", - "symfony/intl": "~2.3", - "symfony/yaml": "~2.2", - "psr/log": "~1.0" - }, - "suggest": { - "symfony/config": "", - "symfony/yaml": "", - "psr/log": "To use logging capability in translator" - }, - "autoload": { - "psr-0": { "Symfony\\Component\\Translation\\": "" } - }, - "target-dir": "Symfony/Component/Translation", - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - } -} diff --git a/vendor/symfony/translation/Symfony/Component/Translation/phpunit.xml.dist b/vendor/symfony/translation/Symfony/Component/Translation/phpunit.xml.dist deleted file mode 100644 index 16cca4a..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/phpunit.xml.dist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - ./Tests/ - - - - - - ./ - - ./vendor - ./Tests - - - - -- cgit v1.2.3-70-g09d2