Class TranslatorRegistry
Constructs and stores instances of translators that can be retrieved by name and locale.
Property Summary
- 
        $_cacher protected
Cake\Cache\CacheEngineA 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
 - 
        $_fallbackLoader protected
stringFallback 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
boolUse fallback-domain for translation loaders.
 - 
        $factory protected
TranslatorFactoryA translator factory.
 - 
        $formatters protected
FormatterLocatorA formatter locator.
 - 
        $locale protected
stringThe current locale code.
 - 
        $packages protected
PackageLocatorA package locator.
 - 
        $registry protected
arrayA 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(PackageLocator $packages, FormatterLocator $formatters, TranslatorFactory $factory, string $locale)
      Constructor.
Parameters
- 
                
PackageLocator$packages The package locator.
- 
                
FormatterLocator$formatters The formatter locator.
- 
                
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): Aura\Intl\Translator
      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\Translator_getFromLoader() ¶ protected
_getFromLoader(string $name, string $locale): Aura\Intl\TranslatorInterface
      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\TranslatorInterfaceA translator object.
_getTranslator() ¶ protected
_getTranslator(string $name, string|null $locale): Aura\Intl\TranslatorInterface
      Gets a translator from the registry by package for a locale.
Parameters
- 
                
string$name The translator package to retrieve.
- 
                
string|null$locale The locale to use; if empty, uses the default locale.
Returns
Aura\Intl\TranslatorInterfaceA translator object.
_partialLoader() ¶ protected
_partialLoader(): callable
      Returns a function that can be used as a loader for the registerLoaderMethod
Returns
callabledefaultFormatter() ¶ 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
stringThe name of the formatter.
get() ¶ public
get(string $name, string $locale = null): Aura\Intl\TranslatorInterface|null
      Gets a translator from the registry by package for a locale.
Parameters
- 
                
string$name The translator package to retrieve.
- 
                
string$locale optional The locale to use; if empty, uses the default locale.
Returns
Aura\Intl\TranslatorInterface|nullA translator object.
Throws
Aura\Intl\ExceptionIf no translator with that name could be found for the given locale.
getFactory() ¶ public
getFactory(): TranslatorFactory
      The TranslatorFactory object
Returns
TranslatorFactorygetFormatters() ¶ public
getFormatters(): FormatterLocator
      An object of type FormatterLocator
Returns
FormatterLocatorgetPackages() ¶ public
getPackages(): PackageLocator
      An object of type PackageLocator
Returns
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(Cake\Cache\CacheEngine $cacher): void
      Sets the CacheEngine instance used to remember translators across requests.
Parameters
- 
                
Cake\Cache\CacheEngine$cacher The cacher instance.
Returns
voidsetLoaderFallback() ¶ 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
callableloader
setLocale() ¶ 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
Cake\Cache\CacheEngine$_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
callable[]