UnderscoreLabelTranslatorStrategy.php 620 B

12345678910111213141516171819202122232425
  1. <?php
  2. /*
  3. * This file is part of sonata-project.
  4. *
  5. * (c) 2010 Thomas Rabaix
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Sonata\AdminBundle\Translator;
  11. class UnderscoreLabelTranslatorStrategy implements LabelTranslatorStrategyInterface
  12. {
  13. /**
  14. * {@inheritDoc}
  15. */
  16. public function getLabel($label, $context = '', $type = '')
  17. {
  18. $label = str_replace('.', '_', $label);
  19. return sprintf('%s.%s_%s', $context, $type, strtolower(preg_replace('~(?<=\\w)([A-Z])~', '_$1', $label)));
  20. }
  21. }