briannesbitt/Carbon · error · Carbon\Exceptions\InvalidTypeException

Translator does not implement Symfony\Contracts\Translation\

Error message

Translator does not implement Symfony\Contracts\Translation\TranslatorInterface and Symfony\Component\Translation\TranslatorBagInterface. {translator} has been given.

What it means

Error "Translator does not implement Symfony\Contracts\Translation\TranslatorInterface and Symfony\Component\Translation\TranslatorBagInterface. {translator} has been given." thrown in briannesbitt/Carbon.

Source

Thrown at src/Carbon/Traits/Localization.php:80

        $this->localTranslator = $translator;

        return $this;
    }

    /**
     * Returns raw translation message for a given key.
     *
     * @param TranslatorInterface|null $translator the translator to use
     * @param string                   $key        key to find
     * @param string|null              $locale     current locale used if null
     * @param string|null              $default    default value if translation returns the key
     *
     * @return string|Closure|null
     */
    public static function getTranslationMessageWith($translator, string $key, ?string $locale = null, ?string $default = null)
    {
        if (!($translator instanceof TranslatorBagInterface && $translator instanceof TranslatorInterface)) {
            throw new InvalidTypeException(
                'Translator does not implement '.TranslatorInterface::class.' and '.TranslatorBagInterface::class.'. '.
                (\is_object($translator) ? \get_class($translator) : \gettype($translator)).' has been given.',
            );
        }

        if (!$locale && $translator instanceof LocaleAwareInterface) {
            $locale = $translator->getLocale();
        }

        $result = self::getFromCatalogue($translator, $translator->getCatalogue($locale), $key);

        return $result === $key ? $default : $result;
    }

    /**
     * Returns raw translation message for a given key.
     *
     * @param string              $key        key to find

View on GitHub (pinned to b13f05955d)

When it happens

Trigger: Thrown at src/Carbon/Traits/Localization.php:80 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of briannesbitt/Carbon@b13f05955d (2026-08-17). Data as JSON: /api/errors/b799ae5ba055d832. Report an issue: GitHub.