From 66832c41e9fff481c20ca219b3cc0a4e53b8b551 Mon Sep 17 00:00:00 2001 From: Klaus Weidenbach Date: Wed, 25 Oct 2017 23:21:07 +0200 Subject: :arrow_up: Update intl library. Update intl library from v0.4? (2014) to v0.7.4 (2016). Use global composer autoloader now. --- vendor/commerceguys/intl/src/Language/Language.php | 91 ++++++++++++++++ .../intl/src/Language/LanguageEntityInterface.php | 24 +++++ .../intl/src/Language/LanguageInterface.php | 23 +++++ .../intl/src/Language/LanguageRepository.php | 115 +++++++++++++++++++++ .../src/Language/LanguageRepositoryInterface.php | 41 ++++++++ 5 files changed, 294 insertions(+) create mode 100644 vendor/commerceguys/intl/src/Language/Language.php create mode 100644 vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php create mode 100644 vendor/commerceguys/intl/src/Language/LanguageInterface.php create mode 100644 vendor/commerceguys/intl/src/Language/LanguageRepository.php create mode 100644 vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php (limited to 'vendor/commerceguys/intl/src/Language') diff --git a/vendor/commerceguys/intl/src/Language/Language.php b/vendor/commerceguys/intl/src/Language/Language.php new file mode 100644 index 000000000..9958d5481 --- /dev/null +++ b/vendor/commerceguys/intl/src/Language/Language.php @@ -0,0 +1,91 @@ +getLanguageCode(); + } + + /** + * {@inheritdoc} + */ + public function getLanguageCode() + { + return $this->languageCode; + } + + /** + * {@inheritdoc} + */ + public function setLanguageCode($languageCode) + { + $this->languageCode = $languageCode; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getName() + { + return $this->name; + } + + /** + * {@inheritdoc} + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getLocale() + { + return $this->locale; + } + + /** + * {@inheritdoc} + */ + public function setLocale($locale) + { + $this->locale = $locale; + + return $this; + } +} diff --git a/vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php b/vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php new file mode 100644 index 000000000..e36e0bf77 --- /dev/null +++ b/vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php @@ -0,0 +1,24 @@ +definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/language/'; + } + + /** + * {@inheritdoc} + */ + public function get($languageCode, $locale = null, $fallbackLocale = null) + { + $locale = $this->resolveLocale($locale, $fallbackLocale); + $definitions = $this->loadDefinitions($locale); + if (!isset($definitions[$languageCode])) { + throw new UnknownLanguageException($languageCode); + } + + return $this->createLanguageFromDefinition($languageCode, $definitions[$languageCode], $locale); + } + + /** + * {@inheritdoc} + */ + public function getAll($locale = null, $fallbackLocale = null) + { + $locale = $this->resolveLocale($locale, $fallbackLocale); + $definitions = $this->loadDefinitions($locale); + $languages = []; + foreach ($definitions as $languageCode => $definition) { + $languages[$languageCode] = $this->createLanguageFromDefinition($languageCode, $definition, $locale); + } + + return $languages; + } + + /** + * {@inheritdoc} + */ + public function getList($locale = null, $fallbackLocale = null) + { + $locale = $this->resolveLocale($locale, $fallbackLocale); + $definitions = $this->loadDefinitions($locale); + $list = []; + foreach ($definitions as $languageCode => $definition) { + $list[$languageCode] = $definition['name']; + } + + return $list; + } + + /** + * Loads the language definitions for the provided locale. + * + * @param string $locale The desired locale. + * + * @return array + */ + protected function loadDefinitions($locale) + { + if (!isset($this->definitions[$locale])) { + $filename = $this->definitionPath . $locale . '.json'; + $this->definitions[$locale] = json_decode(file_get_contents($filename), true); + } + + return $this->definitions[$locale]; + } + + /** + * Creates a language object from the provided definition. + * + * @param string $languageCode The language code. + * @param array $definition The language definition. + * @param string $locale The locale of the language definition. + * + * @return Language + */ + protected function createLanguageFromDefinition($languageCode, array $definition, $locale) + { + $language = new Language(); + $setValues = \Closure::bind(function ($languageCode, $definition, $locale) { + $this->languageCode = $languageCode; + $this->name = $definition['name']; + $this->locale = $locale; + }, $language, '\CommerceGuys\Intl\Language\Language'); + $setValues($languageCode, $definition, $locale); + + return $language; + } +} diff --git a/vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php b/vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php new file mode 100644 index 000000000..dd14250e0 --- /dev/null +++ b/vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php @@ -0,0 +1,41 @@ +