File.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Translation\Model\Inline;
  7. use Magento\Framework\Translate\ResourceInterface;
  8. use Magento\Framework\Locale\ResolverInterface;
  9. use Magento\Framework\Serialize\Serializer\Json;
  10. /**
  11. * Prepares content of inline translations file.
  12. */
  13. class File
  14. {
  15. /**
  16. * @var ResourceInterface
  17. */
  18. private $translateResource;
  19. /**
  20. * @var ResolverInterface
  21. */
  22. private $localeResolver;
  23. /**
  24. * @var Json
  25. */
  26. private $jsonSerializer;
  27. /**
  28. * Initialize dependencies
  29. *
  30. * @param ResourceInterface $translateResource
  31. * @param ResolverInterface $localeResolver
  32. * @param Json $jsonSerializer
  33. */
  34. public function __construct(
  35. ResourceInterface $translateResource,
  36. ResolverInterface $localeResolver,
  37. Json $jsonSerializer
  38. ) {
  39. $this->translateResource = $translateResource;
  40. $this->localeResolver = $localeResolver;
  41. $this->jsonSerializer = $jsonSerializer;
  42. }
  43. /**
  44. * Generate translation file content for the current locale.
  45. *
  46. * @return string
  47. */
  48. public function getTranslationFileContent()
  49. {
  50. $translations = $this->translateResource->getTranslationArray(null, $this->localeResolver->getLocale());
  51. $translations = $this->jsonSerializer->serialize($translations);
  52. return $translations;
  53. }
  54. }