26use Wikimedia\ObjectFactory\ObjectFactory;
45 private $converterList = [
47 'class' => BanConverter::class,
50 'class' => CrhConverter::class,
53 'class' => GanConverter::class,
56 'class' => IuConverter::class,
59 'class' => KuConverter::class,
62 'class' => MniConverter::class,
65 'class' => ShConverter::class,
68 'class' => ShiConverter::class,
71 'class' => SrConverter::class,
74 'class' => TgConverter::class,
77 'class' => TlyConverter::class,
80 'class' => UzConverter::class,
83 'class' => WuuConverter::class,
86 'class' => ZghConverter::class,
89 'class' => ZhConverter::class,
93 private const DEFAULT_CONVERTER = [
94 'class' => TrivialLanguageConverter::class,
100 private const EN_CONVERTER = [
101 'class' => EnConverter::class,
114 private ObjectFactory $objectFactory;
119 private $defaultLanguage;
131 ObjectFactory $objectFactory,
132 callable $defaultLanguage
135 $this->options = $options;
136 $this->objectFactory = $objectFactory;
138 $this->converterList[
'en'] = self::EN_CONVERTER;
140 $this->defaultLanguage = $defaultLanguage;
150 $code = mb_strtolower( $lang->getCode() );
151 $spec = $this->converterList[$code] ?? self::DEFAULT_CONVERTER;
154 return $this->objectFactory->createObject(
157 'assertClass' => ILanguageConverter::class,
158 'extraArgs' => [ $lang ],
173 $lang = $language ?? ( $this->defaultLanguage )();
174 if ( isset( $this->cache[$lang->getCode()] ) ) {
175 return $this->cache[$lang->getCode()];
178 $converter = $this->instantiateConverter( $lang );
179 $this->cache[$lang->getCode()] = $converter;
189 return $this->options->get( MainConfigNames::DisableLangConversion );
198 return $this->options->get( MainConfigNames::DisableLangConversion ) ||
200 $this->options->get( MainConfigNames::DisableTitleConversion );
205class_alias( LanguageConverterFactory::class,
'MediaWiki\\Languages\\LanguageConverterFactory' );
Crimean Tatar (Qırımtatarca) converter routines.
English specific converter routines.
Gan Chinese specific code.
Kurdish converter routines.
A class containing constants representing the names of configuration variables.
const UsePigLatinVariant
Name constant for the UsePigLatinVariant setting, for use with Config::get()
const DisableLangConversion
Name constant for the DisableLangConversion setting, for use with Config::get()
const DisableTitleConversion
Name constant for the DisableTitleConversion setting, for use with Config::get()
Meitei specific converter routines.
Converts Serbo-Croatian from Latin script to Cyrillic script.
Serbian (Српски / Srpski) specific code.
Tajik (Тоҷикӣ) specific code, converting Tajiki to Latin orthography.
A trivial language converter.
Wu language specific code.
Standard Moroccan Amazigh specific code.
Chinese converter routine.