addDescription( 'Script to create language names index.' ); } public function execute() { $languages = Language::fetchLanguageNames( null, 'all' ); $buckets = []; foreach ( $languages as $sourceLanguage => $autonym ) { $translations = LanguageNames::getNames( $sourceLanguage, 0, 2 ); foreach ( $translations as $targetLanguage => $translation ) { $translation = mb_strtolower( $translation ); $bucket = LanguageNameSearch::getIndex( $translation ); $buckets[$bucket][$translation] = $targetLanguage; } } $this->output( 'Total buckets: ' . count( $buckets ) . "\n" ); file_put_contents( 'langnames.ser', serialize( $buckets ) ); } } $maintClass = 'LanguageNameIndexer'; require_once RUN_MAINTENANCE_IF_MAIN;