On this page
Class TranslatorRegistry
Constructs and stores instances of translators that can be retrieved by name and locale.
Constants
-
stringFALLBACK_LOADER'_fallback'Fallback loader name.
Property Summary
-
$_cacher protected
Psr\SimpleCache\CacheInterfaceCake\Cache\CacheEngineInterface)|nullA CacheEngine object that is used to remember translator across requests.
-
$_defaultFormatter protected
stringThe name of the default formatter to use for newly created translators from the fallback loader
-
$_loaders protected
array<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
boolUse fallback-domain for translation loaders.
-
$formatters protected
Cake\I18n\FormatterLocatorA formatter locator.
-
$locale protected
stringThe current locale code.
-
$packages protected
Cake\I18n\PackageLocatorA package locator.
-
$registry protected
array<string, array<string,Cake\I18n\Translator>>A registry to retain translator objects.
Method Summary
__construct() public
Constructor.
_getTranslator() protected
Gets a translator from the registry by package for a locale.
createInstance() protected
Create translator instance.
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.
getFormatters() public
An object of type FormatterLocator
getLocale() public
Returns the default locale code.
getPackages() public
Returns the translator packages
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.
setFallbackPackage() public
Set fallback domain for package.
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(Cake\I18n\PackageLocator $packages, Cake\I18n\FormatterLocator $formatters, string $locale)
Constructor.
Parameters
Cake\I18n\PackageLocator$packages-
The package locator.
Cake\I18n\FormatterLocator$formatters-
The formatter locator.
string$locale-
The default locale code to use.
_getTranslator() protected
_getTranslator(string $name, string $locale): Cake\I18n\Translator
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
Cake\I18n\TranslatorcreateInstance() protected
createInstance(string $name, string $locale): Cake\I18n\Translator
Create translator instance.
Parameters
string$name-
The translator package to retrieve.
string$locale-
The locale to use; if empty, uses the default locale.
Returns
Cake\I18n\TranslatordefaultFormatter() public
defaultFormatter(string|null $name = null): string
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
stringget() public
get(string $name, string|null $locale = null): Cake\I18n\Translator|null
Gets a translator from the registry by package for a locale.
Parameters
string$name-
The translator package to retrieve.
string|null$locale optional-
The locale to use; if empty, uses the default locale.
Returns
Cake\I18n\Translator|nullThrows
Cake\I18n\Exception\I18nExceptionIf no translator with that name could be found for the given locale.
getFormatters() public
getFormatters(): Cake\I18n\FormatterLocator
An object of type FormatterLocator
Returns
Cake\I18n\FormatterLocatorgetLocale() public
getLocale(): string
Returns the default locale code.
Returns
stringgetPackages() public
getPackages(): Cake\I18n\PackageLocator
Returns the translator packages
Returns
Cake\I18n\PackageLocatorregisterLoader() public
registerLoader(string $name, callable $loader): void
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
Returns
voidsetCacher() public
setCacher(Psr\SimpleCache\CacheInterfaceCake\Cache\CacheEngineInterface $cacher): void
Sets the CacheEngine instance used to remember translators across requests.
Parameters
Psr\SimpleCache\CacheInterfaceCake\Cache\CacheEngineInterface$cacher-
The cacher instance.
Returns
voidsetFallbackPackage() public
setFallbackPackage(string $name, Cake\I18n\Package $package): Cake\I18n\Package
Set fallback domain for package.
Parameters
string$name-
The name of the package.
Cake\I18n\Package$package-
Package instance
Returns
Cake\I18n\PackagesetLoaderFallback() public
setLoaderFallback(string $name, callable $loader): callable
Set domain fallback for loader.
Parameters
string$name-
The name of the loader domain
callable$loader-
invokable loader
Returns
callablesetLocale() public
setLocale(string $locale): void
Sets the default locale code.
Parameters
string$locale-
The new locale code.
Returns
voiduseFallback() public
useFallback(bool $enable = true): void
Set if the default domain fallback is used.
Parameters
bool$enable optional-
flag to enable or disable fallback
Returns
voidProperty Detail
$_cacher protected
A CacheEngine object that is used to remember translator across requests.
Type
Psr\SimpleCache\CacheInterfaceCake\Cache\CacheEngineInterface)|null$_defaultFormatter protected
The name of the default formatter to use for newly created translators from the fallback loader
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
array<callable>$_useFallback protected
Use fallback-domain for translation loaders.
Type
bool$formatters protected
A formatter locator.
Type
Cake\I18n\FormatterLocator$locale protected
The current locale code.
Type
string$packages protected
A package locator.
Type
Cake\I18n\PackageLocator$registry protected
A registry to retain translator objects.
Type
array<string, array<string,Cake\I18n\Translator>>© 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.4/class-Cake.I18n.TranslatorRegistry.html