12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Deploy\Service;
- use Magento\Framework\App\State;
- use Magento\Framework\Translate\Js\Config as JsTranslationConfig;
- use Psr\Log\LoggerInterface;
- /**
- * Deploy translation dictionaries service
- */
- class DeployTranslationsDictionary
- {
- /**
- * @var JsTranslationConfig
- */
- private $jsTranslationConfig;
- /**
- * @var DeployStaticFile
- */
- private $deployStaticFile;
- /**
- * @var State
- */
- private $state;
- /**
- * @var LoggerInterface
- */
- private $logger;
- /**
- * @param JsTranslationConfig $jsTranslationConfig
- * @param DeployStaticFile $deployStaticFile
- * @param State $state
- * @param LoggerInterface $logger
- */
- public function __construct(
- JsTranslationConfig $jsTranslationConfig,
- DeployStaticFile $deployStaticFile,
- State $state,
- LoggerInterface $logger
- ) {
- $this->jsTranslationConfig = $jsTranslationConfig;
- $this->deployStaticFile = $deployStaticFile;
- $this->state = $state;
- $this->logger = $logger;
- }
- /**
- * @param string $area
- * @param string $theme
- * @param string $locale
- * @return void
- */
- public function deploy($area, $theme, $locale)
- {
- try {
- $this->state->emulateAreaCode($area, function () use ($area, $theme, $locale) {
- $this->deployStaticFile->deployFile(
- $this->jsTranslationConfig->getDictionaryFileName(),
- [
- 'fileName' => $this->jsTranslationConfig->getDictionaryFileName(),
- 'area' => $area,
- 'theme' => $theme,
- 'locale' => $locale
- ]
- );
- });
- } catch (\Exception $e) {
- $this->logger->error($e->getMessage());
- }
- }
- }
|