Adapter.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /**
  7. * Magento translate adapter
  8. */
  9. namespace Magento\Framework\Translate;
  10. class Adapter extends AbstractAdapter
  11. {
  12. /**
  13. * Translate message string.
  14. *
  15. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  16. * @param array|string $messageId
  17. * @param null|string $locale
  18. * @return string
  19. */
  20. public function translate($messageId, $locale = null)
  21. {
  22. $translator = $this->getOptions('translator');
  23. if (is_callable($translator)) {
  24. return call_user_func($translator, $messageId);
  25. } else {
  26. return $messageId;
  27. }
  28. }
  29. // @codingStandardsIgnoreStart
  30. /**
  31. * Translate message string.
  32. *
  33. * @SuppressWarnings(PHPMD.ShortMethodName)
  34. * @return string
  35. */
  36. public function __()
  37. {
  38. $args = func_get_args();
  39. $messageId = array_shift($args);
  40. $string = $this->translate($messageId);
  41. if (count($args) > 0) {
  42. $string = vsprintf($string, $args);
  43. }
  44. return $string;
  45. }
  46. // @codingStandardsIgnoreEnd
  47. }