Вход Регистрация
Файл: vendor/nesbot/carbon/lazy/Carbon/TranslatorStrongType.php
Строк: 68
<?php

/**
 * This file is part of the Carbon package.
 *
 * (c) Brian Nesbitt <brian@nesbot.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Carbon;

use 
SymfonyComponentTranslationMessageCatalogueInterface;

if (!
class_exists(LazyTranslator::class, false)) {
    class 
LazyTranslator extends AbstractTranslator implements TranslatorStrongTypeInterface
    
{
        public function 
trans(?string $id, array $parameters = [], ?string $domain null, ?string $locale null): string
        
{
            return 
$this->translate($id$parameters$domain$locale);
        }

        public function 
getFromCatalogue(MessageCatalogueInterface $cataloguestring $idstring $domain 'messages')
        {
            
$messages $this->getPrivateProperty($catalogue'messages');

            if (isset(
$messages[$domain.MessageCatalogueInterface::INTL_DOMAIN_SUFFIX][$id])) {
                return 
$messages[$domain.MessageCatalogueInterface::INTL_DOMAIN_SUFFIX][$id];
            }

            if (isset(
$messages[$domain][$id])) {
                return 
$messages[$domain][$id];
            }

            
$fallbackCatalogue $this->getPrivateProperty($catalogue'fallbackCatalogue');

            if (
$fallbackCatalogue !== null) {
                return 
$this->getFromCatalogue($fallbackCatalogue$id$domain);
            }

            return 
$id;
        }

        private function 
getPrivateProperty($instancestring $field)
        {
            return (function (
string $field) {
                return 
$this->$field;
            })->
call($instance$field);
        }
    }
}
Онлайн: 1
Реклама