Class TranslatorRegistry

Constructs and stores instances of translators that can be retrieved by name and locale.

Namespace: Cake\I18n

Properties summary

  • $_cacher protected
    (\Psr\SimpleCache\CacheInterface&\Cake\Cache\CacheEngineInterface)|null

    A CacheEngine object that is used to remember translator across requests.

  • $_defaultFormatter protected
    string

    The name of the default formatter to use for newly created translators from the fallback loader

  • $_fallbackLoader protected
    string

    Fallback loader name

  • $_loaders protected
    callable[]

    A list of loader functions indexed by domain name. Loaders are callables that are invoked as a default for building translation packages where none can be found for the combination of translator name and locale.

  • $_useFallback protected
    bool

    Use fallback-domain for translation loaders.

  • $factory protected
    \Aura\Intl\TranslatorFactory

    A translator factory.

  • $formatters protected
    \Aura\Intl\FormatterLocator

    A formatter locator.

  • $locale protected
    string

    The current locale code.

  • $packages protected
    \Aura\Intl\PackageLocator

    A package locator.

  • $registry protected
    array

    A registry to retain translator objects.

Method Summary

  • __construct() public

    Constructor.

  • _fallbackLoader() protected

    Returns a new translator instance for the given name and locale based of conventions.

  • _getFromLoader() protected

    Registers a new package by passing the register loaded function for the package name.

  • _getTranslator() protected

    Gets a translator from the registry by package for a locale.

  • _partialLoader() protected

    Returns a function that can be used as a loader for the registerLoaderMethod

  • defaultFormatter() public

    Sets the name of the default messages formatter to use for future translator instances.

  • get() public

    Gets a translator from the registry by package for a locale.

  • getFactory() public

    The TranslatorFactory object

  • getFormatters() public

    An object of type FormatterLocator

  • getLocale() public

    Returns the default locale code.

  • getPackages() public

    An object of type PackageLocator

  • registerLoader() public

    Registers a loader function for a package name that will be used as a fallback in case no package with that name can be found.

  • setCacher() public

    Sets the CacheEngine instance used to remember translators across requests.

  • setLoaderFallback() public

    Set domain fallback for loader.

  • setLocale() public

    Sets the default locale code.

  • useFallback() public

    Set if the default domain fallback is used.

Method Detail

__construct() public

__construct(\Aura\Intl\PackageLocator $packages, \Aura\Intl\FormatterLocator $formatters, \Cake\I18n\TranslatorFactory $factory, string $locale)

Constructor.

Parameters

\Aura\Intl\PackageLocator $packages

The package locator.

\Aura\Intl\FormatterLocator $formatters

The formatter locator.

\Cake\I18n\TranslatorFactory $factory

A translator factory to create translator objects for the locale and package.

string $locale

The default locale code to use.

_fallbackLoader() protected

_fallbackLoader(string $name, string $locale)

Returns a new translator instance for the given name and locale based of conventions.

Parameters

string $name

The translation package name.

string $locale

The locale to create the translator for.

Returns

\Aura\Intl\TranslatorInterface|\Closure

_getFromLoader() protected

_getFromLoader(string $name, string $locale)

Registers a new package by passing the register loaded function for the package name.

Parameters

string $name

The name of the translator package

string $locale

The locale that should be built the package for

Returns

\Aura\Intl\TranslatorInterface

A translator object.

_getTranslator() protected

_getTranslator(string $name, string $locale)

Gets a translator from the registry by package for a locale.

Parameters

string $name

The translator package to retrieve.

string $locale

The locale to use; if empty, uses the default locale.

Returns

\Aura\Intl\TranslatorInterface

A translator object.

_partialLoader() protected

_partialLoader()

Returns a function that can be used as a loader for the registerLoaderMethod

Returns

\Closure

defaultFormatter() public

defaultFormatter(?string $name)

Sets the name of the default messages formatter to use for future translator instances.

If called with no arguments, it will return the currently configured value.

Parameters

string|null $name optional

The name of the formatter to use.

Returns

string

The name of the formatter.

get() public

get(mixed $name, mixed $locale)

Gets a translator from the registry by package for a locale.

Parameters

string|null $name

The translator package to retrieve.

string|null $locale optional

The locale to use; if empty, uses the default locale.

Returns

\Aura\Intl\TranslatorInterface|null

A translator object.

Throws

Aura\Intl\Exception
If no translator with that name could be found for the given locale.

getFactory() public

getFactory()

The TranslatorFactory object

Returns

\Aura\Intl\TranslatorFactory

getFormatters() public

getFormatters()

An object of type FormatterLocator

Returns

\Aura\Intl\FormatterLocator

getLocale() public

getLocale()

Returns the default locale code.

Returns

string

getPackages() public

getPackages()

An object of type PackageLocator

Returns

\Aura\Intl\PackageLocator

registerLoader() public

registerLoader(string $name, callable $loader)

Registers a loader function for a package name that will be used as a fallback in case no package with that name can be found.

Loader callbacks will get as first argument the package name and the locale as the second argument.

Parameters

string $name

The name of the translator package to register a loader for

callable $loader

A callable object that should return a Package

setCacher() public

setCacher(mixed $cacher)

Sets the CacheEngine instance used to remember translators across requests.

Parameters

\Psr\SimpleCache\CacheInterface&\Cake\Cache\CacheEngineInterface $cacher

The cacher instance.

setLoaderFallback() public

setLoaderFallback(string $name, callable $loader)

Set domain fallback for loader.

Parameters

string $name

The name of the loader domain

callable $loader

invokable loader

Returns

callable

loader

setLocale() public

setLocale(mixed $locale)

Sets the default locale code.

Parameters

string $locale

The new locale code.

useFallback() public

useFallback(bool $enable)

Set if the default domain fallback is used.

Parameters

bool $enable optional

flag to enable or disable fallback

Property Detail

$_cacher protected

A CacheEngine object that is used to remember translator across requests.

Type

(\Psr\SimpleCache\CacheInterface&\Cake\Cache\CacheEngineInterface)|null

$_defaultFormatter protected

The name of the default formatter to use for newly created translators from the fallback loader

Type

string

$_fallbackLoader protected

Fallback loader name

Type

string

$_loaders protected

A list of loader functions indexed by domain name. Loaders are callables that are invoked as a default for building translation packages where none can be found for the combination of translator name and locale.

Type

callable[]

$_useFallback protected

Use fallback-domain for translation loaders.

Type

bool

$factory protected

A translator factory.

Type

\Aura\Intl\TranslatorFactory

$formatters protected

A formatter locator.

Type

\Aura\Intl\FormatterLocator

$locale protected

The current locale code.

Type

string

$packages protected

A package locator.

Type

\Aura\Intl\PackageLocator

$registry protected

A registry to retain translator objects.

Type

array

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.0/class-Cake.I18n.TranslatorRegistry.html