Class TranslatorRegistry
Constructs and stores instances of translators that can be retrieved by name and locale.
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
- _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.
- _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.
- 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.
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