MediaWiki master
MediaWiki\Language\LeximorphFactory Class Reference

Create and cache Manager and Provider instances. More...

Public Member Functions

 __construct (ServiceOptions $options, private readonly LoggerInterface $logger,)
 
 getManager (Bcp47Code $code)
 Get a Manager for the given language code.
 
 getProvider (Bcp47Code $code)
 Get a Provider for the given language code.
 

Public Attributes

const CONSTRUCTOR_OPTIONS
 

Detailed Description

Create and cache Manager and Provider instances.

This is the centralized entry point for Leximorph services in MediaWiki.

This caches instances in-process, because each instance has to load rule files, parse data, and prepare lookup maps.

Example usage:

$factory = MediaWikiServices::getInstance()->getLeximorphFactory();
$bcp = new \\Wikimedia\\Bcp47Code\\Bcp47CodeValue('en');
$manager = $factory->getManager( $bcp );
if ( $manager ) {
$pluralHandler = $manager->getPlural();
}
$provider = $factory->getProvider( $bcp );
if ( $provider ) {
$pluralRules = $provider->getPluralProvider();
}
Since
1.45
Author
Doğu Abaris (abari.nosp@m.s@nu.nosp@m.ll.ne.nosp@m.t)

Definition at line 44 of file LeximorphFactory.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Language\LeximorphFactory::__construct ( ServiceOptions $options,
private readonly LoggerInterface $logger )
Since
1.45
Parameters
ServiceOptions$optionsReads MainConfigNames::UseLeximorph
LoggerInterface$loggerLogger passed to created Manager/Provider instances.

Definition at line 67 of file LeximorphFactory.php.

References MediaWiki\Config\ServiceOptions\assertRequiredOptions(), MediaWiki\Config\ServiceOptions\get(), and MediaWiki\MainConfigNames\UseLeximorph.

Member Function Documentation

◆ getManager()

MediaWiki\Language\LeximorphFactory::getManager ( Bcp47Code $code)

Get a Manager for the given language code.

Parameters
Bcp47Code$codeBCP‑47 language code
Returns
?Manager Manager, or null if Leximorph is disabled

Definition at line 84 of file LeximorphFactory.php.

◆ getProvider()

MediaWiki\Language\LeximorphFactory::getProvider ( Bcp47Code $code)

Get a Provider for the given language code.

Parameters
Bcp47Code$codeBCP‑47 language code
Returns
?Provider Provider, or null if Leximorph is disabled

Definition at line 102 of file LeximorphFactory.php.

Member Data Documentation

◆ CONSTRUCTOR_OPTIONS

const MediaWiki\Language\LeximorphFactory::CONSTRUCTOR_OPTIONS
Initial value:
= [
]
const UseLeximorph
Name constant for the UseLeximorph setting, for use with Config::get()
Access: internal
Only public for service wiring use.

Definition at line 46 of file LeximorphFactory.php.


The documentation for this class was generated from the following file: