![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/setup/src/Magento/Setup/Module/I18n/Pack/Writer/File/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Setup\Module\I18n\Pack\Writer\File; /** * Pack writer csv */ class Csv extends AbstractFile { /** * File extension */ const FILE_EXTENSION = 'csv'; /** * {@inheritdoc} */ public function _writeFile($file, $phrases) { if (self::MODE_MERGE == $this->_mode) { $phrases = $this->_mergeDictionaries($file, $phrases); } $writer = $this->_factory->createDictionaryWriter($file); /** @var \Magento\Setup\Module\I18n\Dictionary\Phrase $phrase */ foreach ($phrases as $phrase) { $phrase->setContextType(null); $phrase->setContextValue(null); $writer->write($phrase); } } /** * Merge dictionaries * * @param string $file * @param array $phrases * @return array */ protected function _mergeDictionaries($file, $phrases) { if (!file_exists($file)) { return $phrases; } $dictionary = $this->_dictionaryLoader->load($file); $merged = []; foreach ($dictionary->getPhrases() as $phrase) { $merged[$phrase->getPhrase()] = $phrase; } /** @var \Magento\Setup\Module\I18n\Dictionary\Phrase $phrase */ foreach ($phrases as $phrase) { $merged[$phrase->getPhrase()] = $phrase; } return $merged; } /** * {@inheritdoc} */ protected function _getFileExtension() { return self::FILE_EXTENSION; } }