/** * {@inheritdoc} */ public function getImportable() { $importedCurrencies = $this->storage->loadMultiple(); $langcode = $this->languageManager->getConfigOverrideLanguage()->getId(); $allCurrencies = $this->externalRepository->getAll($langcode, 'en'); $importableCurrencies = array_diff_key($allCurrencies, $importedCurrencies); $importableCurrencies = array_map(function ($currency) { return $currency->getName(); }, $importableCurrencies); return $importableCurrencies; }
/** * {@inheritdoc} */ public function getAll($locale = NULL) { if ($locale) { $original_language = $this->languageManager->getConfigOverrideLanguage(); $this->languageManager->setConfigOverrideLanguage(new Language(['id' => $locale])); $address_formats = $this->formatStorage->loadMultiple(); $this->languageManager->setConfigOverrideLanguage($original_language); } else { $address_formats = $this->formatStorage->loadMultiple(); } return $address_formats; }
/** * Loads the given format pattern for the given langcode. * * @param string $format * The machine name of the date format. * @param string $langcode * The langcode of the language to use. * * @return string|null * The pattern for the date format in the given language for non-custom * formats, NULL otherwise. */ protected function dateFormat($format, $langcode) { if (!isset($this->dateFormats[$format][$langcode])) { $original_language = $this->languageManager->getConfigOverrideLanguage(); $this->languageManager->setConfigOverrideLanguage(new Language(array('id' => $langcode))); $this->dateFormats[$format][$langcode] = $this->dateFormatStorage->load($format); $this->languageManager->setConfigOverrideLanguage($original_language); } return $this->dateFormats[$format][$langcode]; }
/** * {@inheritdoc} */ public function resolve() { $language = $this->languageManager->getConfigOverrideLanguage()->getId(); $language_parts = explode('-', $language); if (count($language_parts) > 1 && strlen(end($language_parts)) == 2) { // The current language already has a country component (e.g. 'pt-br'), // it qualifies as a full locale. $locale = $language; } elseif ($country = $this->countryContext->getCountry()) { // Assemble the locale using the resolved country. This can result // in non-existent combinations such as 'en-RS', it's up to the locale // consumers (e.g. the number format repository) to perform fallback. $locale = $language . '-' . $country; } else { // Worst case scenario, the country is unknown. $locale = $language; } return new Locale($locale); }
/** * {@inheritdoc} */ public function getDefaultLocale() { // The getCurrentLanguage() fallback is a workaround for core bug #2684873. $language = $this->languageManager->getConfigOverrideLanguage() ?: $this->languageManager->getCurrentLanguage(); return $language->getId(); }
/** * {@inheritdoc} */ protected function getDefaultLocale() { return $this->languageManager->getConfigOverrideLanguage()->getId(); }