/** * 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; }
/** * @param string $language * @param string $returnLanguage * @dataProvider dataProviderForTestConvertLanguage */ public function testConvertLanguageCodeToLocaleCode($language, $returnLanguage) { $convertArray = ['zh_TW' => 'zh_Hant', 'iw' => 'he', 'zh_CN' => 'zh_Hans']; $this->_scopeConfigMock->expects($this->once())->method('getValue')->with(\Magento\GoogleAdwords\Helper\Data::XML_PATH_LANGUAGE_CONVERT, 'default')->will($this->returnValue($convertArray)); $this->assertEquals($returnLanguage, $this->_helper->convertLanguageCodeToLocaleCode($language)); }