123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- /**
- * Google AdWords language source
- *
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\GoogleAdwords\Model\Config\Source;
- /**
- * @SuppressWarnings(PHPMD.LongVariable)
- * @api
- * @since 100.0.2
- */
- class Language implements \Magento\Framework\Option\ArrayInterface
- {
- /**
- * @var \Magento\GoogleAdwords\Helper\Data
- */
- protected $_helper;
- /**
- * @var \Magento\GoogleAdwords\Model\Filter\UppercaseTitle
- */
- protected $_uppercaseFilter;
- /**
- * @param \Magento\GoogleAdwords\Helper\Data $helper
- * @param \Magento\GoogleAdwords\Model\Filter\UppercaseTitle $uppercaseFilter
- */
- public function __construct(
- \Magento\GoogleAdwords\Helper\Data $helper,
- \Magento\GoogleAdwords\Model\Filter\UppercaseTitle $uppercaseFilter
- ) {
- $this->_helper = $helper;
- $this->_uppercaseFilter = $uppercaseFilter;
- }
- /**
- * Return option array
- *
- * @return array
- */
- public function toOptionArray()
- {
- $languages = [];
- foreach ($this->_helper->getLanguageCodes() as $languageCode) {
- $localeCode = $this->_helper->convertLanguageCodeToLocaleCode($languageCode);
- $translationForSpecifiedLanguage = \Locale::getDisplayLanguage($localeCode, $localeCode);
- $translationForDefaultLanguage = \Locale::getDisplayLanguage($localeCode);
- $label = sprintf(
- '%s / %s (%s)',
- $this->_uppercaseFilter->filter($translationForSpecifiedLanguage),
- $translationForDefaultLanguage,
- $languageCode
- );
- $languages[] = ['value' => $languageCode, 'label' => $label];
- }
- return $languages;
- }
- }
|