summaryrefslogtreecommitdiffstats
path: root/vendor/symfony/translation/Symfony/Component
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-05-11 14:59:59 +0200
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-05-11 14:59:59 +0200
commitfa3a4e440f6daf241772331eaac322f3e0447750 (patch)
treeee47dce337a8eecb67da391d6b91768d09d22e6e /vendor/symfony/translation/Symfony/Component
parent1bb6c3bc23d08851f6af786f516b3cbc73a6f391 (diff)
downloadCatalog-fa3a4e440f6daf241772331eaac322f3e0447750.tar.gz
Catalog-fa3a4e440f6daf241772331eaac322f3e0447750.zip
Let composer manage the vendor and lock files
Diffstat (limited to 'vendor/symfony/translation/Symfony/Component')
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/.gitignore3
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/CHANGELOG.md42
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Catalogue/AbstractOperation.php146
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Catalogue/DiffOperation.php55
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Catalogue/MergeOperation.php51
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Catalogue/OperationInterface.php63
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/CsvFileDumper.php63
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/DumperInterface.php31
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/FileDumper.php122
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/IcuResFileDumper.php112
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/IniFileDumper.php45
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/JsonFileDumper.php42
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/MoFileDumper.php82
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/PhpFileDumper.php40
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/PoFileDumper.php61
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/QtFileDumper.php50
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/XliffFileDumper.php109
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Dumper/YamlFileDumper.php39
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Exception/ExceptionInterface.php23
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Exception/InvalidResourceException.php23
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Exception/NotFoundResourceException.php23
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Extractor/ChainExtractor.php60
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Extractor/ExtractorInterface.php38
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/IdentityTranslator.php77
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Interval.php107
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/LICENSE19
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/ArrayLoader.php70
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/CsvFileLoader.php92
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuDatFileLoader.php59
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuResFileLoader.php89
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/IniFileLoader.php45
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/JsonFileLoader.php78
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/LoaderInterface.php42
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/MoFileLoader.php188
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/PhpFileLoader.php49
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/PoFileLoader.php177
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/QtFileLoader.php78
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/XliffFileLoader.php185
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php71
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd2223
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xml.xsd309
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/LoggingTranslator.php132
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/MessageCatalogue.php293
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/MessageCatalogueInterface.php172
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php90
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/MetadataAwareInterface.php54
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/PluralizationRules.php214
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/README.md37
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/AbstractOperationTest.php73
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/DiffOperationTest.php82
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Catalogue/MergeOperationTest.php83
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/CsvFileDumperTest.php33
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/FileDumperTest.php70
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/IcuResFileDumperTest.php38
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/IniFileDumperTest.php32
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/JsonFileDumperTest.php36
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/MoFileDumperTest.php31
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/PhpFileDumperTest.php32
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/PoFileDumperTest.php31
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/QtFileDumperTest.php32
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/XliffFileDumperTest.php41
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Dumper/YamlFileDumperTest.php32
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/IdentityTranslatorTest.php95
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/IntervalTest.php48
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/CsvFileLoaderTest.php60
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IcuDatFileLoaderTest.php68
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IcuResFileLoaderTest.php55
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/IniFileLoaderTest.php50
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/JsonFileLoaderTest.php68
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/LocalizedTestCase.php22
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/MoFileLoaderTest.php71
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/PhpFileLoaderTest.php49
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/PoFileLoaderTest.php96
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/QtFileLoaderTest.php67
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php142
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/Loader/YamlFileLoaderTest.php70
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/LoggingTranslatorTest.php56
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/MessageCatalogueTest.php200
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/MessageSelectorTest.php98
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/PluralizationRulesTest.php123
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/TranslatorCacheTest.php231
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/TranslatorTest.php604
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.mobin49 -> 0 bytes
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.po3
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.csv0
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.ini0
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.json0
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.mo0
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.po0
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.xlf0
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.yml0
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/encoding.xlf16
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/escaped-id-plurals.po10
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/escaped-id.po8
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/invalid-xml-resources.xlf23
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/malformed.json3
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/non-valid.xlf11
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/non-valid.yml1
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.mobin74 -> 0 bytes
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.po5
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resname.xlf19
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/corrupted/resources.dat1
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.resbin120 -> 0 bytes
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.txt3
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.resbin124 -> 0 bytes
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.txt3
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/packagelist.txt2
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/resources.datbin352 -> 0 bytes
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/res/en.resbin84 -> 0 bytes
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources-clean.xlf22
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.csv4
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.ini1
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.json3
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.mobin52 -> 0 bytes
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.php5
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.po8
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.ts10
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.xlf23
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.yml1
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/valid.csv4
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/withdoctype.xlf12
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/withnote.xlf22
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Translator.php466
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/TranslatorBagInterface.php29
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/TranslatorInterface.php75
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Writer/TranslationWriter.php87
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/composer.json43
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/phpunit.xml.dist28
128 files changed, 0 insertions, 10143 deletions
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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <contact@jfsimon.fr>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <contact@jfsimon.fr>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <contact@jfsimon.fr>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <jeanfrancois.simon@sensiolabs.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <michelsalib@hotmail.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <michelsalib@hotmail.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <michelsalib@hotmail.com>
- */
-class PhpFileDumper extends FileDumper
-{
- /**
- * {@inheritdoc}
- */
- protected function format(MessageCatalogue $messages, $domain)
- {
- $output = "<?php\n\nreturn ".var_export($messages->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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <kontakt@beberlei.de>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <michelsalib@hotmail.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <michelsalib@hotmail.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <michelsalib@hotmail.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <michelsalib@hotmail.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 <<<EOF
- ({\s*
- (\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*)
- \s*})
-
- |
-
- (?P<left_delimiter>[\[\]])
- \s*
- (?P<left>-Inf|\-?\d+(\.\d+)?)
- \s*,\s*
- (?P<right>\+?Inf|\-?\d+(\.\d+)?)
- \s*
- (?P<right_delimiter>[\[\]])
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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ć <umpirsky@gmail.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <kontakt@beberlei.de>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-
-May-19-2004:
-- Changed the <choice> for ElemType_header, moving minOccurs="0" maxOccurs="unbounded" from its elements
-to <choice> itself.
-- Added <choice> for ElemType_trans-unit to allow "any order" for <context-group>, <count-group>, <prop-group>, <note>, and
-<alt-trans>.
-
-Oct-2005
-- updated version info to 1.2
-- equiv-trans attribute to <trans-unit> element
-- merged-trans attribute for <group> element
-- Add the <seg-source> element as optional in the <trans-unit> and <alt-trans> content models, at the same level as <source>
-- Create a new value "seg" for the mtype attribute of the <mrk> element
-- Add mid as an optional attribute for the <alt-trans> element
-
-Nov-14-2005
-- Changed name attribute for <context-group> from required to optional
-- Added extension point at <xliff>
-
-Jan-9-2006
-- Added alttranstype type attribute to <alt-trans>, and values
-
-Jan-10-2006
-- Corrected error with overwritten purposeValueList
-- Corrected name="AttrType_Version", attribute should have been "name"
-
--->
-<xsd:schema xmlns:xlf="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:oasis:names:tc:xliff:document:1.2" xml:lang="en">
- <!-- Import for xml:lang and xml:space -->
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
- <!-- Attributes Lists -->
- <xsd:simpleType name="XTend">
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="x-[^\s]+"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="context-typeValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'context-type'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="database">
- <xsd:annotation>
- <xsd:documentation>Indicates a database content.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="element">
- <xsd:annotation>
- <xsd:documentation>Indicates the content of an element within an XML document.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="elementtitle">
- <xsd:annotation>
- <xsd:documentation>Indicates the name of an element within an XML document.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="linenumber">
- <xsd:annotation>
- <xsd:documentation>Indicates the line number from the sourcefile (see context-type="sourcefile") where the &lt;source&gt; is found.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="numparams">
- <xsd:annotation>
- <xsd:documentation>Indicates a the number of parameters contained within the &lt;source&gt;.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="paramnotes">
- <xsd:annotation>
- <xsd:documentation>Indicates notes pertaining to the parameters in the &lt;source&gt;.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="record">
- <xsd:annotation>
- <xsd:documentation>Indicates the content of a record within a database.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="recordtitle">
- <xsd:annotation>
- <xsd:documentation>Indicates the name of a record within a database.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="sourcefile">
- <xsd:annotation>
- <xsd:documentation>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 &lt;file&gt; attribute in that this sourcefile is one of many that make up that file.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="count-typeValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'count-type'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="num-usages">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="repetition">
- <xsd:annotation>
- <xsd:documentation>Indicates the count units are translation units existing already in the same document.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="total">
- <xsd:annotation>
- <xsd:documentation>Indicates a total count.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="InlineDelimitersValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'ctype' when used other elements than &lt;ph&gt; or &lt;x&gt;.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="bold">
- <xsd:annotation>
- <xsd:documentation>Indicates a run of bolded text.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="italic">
- <xsd:annotation>
- <xsd:documentation>Indicates a run of text in italics.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="underlined">
- <xsd:annotation>
- <xsd:documentation>Indicates a run of underlined text.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="link">
- <xsd:annotation>
- <xsd:documentation>Indicates a run of hyper-text.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="InlinePlaceholdersValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'ctype' when used with &lt;ph&gt; or &lt;x&gt;.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="image">
- <xsd:annotation>
- <xsd:documentation>Indicates a inline image.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="pb">
- <xsd:annotation>
- <xsd:documentation>Indicates a page break.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="lb">
- <xsd:annotation>
- <xsd:documentation>Indicates a line break.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="mime-typeValueList">
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="(text|multipart|message|application|image|audio|video|model)(/.+)*"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="datatypeValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'datatype'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="asp">
- <xsd:annotation>
- <xsd:documentation>Indicates Active Server Page data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="c">
- <xsd:annotation>
- <xsd:documentation>Indicates C source file data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="cdf">
- <xsd:annotation>
- <xsd:documentation>Indicates Channel Definition Format (CDF) data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="cfm">
- <xsd:annotation>
- <xsd:documentation>Indicates ColdFusion data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="cpp">
- <xsd:annotation>
- <xsd:documentation>Indicates C++ source file data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="csharp">
- <xsd:annotation>
- <xsd:documentation>Indicates C-Sharp data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="cstring">
- <xsd:annotation>
- <xsd:documentation>Indicates strings from C, ASM, and driver files data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="csv">
- <xsd:annotation>
- <xsd:documentation>Indicates comma-separated values data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="database">
- <xsd:annotation>
- <xsd:documentation>Indicates database data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="documentfooter">
- <xsd:annotation>
- <xsd:documentation>Indicates portions of document that follows data and contains metadata.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="documentheader">
- <xsd:annotation>
- <xsd:documentation>Indicates portions of document that precedes data and contains metadata.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="filedialog">
- <xsd:annotation>
- <xsd:documentation>Indicates data from standard UI file operations dialogs (e.g., Open, Save, Save As, Export, Import).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="form">
- <xsd:annotation>
- <xsd:documentation>Indicates standard user input screen data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="html">
- <xsd:annotation>
- <xsd:documentation>Indicates HyperText Markup Language (HTML) data - document instance.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="htmlbody">
- <xsd:annotation>
- <xsd:documentation>Indicates content within an HTML document’s &lt;body&gt; element.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="ini">
- <xsd:annotation>
- <xsd:documentation>Indicates Windows INI file data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="interleaf">
- <xsd:annotation>
- <xsd:documentation>Indicates Interleaf data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="javaclass">
- <xsd:annotation>
- <xsd:documentation>Indicates Java source file data (extension '.java').</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="javapropertyresourcebundle">
- <xsd:annotation>
- <xsd:documentation>Indicates Java property resource bundle data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="javalistresourcebundle">
- <xsd:annotation>
- <xsd:documentation>Indicates Java list resource bundle data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="javascript">
- <xsd:annotation>
- <xsd:documentation>Indicates JavaScript source file data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="jscript">
- <xsd:annotation>
- <xsd:documentation>Indicates JScript source file data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="layout">
- <xsd:annotation>
- <xsd:documentation>Indicates information relating to formatting.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="lisp">
- <xsd:annotation>
- <xsd:documentation>Indicates LISP source file data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="margin">
- <xsd:annotation>
- <xsd:documentation>Indicates information relating to margin formats.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="menufile">
- <xsd:annotation>
- <xsd:documentation>Indicates a file containing menu.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="messagefile">
- <xsd:annotation>
- <xsd:documentation>Indicates numerically identified string table.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="mif">
- <xsd:annotation>
- <xsd:documentation>Indicates Maker Interchange Format (MIF) data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="mimetype">
- <xsd:annotation>
- <xsd:documentation>Indicates that the datatype attribute value is a MIME Type value and is defined in the mime-type attribute.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="mo">
- <xsd:annotation>
- <xsd:documentation>Indicates GNU Machine Object data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="msglib">
- <xsd:annotation>
- <xsd:documentation>Indicates Message Librarian strings created by Novell's Message Librarian Tool.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="pagefooter">
- <xsd:annotation>
- <xsd:documentation>Indicates information to be displayed at the bottom of each page of a document.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="pageheader">
- <xsd:annotation>
- <xsd:documentation>Indicates information to be displayed at the top of each page of a document.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="parameters">
- <xsd:annotation>
- <xsd:documentation>Indicates a list of property values (e.g., settings within INI files or preferences dialog).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="pascal">
- <xsd:annotation>
- <xsd:documentation>Indicates Pascal source file data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="php">
- <xsd:annotation>
- <xsd:documentation>Indicates Hypertext Preprocessor data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="plaintext">
- <xsd:annotation>
- <xsd:documentation>Indicates plain text file (no formatting other than, possibly, wrapping).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="po">
- <xsd:annotation>
- <xsd:documentation>Indicates GNU Portable Object file.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="report">
- <xsd:annotation>
- <xsd:documentation>Indicates dynamically generated user defined document. e.g. Oracle Report, Crystal Report, etc.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="resources">
- <xsd:annotation>
- <xsd:documentation>Indicates Windows .NET binary resources.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="resx">
- <xsd:annotation>
- <xsd:documentation>Indicates Windows .NET Resources.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="rtf">
- <xsd:annotation>
- <xsd:documentation>Indicates Rich Text Format (RTF) data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="sgml">
- <xsd:annotation>
- <xsd:documentation>Indicates Standard Generalized Markup Language (SGML) data - document instance.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="sgmldtd">
- <xsd:annotation>
- <xsd:documentation>Indicates Standard Generalized Markup Language (SGML) data - Document Type Definition (DTD).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="svg">
- <xsd:annotation>
- <xsd:documentation>Indicates Scalable Vector Graphic (SVG) data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="vbscript">
- <xsd:annotation>
- <xsd:documentation>Indicates VisualBasic Script source file.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="warning">
- <xsd:annotation>
- <xsd:documentation>Indicates warning message.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="winres">
- <xsd:annotation>
- <xsd:documentation>Indicates Windows (Win32) resources (i.e. resources extracted from an RC script, a message file, or a compiled file).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="xhtml">
- <xsd:annotation>
- <xsd:documentation>Indicates Extensible HyperText Markup Language (XHTML) data - document instance.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="xml">
- <xsd:annotation>
- <xsd:documentation>Indicates Extensible Markup Language (XML) data - document instance.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="xmldtd">
- <xsd:annotation>
- <xsd:documentation>Indicates Extensible Markup Language (XML) data - Document Type Definition (DTD).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="xsl">
- <xsd:annotation>
- <xsd:documentation>Indicates Extensible Stylesheet Language (XSL) data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="xul">
- <xsd:annotation>
- <xsd:documentation>Indicates XUL elements.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="mtypeValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'mtype'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="abbrev">
- <xsd:annotation>
- <xsd:documentation>Indicates the marked text is an abbreviation.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="abbreviated-form">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.8: A term resulting from the omission of any part of the full term while designating the same concept.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="abbreviation">
- <xsd:annotation>
- <xsd:documentation>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').</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="acronym">
- <xsd:annotation>
- <xsd:documentation>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').</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="appellation">
- <xsd:annotation>
- <xsd:documentation>ISO-12620: A proper-name term, such as the name of an agency or other proper entity.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="collocation">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="common-name">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.5: A synonym for an international scientific term that is used in general discourse in a given language.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="datetime">
- <xsd:annotation>
- <xsd:documentation>Indicates the marked text is a date and/or time.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="equation">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="expanded-form">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.7: The complete representation of a term for which there is an abbreviated form.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="formula">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.14: Figures, symbols or the like used to express a concept briefly, such as a mathematical or chemical formula.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="head-term">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.1: The concept designation that has been chosen to head a terminological record.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="initialism">
- <xsd:annotation>
- <xsd:documentation>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').</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="international-scientific-term">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.4: A term that is part of an international scientific nomenclature as adopted by an appropriate scientific body.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="internationalism">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.6: A term that has the same or nearly identical orthographic or phonemic form in many languages.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="logical-expression">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="materials-management-unit">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.17: A unit to track object.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="name">
- <xsd:annotation>
- <xsd:documentation>Indicates the marked text is a name.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="near-synonym">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="part-number">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.17.2: A unique alphanumeric designation assigned to an object in a manufacturing system.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="phrase">
- <xsd:annotation>
- <xsd:documentation>Indicates the marked text is a phrase.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="phraseological-unit">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="protected">
- <xsd:annotation>
- <xsd:documentation>Indicates the marked text should not be translated.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="romanized-form">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="seg">
- <xsd:annotation>
- <xsd:documentation>Indicates that the marked text represents a segment.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="set-phrase">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.18.2: A fixed, lexicalized phrase.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="short-form">
- <xsd:annotation>
- <xsd:documentation>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').</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="sku">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="standard-text">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.19: A fixed chunk of recurring text.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="symbol">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.13: A designation of a concept by letters, numerals, pictograms or any combination thereof.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="synonym">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="synonymous-phrase">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.18.3: Phraseological unit in a language that expresses the same semantic content as another phrase in that same language.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="term">
- <xsd:annotation>
- <xsd:documentation>Indicates the marked text is a term.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="transcribed-form">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="transliterated-form">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="truncated-term">
- <xsd:annotation>
- <xsd:documentation>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').</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="variant">
- <xsd:annotation>
- <xsd:documentation>ISO-12620 2.1.9: One of the alternate forms of a term.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="restypeValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'restype'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="auto3state">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC AUTO3STATE control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="autocheckbox">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC AUTOCHECKBOX control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="autoradiobutton">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC AUTORADIOBUTTON control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="bedit">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC BEDIT control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="bitmap">
- <xsd:annotation>
- <xsd:documentation>Indicates a bitmap, for example a BITMAP resource in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="button">
- <xsd:annotation>
- <xsd:documentation>Indicates a button object, for example a BUTTON control Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="caption">
- <xsd:annotation>
- <xsd:documentation>Indicates a caption, such as the caption of a dialog box.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="cell">
- <xsd:annotation>
- <xsd:documentation>Indicates the cell in a table, for example the content of the &lt;td&gt; element in HTML.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="checkbox">
- <xsd:annotation>
- <xsd:documentation>Indicates check box object, for example a CHECKBOX control in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="checkboxmenuitem">
- <xsd:annotation>
- <xsd:documentation>Indicates a menu item with an associated checkbox.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="checkedlistbox">
- <xsd:annotation>
- <xsd:documentation>Indicates a list box, but with a check-box for each item.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="colorchooser">
- <xsd:annotation>
- <xsd:documentation>Indicates a color selection dialog.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="combobox">
- <xsd:annotation>
- <xsd:documentation>Indicates a combination of edit box and listbox object, for example a COMBOBOX control in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="comboboxexitem">
- <xsd:annotation>
- <xsd:documentation>Indicates an initialization entry of an extended combobox DLGINIT resource block. (code 0x1234).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="comboboxitem">
- <xsd:annotation>
- <xsd:documentation>Indicates an initialization entry of a combobox DLGINIT resource block (code 0x0403).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="component">
- <xsd:annotation>
- <xsd:documentation>Indicates a UI base class element that cannot be represented by any other element.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="contextmenu">
- <xsd:annotation>
- <xsd:documentation>Indicates a context menu.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="ctext">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC CTEXT control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="cursor">
- <xsd:annotation>
- <xsd:documentation>Indicates a cursor, for example a CURSOR resource in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="datetimepicker">
- <xsd:annotation>
- <xsd:documentation>Indicates a date/time picker.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="defpushbutton">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC DEFPUSHBUTTON control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="dialog">
- <xsd:annotation>
- <xsd:documentation>Indicates a dialog box.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="dlginit">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC DLGINIT resource block.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="edit">
- <xsd:annotation>
- <xsd:documentation>Indicates an edit box object, for example an EDIT control in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="file">
- <xsd:annotation>
- <xsd:documentation>Indicates a filename.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="filechooser">
- <xsd:annotation>
- <xsd:documentation>Indicates a file dialog.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="fn">
- <xsd:annotation>
- <xsd:documentation>Indicates a footnote.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="font">
- <xsd:annotation>
- <xsd:documentation>Indicates a font name.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="footer">
- <xsd:annotation>
- <xsd:documentation>Indicates a footer.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="frame">
- <xsd:annotation>
- <xsd:documentation>Indicates a frame object.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="grid">
- <xsd:annotation>
- <xsd:documentation>Indicates a XUL grid element.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="groupbox">
- <xsd:annotation>
- <xsd:documentation>Indicates a groupbox object, for example a GROUPBOX control in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="header">
- <xsd:annotation>
- <xsd:documentation>Indicates a header item.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="heading">
- <xsd:annotation>
- <xsd:documentation>Indicates a heading, such has the content of &lt;h1&gt;, &lt;h2&gt;, etc. in HTML.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="hedit">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC HEDIT control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="hscrollbar">
- <xsd:annotation>
- <xsd:documentation>Indicates a horizontal scrollbar.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="icon">
- <xsd:annotation>
- <xsd:documentation>Indicates an icon, for example an ICON resource in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="iedit">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC IEDIT control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="keywords">
- <xsd:annotation>
- <xsd:documentation>Indicates keyword list, such as the content of the Keywords meta-data in HTML, or a K footnote in WinHelp RTF.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="label">
- <xsd:annotation>
- <xsd:documentation>Indicates a label object.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="linklabel">
- <xsd:annotation>
- <xsd:documentation>Indicates a label that is also a HTML link (not necessarily a URL).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="list">
- <xsd:annotation>
- <xsd:documentation>Indicates a list (a group of list-items, for example an &lt;ol&gt; or &lt;ul&gt; element in HTML).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="listbox">
- <xsd:annotation>
- <xsd:documentation>Indicates a listbox object, for example an LISTBOX control in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="listitem">
- <xsd:annotation>
- <xsd:documentation>Indicates an list item (an entry in a list).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="ltext">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC LTEXT control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="menu">
- <xsd:annotation>
- <xsd:documentation>Indicates a menu (a group of menu-items).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="menubar">
- <xsd:annotation>
- <xsd:documentation>Indicates a toolbar containing one or more tope level menus.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="menuitem">
- <xsd:annotation>
- <xsd:documentation>Indicates a menu item (an entry in a menu).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="menuseparator">
- <xsd:annotation>
- <xsd:documentation>Indicates a XUL menuseparator element.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="message">
- <xsd:annotation>
- <xsd:documentation>Indicates a message, for example an entry in a MESSAGETABLE resource in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="monthcalendar">
- <xsd:annotation>
- <xsd:documentation>Indicates a calendar control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="numericupdown">
- <xsd:annotation>
- <xsd:documentation>Indicates an edit box beside a spin control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="panel">
- <xsd:annotation>
- <xsd:documentation>Indicates a catch all for rectangular areas.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="popupmenu">
- <xsd:annotation>
- <xsd:documentation>Indicates a standalone menu not necessarily associated with a menubar.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="pushbox">
- <xsd:annotation>
- <xsd:documentation>Indicates a pushbox object, for example a PUSHBOX control in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="pushbutton">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC PUSHBUTTON control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="radio">
- <xsd:annotation>
- <xsd:documentation>Indicates a radio button object.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="radiobuttonmenuitem">
- <xsd:annotation>
- <xsd:documentation>Indicates a menuitem with associated radio button.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="rcdata">
- <xsd:annotation>
- <xsd:documentation>Indicates raw data resources for an application.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="row">
- <xsd:annotation>
- <xsd:documentation>Indicates a row in a table.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="rtext">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC RTEXT control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="scrollpane">
- <xsd:annotation>
- <xsd:documentation>Indicates a user navigable container used to show a portion of a document.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="separator">
- <xsd:annotation>
- <xsd:documentation>Indicates a generic divider object (e.g. menu group separator).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="shortcut">
- <xsd:annotation>
- <xsd:documentation>Windows accelerators, shortcuts in resource or property files.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="spinner">
- <xsd:annotation>
- <xsd:documentation>Indicates a UI control to indicate process activity but not progress.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="splitter">
- <xsd:annotation>
- <xsd:documentation>Indicates a splitter bar.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="state3">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC STATE3 control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="statusbar">
- <xsd:annotation>
- <xsd:documentation>Indicates a window for providing feedback to the users, like 'read-only', etc.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="string">
- <xsd:annotation>
- <xsd:documentation>Indicates a string, for example an entry in a STRINGTABLE resource in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="tabcontrol">
- <xsd:annotation>
- <xsd:documentation>Indicates a layers of controls with a tab to select layers.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="table">
- <xsd:annotation>
- <xsd:documentation>Indicates a display and edits regular two-dimensional tables of cells.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="textbox">
- <xsd:annotation>
- <xsd:documentation>Indicates a XUL textbox element.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="togglebutton">
- <xsd:annotation>
- <xsd:documentation>Indicates a UI button that can be toggled to on or off state.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="toolbar">
- <xsd:annotation>
- <xsd:documentation>Indicates an array of controls, usually buttons.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="tooltip">
- <xsd:annotation>
- <xsd:documentation>Indicates a pop up tool tip text.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="trackbar">
- <xsd:annotation>
- <xsd:documentation>Indicates a bar with a pointer indicating a position within a certain range.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="tree">
- <xsd:annotation>
- <xsd:documentation>Indicates a control that displays a set of hierarchical data.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="uri">
- <xsd:annotation>
- <xsd:documentation>Indicates a URI (URN or URL).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="userbutton">
- <xsd:annotation>
- <xsd:documentation>Indicates a Windows RC USERBUTTON control.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="usercontrol">
- <xsd:annotation>
- <xsd:documentation>Indicates a user-defined control like CONTROL control in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="var">
- <xsd:annotation>
- <xsd:documentation>Indicates the text of a variable.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="versioninfo">
- <xsd:annotation>
- <xsd:documentation>Indicates version information about a resource like VERSIONINFO in Windows.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="vscrollbar">
- <xsd:annotation>
- <xsd:documentation>Indicates a vertical scrollbar.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="window">
- <xsd:annotation>
- <xsd:documentation>Indicates a graphical window.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="size-unitValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'size-unit'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="byte">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in 8-bit bytes.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="char">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in Unicode characters.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="col">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in columns. Used for HTML text area.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="cm">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in centimeters.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="dlgunit">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in dialog units, as defined in Windows resources.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="em">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in 'font-size' units (as defined in CSS).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="ex">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in 'x-height' units (as defined in CSS).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="glyph">
- <xsd:annotation>
- <xsd:documentation>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'</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="in">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in inches.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="mm">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in millimeters.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="percent">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in percentage.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="pixel">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in pixels.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="point">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in point.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="row">
- <xsd:annotation>
- <xsd:documentation>Indicates a size in rows. Used for HTML text area.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="stateValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'state'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="final">
- <xsd:annotation>
- <xsd:documentation>Indicates the terminating state.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="needs-adaptation">
- <xsd:annotation>
- <xsd:documentation>Indicates only non-textual information needs adaptation.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="needs-l10n">
- <xsd:annotation>
- <xsd:documentation>Indicates both text and non-textual information needs adaptation.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="needs-review-adaptation">
- <xsd:annotation>
- <xsd:documentation>Indicates only non-textual information needs review.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="needs-review-l10n">
- <xsd:annotation>
- <xsd:documentation>Indicates both text and non-textual information needs review.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="needs-review-translation">
- <xsd:annotation>
- <xsd:documentation>Indicates that only the text of the item needs to be reviewed.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="needs-translation">
- <xsd:annotation>
- <xsd:documentation>Indicates that the item needs to be translated.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="new">
- <xsd:annotation>
- <xsd:documentation>Indicates that the item is new. For example, translation units that were not in a previous version of the document.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="signed-off">
- <xsd:annotation>
- <xsd:documentation>Indicates that changes are reviewed and approved.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="translated">
- <xsd:annotation>
- <xsd:documentation>Indicates that the item has been translated.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="state-qualifierValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'state-qualifier'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="exact-match">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="fuzzy-match">
- <xsd:annotation>
- <xsd:documentation>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.).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="id-match">
- <xsd:annotation>
- <xsd:documentation>Indicates a match based on matching IDs (in addition to matching text).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="leveraged-glossary">
- <xsd:annotation>
- <xsd:documentation>Indicates a translation derived from a glossary.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="leveraged-inherited">
- <xsd:annotation>
- <xsd:documentation>Indicates a translation derived from existing translation.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="leveraged-mt">
- <xsd:annotation>
- <xsd:documentation>Indicates a translation derived from machine translation.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="leveraged-repository">
- <xsd:annotation>
- <xsd:documentation>Indicates a translation derived from a translation repository.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="leveraged-tm">
- <xsd:annotation>
- <xsd:documentation>Indicates a translation derived from a translation memory.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="mt-suggestion">
- <xsd:annotation>
- <xsd:documentation>Indicates the translation is suggested by machine translation.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="rejected-grammar">
- <xsd:annotation>
- <xsd:documentation>Indicates that the item has been rejected because of incorrect grammar.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="rejected-inaccurate">
- <xsd:annotation>
- <xsd:documentation>Indicates that the item has been rejected because it is incorrect.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="rejected-length">
- <xsd:annotation>
- <xsd:documentation>Indicates that the item has been rejected because it is too long or too short.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="rejected-spelling">
- <xsd:annotation>
- <xsd:documentation>Indicates that the item has been rejected because of incorrect spelling.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="tm-suggestion">
- <xsd:annotation>
- <xsd:documentation>Indicates the translation is suggested by translation memory.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="unitValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'unit'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="word">
- <xsd:annotation>
- <xsd:documentation>Refers to words.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="page">
- <xsd:annotation>
- <xsd:documentation>Refers to pages.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="trans-unit">
- <xsd:annotation>
- <xsd:documentation>Refers to &lt;trans-unit&gt; elements.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="bin-unit">
- <xsd:annotation>
- <xsd:documentation>Refers to &lt;bin-unit&gt; elements.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="glyph">
- <xsd:annotation>
- <xsd:documentation>Refers to glyphs.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="item">
- <xsd:annotation>
- <xsd:documentation>Refers to &lt;trans-unit&gt; and/or &lt;bin-unit&gt; elements.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="instance">
- <xsd:annotation>
- <xsd:documentation>Refers to the occurrences of instances defined by the count-type value.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="character">
- <xsd:annotation>
- <xsd:documentation>Refers to characters.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="line">
- <xsd:annotation>
- <xsd:documentation>Refers to lines.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="sentence">
- <xsd:annotation>
- <xsd:documentation>Refers to sentences.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="paragraph">
- <xsd:annotation>
- <xsd:documentation>Refers to paragraphs.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="segment">
- <xsd:annotation>
- <xsd:documentation>Refers to segments.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="placeable">
- <xsd:annotation>
- <xsd:documentation>Refers to placeables (inline elements).</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="priorityValueList">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'priority'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:positiveInteger">
- <xsd:enumeration value="1">
- <xsd:annotation>
- <xsd:documentation>Highest priority.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="2">
- <xsd:annotation>
- <xsd:documentation>High priority.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="3">
- <xsd:annotation>
- <xsd:documentation>High priority, but not as important as 2.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="4">
- <xsd:annotation>
- <xsd:documentation>High priority, but not as important as 3.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="5">
- <xsd:annotation>
- <xsd:documentation>Medium priority, but more important than 6.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="6">
- <xsd:annotation>
- <xsd:documentation>Medium priority, but less important than 5.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="7">
- <xsd:annotation>
- <xsd:documentation>Low priority, but more important than 8.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="8">
- <xsd:annotation>
- <xsd:documentation>Low priority, but more important than 9.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="9">
- <xsd:annotation>
- <xsd:documentation>Low priority.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="10">
- <xsd:annotation>
- <xsd:documentation>Lowest priority.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="reformatValueYesNo">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="yes">
- <xsd:annotation>
- <xsd:documentation>This value indicates that all properties can be reformatted. This value must be used alone.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="no">
- <xsd:annotation>
- <xsd:documentation>This value indicates that no properties should be reformatted. This value must be used alone.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="reformatValueList">
- <xsd:list>
- <xsd:simpleType>
- <xsd:union memberTypes="xlf:XTend">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="coord">
- <xsd:annotation>
- <xsd:documentation>This value indicates that all information in the coord attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="coord-x">
- <xsd:annotation>
- <xsd:documentation>This value indicates that the x information in the coord attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="coord-y">
- <xsd:annotation>
- <xsd:documentation>This value indicates that the y information in the coord attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="coord-cx">
- <xsd:annotation>
- <xsd:documentation>This value indicates that the cx information in the coord attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="coord-cy">
- <xsd:annotation>
- <xsd:documentation>This value indicates that the cy information in the coord attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="font">
- <xsd:annotation>
- <xsd:documentation>This value indicates that all the information in the font attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="font-name">
- <xsd:annotation>
- <xsd:documentation>This value indicates that the name information in the font attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="font-size">
- <xsd:annotation>
- <xsd:documentation>This value indicates that the size information in the font attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="font-weight">
- <xsd:annotation>
- <xsd:documentation>This value indicates that the weight information in the font attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="css-style">
- <xsd:annotation>
- <xsd:documentation>This value indicates that the information in the css-style attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="style">
- <xsd:annotation>
- <xsd:documentation>This value indicates that the information in the style attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="ex-style">
- <xsd:annotation>
- <xsd:documentation>This value indicates that the information in the exstyle attribute can be modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:union>
- </xsd:simpleType>
- </xsd:list>
- </xsd:simpleType>
- <xsd:simpleType name="purposeValueList">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="information">
- <xsd:annotation>
- <xsd:documentation>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.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="location">
- <xsd:annotation>
- <xsd:documentation>Indicates that the context-group is used to specify where the term was found in the translatable source. Thus, it is not displayed.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="match">
- <xsd:annotation>
- <xsd:documentation>Indicates that the context information should be used during translation memory lookups. Thus, it is not displayed.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="alttranstypeValueList">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="proposal">
- <xsd:annotation>
- <xsd:documentation>Represents a translation proposal from a translation memory or other resource.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="previous-version">
- <xsd:annotation>
- <xsd:documentation>Represents a previous version of the target element.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="rejected">
- <xsd:annotation>
- <xsd:documentation>Represents a rejected version of the target element.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="reference">
- <xsd:annotation>
- <xsd:documentation>Represents a translation to be used for reference purposes only, for example from a related product or a different language.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="accepted">
- <xsd:annotation>
- <xsd:documentation>Represents a proposed translation that was used for the translation of the trans-unit, possibly modified.</xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Other Types -->
- <xsd:complexType name="ElemType_ExternalReference">
- <xsd:choice>
- <xsd:element ref="xlf:internal-file"/>
- <xsd:element ref="xlf:external-file"/>
- </xsd:choice>
- </xsd:complexType>
- <xsd:simpleType name="AttrType_purpose">
- <xsd:list>
- <xsd:simpleType>
- <xsd:union memberTypes="xlf:purposeValueList xlf:XTend"/>
- </xsd:simpleType>
- </xsd:list>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_datatype">
- <xsd:union memberTypes="xlf:datatypeValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_restype">
- <xsd:union memberTypes="xlf:restypeValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_alttranstype">
- <xsd:union memberTypes="xlf:alttranstypeValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_context-type">
- <xsd:union memberTypes="xlf:context-typeValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_state">
- <xsd:union memberTypes="xlf:stateValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_state-qualifier">
- <xsd:union memberTypes="xlf:state-qualifierValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_count-type">
- <xsd:union memberTypes="xlf:restypeValueList xlf:count-typeValueList xlf:datatypeValueList xlf:stateValueList xlf:state-qualifierValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_InlineDelimiters">
- <xsd:union memberTypes="xlf:InlineDelimitersValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_InlinePlaceholders">
- <xsd:union memberTypes="xlf:InlinePlaceholdersValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_size-unit">
- <xsd:union memberTypes="xlf:size-unitValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_mtype">
- <xsd:union memberTypes="xlf:mtypeValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_unit">
- <xsd:union memberTypes="xlf:unitValueList xlf:XTend"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_priority">
- <xsd:union memberTypes="xlf:priorityValueList"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_reformat">
- <xsd:union memberTypes="xlf:reformatValueYesNo xlf:reformatValueList"/>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_YesNo">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="yes"/>
- <xsd:enumeration value="no"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_Position">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="open"/>
- <xsd:enumeration value="close"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_assoc">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="preceding"/>
- <xsd:enumeration value="following"/>
- <xsd:enumeration value="both"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_annotates">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="source"/>
- <xsd:enumeration value="target"/>
- <xsd:enumeration value="general"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_Coordinates">
- <xsd:annotation>
- <xsd:documentation>Values for the attribute 'coord'.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="(-?\d+|#);(-?\d+|#);(-?\d+|#);(-?\d+|#)"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="AttrType_Version">
- <xsd:annotation>
- <xsd:documentation>Version values: 1.0 and 1.1 are allowed for backward compatibility.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="1.2"/>
- <xsd:enumeration value="1.1"/>
- <xsd:enumeration value="1.0"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Groups -->
- <xsd:group name="ElemGroup_TextContent">
- <xsd:choice>
- <xsd:element ref="xlf:g"/>
- <xsd:element ref="xlf:bpt"/>
- <xsd:element ref="xlf:ept"/>
- <xsd:element ref="xlf:ph"/>
- <xsd:element ref="xlf:it"/>
- <xsd:element ref="xlf:mrk"/>
- <xsd:element ref="xlf:x"/>
- <xsd:element ref="xlf:bx"/>
- <xsd:element ref="xlf:ex"/>
- </xsd:choice>
- </xsd:group>
- <xsd:attributeGroup name="AttrGroup_TextContent">
- <xsd:attribute name="id" type="xsd:string" use="required"/>
- <xsd:attribute name="xid" type="xsd:string" use="optional"/>
- <xsd:attribute name="equiv-text" type="xsd:string" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:attributeGroup>
- <!-- XLIFF Structure -->
- <xsd:element name="xliff">
- <xsd:complexType>
- <xsd:sequence maxOccurs="unbounded">
- <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
- <xsd:element ref="xlf:file"/>
- </xsd:sequence>
- <xsd:attribute name="version" type="xlf:AttrType_Version" use="required"/>
- <xsd:attribute ref="xml:lang" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="file">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element minOccurs="0" ref="xlf:header"/>
- <xsd:element ref="xlf:body"/>
- </xsd:sequence>
- <xsd:attribute name="original" type="xsd:string" use="required"/>
- <xsd:attribute name="source-language" type="xsd:language" use="required"/>
- <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="required"/>
- <xsd:attribute name="tool-id" type="xsd:string" use="optional"/>
- <xsd:attribute name="date" type="xsd:dateTime" use="optional"/>
- <xsd:attribute ref="xml:space" use="optional"/>
- <xsd:attribute name="category" type="xsd:string" use="optional"/>
- <xsd:attribute name="target-language" type="xsd:language" use="optional"/>
- <xsd:attribute name="product-name" type="xsd:string" use="optional"/>
- <xsd:attribute name="product-version" type="xsd:string" use="optional"/>
- <xsd:attribute name="build-num" type="xsd:string" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- <xsd:unique name="U_group_id">
- <xsd:selector xpath=".//xlf:group"/>
- <xsd:field xpath="@id"/>
- </xsd:unique>
- <xsd:key name="K_unit_id">
- <xsd:selector xpath=".//xlf:trans-unit|.//xlf:bin-unit"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:keyref name="KR_unit_id" refer="xlf:K_unit_id">
- <xsd:selector xpath=".//bpt|.//ept|.//it|.//ph|.//g|.//x|.//bx|.//ex|.//sub"/>
- <xsd:field xpath="@xid"/>
- </xsd:keyref>
- <xsd:key name="K_tool-id">
- <xsd:selector xpath="xlf:header/xlf:tool"/>
- <xsd:field xpath="@tool-id"/>
- </xsd:key>
- <xsd:keyref name="KR_file_tool-id" refer="xlf:K_tool-id">
- <xsd:selector xpath="."/>
- <xsd:field xpath="@tool-id"/>
- </xsd:keyref>
- <xsd:keyref name="KR_phase_tool-id" refer="xlf:K_tool-id">
- <xsd:selector xpath="xlf:header/xlf:phase-group/xlf:phase"/>
- <xsd:field xpath="@tool-id"/>
- </xsd:keyref>
- <xsd:keyref name="KR_alt-trans_tool-id" refer="xlf:K_tool-id">
- <xsd:selector xpath=".//xlf:trans-unit/xlf:alt-trans"/>
- <xsd:field xpath="@tool-id"/>
- </xsd:keyref>
- <xsd:key name="K_count-group_name">
- <xsd:selector xpath=".//xlf:count-group"/>
- <xsd:field xpath="@name"/>
- </xsd:key>
- <xsd:unique name="U_context-group_name">
- <xsd:selector xpath=".//xlf:context-group"/>
- <xsd:field xpath="@name"/>
- </xsd:unique>
- <xsd:key name="K_phase-name">
- <xsd:selector xpath="xlf:header/xlf:phase-group/xlf:phase"/>
- <xsd:field xpath="@phase-name"/>
- </xsd:key>
- <xsd:keyref name="KR_phase-name" refer="xlf:K_phase-name">
- <xsd:selector xpath=".//xlf:count|.//xlf:trans-unit|.//xlf:target|.//bin-unit|.//bin-target"/>
- <xsd:field xpath="@phase-name"/>
- </xsd:keyref>
- <xsd:unique name="U_uid">
- <xsd:selector xpath=".//xlf:external-file"/>
- <xsd:field xpath="@uid"/>
- </xsd:unique>
- </xsd:element>
- <xsd:element name="header">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element minOccurs="0" name="skl" type="xlf:ElemType_ExternalReference"/>
- <xsd:element minOccurs="0" ref="xlf:phase-group"/>
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element name="glossary" type="xlf:ElemType_ExternalReference"/>
- <xsd:element name="reference" type="xlf:ElemType_ExternalReference"/>
- <xsd:element ref="xlf:count-group"/>
- <xsd:element ref="xlf:note"/>
- <xsd:element ref="xlf:tool"/>
- </xsd:choice>
- <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="internal-file">
- <xsd:complexType>
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:attribute name="form" type="xsd:string"/>
- <xsd:attribute name="crc" type="xsd:NMTOKEN"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="external-file">
- <xsd:complexType>
- <xsd:attribute name="href" type="xsd:string" use="required"/>
- <xsd:attribute name="crc" type="xsd:NMTOKEN"/>
- <xsd:attribute name="uid" type="xsd:NMTOKEN"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="note">
- <xsd:complexType>
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:attribute ref="xml:lang" use="optional"/>
- <xsd:attribute default="1" name="priority" type="xlf:AttrType_priority" use="optional"/>
- <xsd:attribute name="from" type="xsd:string" use="optional"/>
- <xsd:attribute default="general" name="annotates" type="xlf:AttrType_annotates" use="optional"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="phase-group">
- <xsd:complexType>
- <xsd:sequence maxOccurs="unbounded">
- <xsd:element ref="xlf:phase"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="phase">
- <xsd:complexType>
- <xsd:sequence maxOccurs="unbounded" minOccurs="0">
- <xsd:element ref="xlf:note"/>
- </xsd:sequence>
- <xsd:attribute name="phase-name" type="xsd:string" use="required"/>
- <xsd:attribute name="process-name" type="xsd:string" use="required"/>
- <xsd:attribute name="company-name" type="xsd:string" use="optional"/>
- <xsd:attribute name="tool-id" type="xsd:string" use="optional"/>
- <xsd:attribute name="date" type="xsd:dateTime" use="optional"/>
- <xsd:attribute name="job-id" type="xsd:string" use="optional"/>
- <xsd:attribute name="contact-name" type="xsd:string" use="optional"/>
- <xsd:attribute name="contact-email" type="xsd:string" use="optional"/>
- <xsd:attribute name="contact-phone" type="xsd:string" use="optional"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="count-group">
- <xsd:complexType>
- <xsd:sequence maxOccurs="unbounded" minOccurs="0">
- <xsd:element ref="xlf:count"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="count">
- <xsd:complexType>
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:attribute name="count-type" type="xlf:AttrType_count-type" use="optional"/>
- <xsd:attribute name="phase-name" type="xsd:string" use="optional"/>
- <xsd:attribute default="word" name="unit" type="xlf:AttrType_unit" use="optional"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="context-group">
- <xsd:complexType>
- <xsd:sequence maxOccurs="unbounded">
- <xsd:element ref="xlf:context"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="optional"/>
- <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="purpose" type="xlf:AttrType_purpose" use="optional"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="context">
- <xsd:complexType>
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:attribute name="context-type" type="xlf:AttrType_context-type" use="required"/>
- <xsd:attribute default="no" name="match-mandatory" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="tool">
- <xsd:complexType mixed="true">
- <xsd:sequence>
- <xsd:any namespace="##any" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="tool-id" type="xsd:string" use="required"/>
- <xsd:attribute name="tool-name" type="xsd:string" use="required"/>
- <xsd:attribute name="tool-version" type="xsd:string" use="optional"/>
- <xsd:attribute name="tool-company" type="xsd:string" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="body">
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:bin-unit"/>
- </xsd:choice>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="group">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:context-group"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:count-group"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/>
- <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
- </xsd:sequence>
- <xsd:choice maxOccurs="unbounded">
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:bin-unit"/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:string" use="optional"/>
- <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
- <xsd:attribute default="default" ref="xml:space" use="optional"/>
- <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
- <xsd:attribute name="resname" type="xsd:string" use="optional"/>
- <xsd:attribute name="extradata" type="xsd:string" use="optional"/>
- <xsd:attribute name="extype" type="xsd:string" use="optional"/>
- <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="menu" type="xsd:string" use="optional"/>
- <xsd:attribute name="menu-option" type="xsd:string" use="optional"/>
- <xsd:attribute name="menu-name" type="xsd:string" use="optional"/>
- <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
- <xsd:attribute name="font" type="xsd:string" use="optional"/>
- <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
- <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/>
- <xsd:attribute default="pixel" name="size-unit" type="xlf:AttrType_size-unit" use="optional"/>
- <xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="charclass" type="xsd:string" use="optional"/>
- <xsd:attribute default="no" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="trans-unit">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="xlf:source"/>
- <xsd:element minOccurs="0" ref="xlf:seg-source"/>
- <xsd:element minOccurs="0" ref="xlf:target"/>
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element ref="xlf:context-group"/>
- <xsd:element ref="xlf:count-group"/>
- <xsd:element ref="xlf:note"/>
- <xsd:element ref="xlf:alt-trans"/>
- </xsd:choice>
- <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:string" use="required"/>
- <xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/>
- <xsd:attribute default="default" ref="xml:space" use="optional"/>
- <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
- <xsd:attribute name="phase-name" type="xsd:string" use="optional"/>
- <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
- <xsd:attribute name="resname" type="xsd:string" use="optional"/>
- <xsd:attribute name="extradata" type="xsd:string" use="optional"/>
- <xsd:attribute name="extype" type="xsd:string" use="optional"/>
- <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="menu" type="xsd:string" use="optional"/>
- <xsd:attribute name="menu-option" type="xsd:string" use="optional"/>
- <xsd:attribute name="menu-name" type="xsd:string" use="optional"/>
- <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
- <xsd:attribute name="font" type="xsd:string" use="optional"/>
- <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
- <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute default="pixel" name="size-unit" type="xlf:AttrType_size-unit" use="optional"/>
- <xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="charclass" type="xsd:string" use="optional"/>
- <xsd:attribute default="yes" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- <xsd:unique name="U_tu_segsrc_mid">
- <xsd:selector xpath="./xlf:seg-source/xlf:mrk"/>
- <xsd:field xpath="@mid"/>
- </xsd:unique>
- <xsd:keyref name="KR_tu_segsrc_mid" refer="xlf:U_tu_segsrc_mid">
- <xsd:selector xpath="./xlf:target/xlf:mrk|./xlf:alt-trans"/>
- <xsd:field xpath="@mid"/>
- </xsd:keyref>
- </xsd:element>
- <xsd:element name="source">
- <xsd:complexType mixed="true">
- <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
- <xsd:attribute ref="xml:lang" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- <xsd:unique name="U_source_bpt_rid">
- <xsd:selector xpath=".//xlf:bpt"/>
- <xsd:field xpath="@rid"/>
- </xsd:unique>
- <xsd:keyref name="KR_source_ept_rid" refer="xlf:U_source_bpt_rid">
- <xsd:selector xpath=".//xlf:ept"/>
- <xsd:field xpath="@rid"/>
- </xsd:keyref>
- <xsd:unique name="U_source_bx_rid">
- <xsd:selector xpath=".//xlf:bx"/>
- <xsd:field xpath="@rid"/>
- </xsd:unique>
- <xsd:keyref name="KR_source_ex_rid" refer="xlf:U_source_bx_rid">
- <xsd:selector xpath=".//xlf:ex"/>
- <xsd:field xpath="@rid"/>
- </xsd:keyref>
- </xsd:element>
- <xsd:element name="seg-source">
- <xsd:complexType mixed="true">
- <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
- <xsd:attribute ref="xml:lang" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- <xsd:unique name="U_segsrc_bpt_rid">
- <xsd:selector xpath=".//xlf:bpt"/>
- <xsd:field xpath="@rid"/>
- </xsd:unique>
- <xsd:keyref name="KR_segsrc_ept_rid" refer="xlf:U_segsrc_bpt_rid">
- <xsd:selector xpath=".//xlf:ept"/>
- <xsd:field xpath="@rid"/>
- </xsd:keyref>
- <xsd:unique name="U_segsrc_bx_rid">
- <xsd:selector xpath=".//xlf:bx"/>
- <xsd:field xpath="@rid"/>
- </xsd:unique>
- <xsd:keyref name="KR_segsrc_ex_rid" refer="xlf:U_segsrc_bx_rid">
- <xsd:selector xpath=".//xlf:ex"/>
- <xsd:field xpath="@rid"/>
- </xsd:keyref>
- </xsd:element>
- <xsd:element name="target">
- <xsd:complexType mixed="true">
- <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
- <xsd:attribute name="state" type="xlf:AttrType_state" use="optional"/>
- <xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/>
- <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute ref="xml:lang" use="optional"/>
- <xsd:attribute name="resname" type="xsd:string" use="optional"/>
- <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
- <xsd:attribute name="font" type="xsd:string" use="optional"/>
- <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
- <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute default="yes" name="equiv-trans" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- <xsd:unique name="U_target_bpt_rid">
- <xsd:selector xpath=".//xlf:bpt"/>
- <xsd:field xpath="@rid"/>
- </xsd:unique>
- <xsd:keyref name="KR_target_ept_rid" refer="xlf:U_target_bpt_rid">
- <xsd:selector xpath=".//xlf:ept"/>
- <xsd:field xpath="@rid"/>
- </xsd:keyref>
- <xsd:unique name="U_target_bx_rid">
- <xsd:selector xpath=".//xlf:bx"/>
- <xsd:field xpath="@rid"/>
- </xsd:unique>
- <xsd:keyref name="KR_target_ex_rid" refer="xlf:U_target_bx_rid">
- <xsd:selector xpath=".//xlf:ex"/>
- <xsd:field xpath="@rid"/>
- </xsd:keyref>
- </xsd:element>
- <xsd:element name="alt-trans">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element minOccurs="0" ref="xlf:source"/>
- <xsd:element minOccurs="0" ref="xlf:seg-source"/>
- <xsd:element maxOccurs="1" ref="xlf:target"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:context-group"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/>
- <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
- </xsd:sequence>
- <xsd:attribute name="match-quality" type="xsd:string" use="optional"/>
- <xsd:attribute name="tool-id" type="xsd:string" use="optional"/>
- <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute ref="xml:lang" use="optional"/>
- <xsd:attribute name="origin" type="xsd:string" use="optional"/>
- <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
- <xsd:attribute default="default" ref="xml:space" use="optional"/>
- <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
- <xsd:attribute name="resname" type="xsd:string" use="optional"/>
- <xsd:attribute name="extradata" type="xsd:string" use="optional"/>
- <xsd:attribute name="extype" type="xsd:string" use="optional"/>
- <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="menu" type="xsd:string" use="optional"/>
- <xsd:attribute name="menu-option" type="xsd:string" use="optional"/>
- <xsd:attribute name="menu-name" type="xsd:string" use="optional"/>
- <xsd:attribute name="mid" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
- <xsd:attribute name="font" type="xsd:string" use="optional"/>
- <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
- <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute default="proposal" name="alttranstype" type="xlf:AttrType_alttranstype" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- <xsd:unique name="U_at_segsrc_mid">
- <xsd:selector xpath="./xlf:seg-source/xlf:mrk"/>
- <xsd:field xpath="@mid"/>
- </xsd:unique>
- <xsd:keyref name="KR_at_segsrc_mid" refer="xlf:U_at_segsrc_mid">
- <xsd:selector xpath="./xlf:target/xlf:mrk"/>
- <xsd:field xpath="@mid"/>
- </xsd:keyref>
- </xsd:element>
- <xsd:element name="bin-unit">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="xlf:bin-source"/>
- <xsd:element minOccurs="0" ref="xlf:bin-target"/>
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element ref="xlf:context-group"/>
- <xsd:element ref="xlf:count-group"/>
- <xsd:element ref="xlf:note"/>
- <xsd:element ref="xlf:trans-unit"/>
- </xsd:choice>
- <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:string" use="required"/>
- <xsd:attribute name="mime-type" type="xlf:mime-typeValueList" use="required"/>
- <xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/>
- <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
- <xsd:attribute name="resname" type="xsd:string" use="optional"/>
- <xsd:attribute name="phase-name" type="xsd:string" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="bin-source">
- <xsd:complexType>
- <xsd:choice>
- <xsd:element ref="xlf:internal-file"/>
- <xsd:element ref="xlf:external-file"/>
- </xsd:choice>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="bin-target">
- <xsd:complexType>
- <xsd:choice>
- <xsd:element ref="xlf:internal-file"/>
- <xsd:element ref="xlf:external-file"/>
- </xsd:choice>
- <xsd:attribute name="mime-type" type="xlf:mime-typeValueList" use="optional"/>
- <xsd:attribute name="state" type="xlf:AttrType_state" use="optional"/>
- <xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/>
- <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
- <xsd:attribute name="resname" type="xsd:string" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- </xsd:element>
- <!-- Element for inline codes -->
- <xsd:element name="g">
- <xsd:complexType mixed="true">
- <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
- <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
- <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="x">
- <xsd:complexType>
- <xsd:attribute name="ctype" type="xlf:AttrType_InlinePlaceholders" use="optional"/>
- <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="bx">
- <xsd:complexType>
- <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
- <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/>
- <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="ex">
- <xsd:complexType>
- <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="ph">
- <xsd:complexType mixed="true">
- <xsd:sequence maxOccurs="unbounded" minOccurs="0">
- <xsd:element ref="xlf:sub"/>
- </xsd:sequence>
- <xsd:attribute name="ctype" type="xlf:AttrType_InlinePlaceholders" use="optional"/>
- <xsd:attribute name="crc" type="xsd:string" use="optional"/>
- <xsd:attribute name="assoc" type="xlf:AttrType_assoc" use="optional"/>
- <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="bpt">
- <xsd:complexType mixed="true">
- <xsd:sequence maxOccurs="unbounded" minOccurs="0">
- <xsd:element ref="xlf:sub"/>
- </xsd:sequence>
- <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
- <xsd:attribute name="crc" type="xsd:string" use="optional"/>
- <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="ept">
- <xsd:complexType mixed="true">
- <xsd:sequence maxOccurs="unbounded" minOccurs="0">
- <xsd:element ref="xlf:sub"/>
- </xsd:sequence>
- <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="crc" type="xsd:string" use="optional"/>
- <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="it">
- <xsd:complexType mixed="true">
- <xsd:sequence maxOccurs="unbounded" minOccurs="0">
- <xsd:element ref="xlf:sub"/>
- </xsd:sequence>
- <xsd:attribute name="pos" type="xlf:AttrType_Position" use="required"/>
- <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
- <xsd:attribute name="crc" type="xsd:string" use="optional"/>
- <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="sub">
- <xsd:complexType mixed="true">
- <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
- <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
- <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
- <xsd:attribute name="xid" type="xsd:string" use="optional"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="mrk">
- <xsd:complexType mixed="true">
- <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
- <xsd:attribute name="mtype" type="xlf:AttrType_mtype" use="required"/>
- <xsd:attribute name="mid" type="xsd:NMTOKEN" use="optional"/>
- <xsd:attribute name="comment" type="xsd:string" use="optional"/>
- <xsd:anyAttribute namespace="##other" processContents="strict"/>
- </xsd:complexType>
- </xsd:element>
-</xsd:schema>
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 @@
-<?xml version='1.0'?>
-<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
-<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns ="http://www.w3.org/1999/xhtml"
- xml:lang="en">
-
- <xs:annotation>
- <xs:documentation>
- <div>
- <h1>About the XML namespace</h1>
-
- <div class="bodytext">
- <p>
-
- This schema document describes the XML namespace, in a form
- suitable for import by other schema documents.
- </p>
- <p>
- See <a href="http://www.w3.org/XML/1998/namespace.html">
- http://www.w3.org/XML/1998/namespace.html</a> and
- <a href="http://www.w3.org/TR/REC-xml">
- http://www.w3.org/TR/REC-xml</a> for information
- about this namespace.
- </p>
-
- <p>
- 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.
- </p>
- <p>
- See further below in this document for more information about <a
- href="#usage">how to refer to this schema document from your own
- XSD schema documents</a> and about <a href="#nsversioning">the
- namespace-versioning policy governing this schema document</a>.
- </p>
- </div>
- </div>
-
- </xs:documentation>
- </xs:annotation>
-
- <xs:attribute name="lang">
- <xs:annotation>
- <xs:documentation>
- <div>
-
- <h3>lang (as an attribute name)</h3>
- <p>
-
- 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.</p>
-
- </div>
- <div>
- <h4>Notes</h4>
- <p>
- 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.
- </p>
- <p>
-
- See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
- http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
- and the IANA language subtag registry at
- <a href="http://www.iana.org/assignments/language-subtag-registry">
- http://www.iana.org/assignments/language-subtag-registry</a>
- for further information.
- </p>
- <p>
-
- The union allows for the 'un-declaration' of xml:lang with
- the empty string.
- </p>
- </div>
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:union memberTypes="xs:language">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value=""/>
-
- </xs:restriction>
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="space">
- <xs:annotation>
- <xs:documentation>
-
- <div>
-
- <h3>space (as an attribute name)</h3>
- <p>
- 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.</p>
-
- </div>
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
-
- <xs:restriction base="xs:NCName">
- <xs:enumeration value="default"/>
- <xs:enumeration value="preserve"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
- <xs:documentation>
-
- <div>
-
- <h3>base (as an attribute name)</h3>
- <p>
- 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.</p>
-
- <p>
- See <a
- href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
- for information about this attribute.
- </p>
-
- </div>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
-
- <xs:attribute name="id" type="xs:ID">
- <xs:annotation>
- <xs:documentation>
- <div>
-
- <h3>id (as an attribute name)</h3>
- <p>
-
- 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.</p>
-
- <p>
- See <a
- href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
- for information about this attribute.
- </p>
- </div>
- </xs:documentation>
- </xs:annotation>
-
- </xs:attribute>
-
- <xs:attributeGroup name="specialAttrs">
- <xs:attribute ref="xml:base"/>
- <xs:attribute ref="xml:lang"/>
- <xs:attribute ref="xml:space"/>
- <xs:attribute ref="xml:id"/>
- </xs:attributeGroup>
-
- <xs:annotation>
-
- <xs:documentation>
- <div>
-
- <h3>Father (in any context at all)</h3>
-
- <div class="bodytext">
- <p>
- 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:
- </p>
- <blockquote>
- <p>
-
- 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".
- </p>
- </blockquote>
- </div>
- </div>
- </xs:documentation>
- </xs:annotation>
-
- <xs:annotation>
- <xs:documentation>
-
- <div xml:id="usage" id="usage">
- <h2><a name="usage">About this schema document</a></h2>
-
- <div class="bodytext">
- <p>
- This schema defines attributes and an attribute group suitable
- for use by schemas wishing to allow <code>xml:base</code>,
- <code>xml:lang</code>, <code>xml:space</code> or
- <code>xml:id</code> attributes on elements they define.
- </p>
-
- <p>
- To enable this, such a schema must import this schema for
- the XML namespace, e.g. as follows:
- </p>
- <pre>
- &lt;schema.. .>
- .. .
- &lt;import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="http://www.w3.org/2001/xml.xsd"/>
- </pre>
- <p>
- or
- </p>
- <pre>
-
- &lt;import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
- </pre>
- <p>
- Subsequently, qualified reference to any of the attributes or the
- group defined below will have the desired effect, e.g.
- </p>
- <pre>
- &lt;type.. .>
- .. .
- &lt;attributeGroup ref="xml:specialAttrs"/>
- </pre>
- <p>
- will define a type which will schema-validate an instance element
- with any of those attributes.
- </p>
-
- </div>
- </div>
- </xs:documentation>
- </xs:annotation>
-
- <xs:annotation>
- <xs:documentation>
- <div id="nsversioning" xml:id="nsversioning">
- <h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
-
- <div class="bodytext">
- <p>
- In keeping with the XML Schema WG's standard versioning
- policy, this schema document will persist at
- <a href="http://www.w3.org/2009/01/xml.xsd">
- http://www.w3.org/2009/01/xml.xsd</a>.
- </p>
- <p>
- At the date of issue it can also be found at
- <a href="http://www.w3.org/2001/xml.xsd">
- http://www.w3.org/2001/xml.xsd</a>.
- </p>
-
- <p>
- 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 <a href="http://www.w3.org/2001/xml.xsd">
- http://www.w3.org/2001/xml.xsd
- </a>
- will change accordingly; the version at
- <a href="http://www.w3.org/2009/01/xml.xsd">
- http://www.w3.org/2009/01/xml.xsd
- </a>
- will not change.
- </p>
- <p>
-
- Previous dated (and unchanging) versions of this schema
- document are at:
- </p>
- <ul>
- <li><a href="http://www.w3.org/2009/01/xml.xsd">
- http://www.w3.org/2009/01/xml.xsd</a></li>
- <li><a href="http://www.w3.org/2007/08/xml.xsd">
- http://www.w3.org/2007/08/xml.xsd</a></li>
- <li><a href="http://www.w3.org/2004/10/xml.xsd">
-
- http://www.w3.org/2004/10/xml.xsd</a></li>
- <li><a href="http://www.w3.org/2001/03/xml.xsd">
- http://www.w3.org/2001/03/xml.xsd</a></li>
- </ul>
- </div>
- </div>
- </xs:documentation>
- </xs:annotation>
-
-</xs:schema>
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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <a.aitboudad@gmail.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @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>'.Interval::getIntervalRegexp().')\s*(?P<message>.*?)$/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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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' => '<source> & <target>',
- ));
- $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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty-translation.mo
+++ /dev/null
Binary files 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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.csv
+++ /dev/null
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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.ini
+++ /dev/null
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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.json
+++ /dev/null
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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.mo
+++ /dev/null
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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.po
+++ /dev/null
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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.xlf
+++ /dev/null
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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/empty.yml
+++ /dev/null
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 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
- <file source-language="en" datatype="plaintext" original="file.ext">
- <body>
- <trans-unit id="1" resname="foo">
- <source>foo</source>
- <target>bär</target>
- <note>bäz</note>
- </trans-unit>
- <trans-unit id="2" resname="bar">
- <source>bar</source>
- <target>föö</target>
- </trans-unit>
- </body>
- </file>
-</xliff>
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 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
- <file source-language="en" datatype="plaintext" original="file.ext">
- <body>
- <trans-unit id="1">
- <source>foo</source>
- <target>bar
- </trans-unit>
- <trans-unit id="2">
- <source>extra</source>
- </trans-unit>
- <trans-unit id="3">
- <source>key</source>
- <target></target>
- </trans-unit>
- <trans-unit id="4">
- <source>test</source>
- <target>with</target>
- <note>note</note>
- </trans-unit>
- </body>
- </file>
-</xliff>
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 @@
-<?xml version="1.0"?>
-<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
- <file source-language="en" datatype="plaintext" original="file.ext">
- <body>
- <trans-unit>
- <source>foo</source>
- <target>bar</target>
- </trans-unit>
- </body>
- </file>
-</xliff>
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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/plurals.mo
+++ /dev/null
Binary files 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 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
- <file source-language="en" datatype="plaintext" original="file.ext">
- <body>
- <trans-unit id="1" resname="foo">
- <source></source>
- <target>bar</target>
- </trans-unit>
- <trans-unit id="2" resname="bar">
- <source>bar source</source>
- <target>baz</target>
- </trans-unit>
- <trans-unit id="3">
- <source>baz</source>
- <target>foo</target>
- </trans-unit>
- </body>
- </file>
-</xliff>
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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/en.res
+++ /dev/null
Binary files 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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/fr.res
+++ /dev/null
Binary files 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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/dat/resources.dat
+++ /dev/null
Binary files 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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resourcebundle/res/en.res
+++ /dev/null
Binary files 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 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
- <file source-language="fr-FR" target-language="en-US" datatype="plaintext" original="file.ext">
- <body>
- <trans-unit id="acbd18db4cc2f85cedef654fccc4a4d8" resname="foo">
- <source>foo</source>
- <target>bar</target>
- <note priority="1" from="bar">baz</note>
- </trans-unit>
- <trans-unit id="3c6e0b8a9c15224a8228b9a98ca1531d" resname="key">
- <source>key</source>
- <target></target>
- <note>baz</note>
- <note>qux</note>
- </trans-unit>
- <trans-unit id="18e6a493872558d949b4c16ea1fa6ab6" resname="key.with.cdata">
- <source>key.with.cdata</source>
- <target><![CDATA[<source> & <target>]]></target>
- </trans-unit>
- </body>
- </file>
-</xliff>
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
--- a/vendor/symfony/translation/Symfony/Component/Translation/Tests/fixtures/resources.mo
+++ /dev/null
Binary files 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 @@
-<?php
-
-return array (
- 'foo' => '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 @@
-<?xml version="1.0" encoding="utf-8"?>
-<TS>
- <context>
- <name>resources</name>
- <message>
- <source>foo</source>
- <translation>bar</translation>
- </message>
- </context>
-</TS>
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 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
- <file source-language="en" datatype="plaintext" original="file.ext">
- <body>
- <trans-unit id="1">
- <source>foo</source>
- <target>bar</target>
- </trans-unit>
- <trans-unit id="2">
- <source>extra</source>
- </trans-unit>
- <trans-unit id="3">
- <source>key</source>
- <target></target>
- </trans-unit>
- <trans-unit id="4">
- <source>test</source>
- <target>with</target>
- <note>note</note>
- </trans-unit>
- </body>
- </file>
-</xliff>
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 @@
-<?xml version="1.0"?>
-<!DOCTYPE foo>
-<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
- <file source-language="en" datatype="plaintext" original="file.ext">
- <body>
- <trans-unit id="1">
- <source>foo</source>
- <target>bar</target>
- </trans-unit>
- </body>
- </file>
-</xliff>
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 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
- <file source-language="en" datatype="plaintext" original="file.ext">
- <body>
- <trans-unit id="1">
- <source>foo</source>
- <target>bar</target>
- <note priority="1">foo</note>
- </trans-unit>
- <trans-unit id="2">
- <source>extra</source>
- <note from="foo">bar</note>
- </trans-unit>
- <trans-unit id="3">
- <source>key</source>
- <target></target>
- <note>baz</note>
- <note priority="2" from="bar">qux</note>
- </trans-unit>
- </body>
- </file>
-</xliff>
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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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(<<<EOF
-\$catalogue%s = new MessageCatalogue('%s', %s);
-\$catalogue%s->addFallbackCatalogue(\$catalogue%s);
-
-
-EOF
- ,
- $fallbackSuffix,
- $fallback,
- var_export($this->catalogues[$fallback]->all(), true),
- $currentSuffix,
- $fallbackSuffix
- );
- $current = $fallback;
- }
-
- $content = sprintf(<<<EOF
-<?php
-
-use Symfony\Component\Translation\MessageCatalogue;
-
-\$catalogue = new MessageCatalogue('%s', %s);
-
-%s
-return \$catalogue;
-
-EOF
- ,
- $locale,
- var_export($this->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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <a.aitboudad@gmail.com>
- */
-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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <fabien@symfony.com>
- *
- * @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 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * 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 <michelsalib@hotmail.com>
- */
-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 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd"
- backupGlobals="false"
- colors="true"
- bootstrap="vendor/autoload.php"
->
- <php>
- <ini name="error_reporting" value="-1" />
- </php>
-
- <testsuites>
- <testsuite name="Symfony Translation Component Test Suite">
- <directory>./Tests/</directory>
- </testsuite>
- </testsuites>
-
- <filter>
- <whitelist>
- <directory>./</directory>
- <exclude>
- <directory>./vendor</directory>
- <directory>./Tests</directory>
- </exclude>
- </whitelist>
- </filter>
-</phpunit>