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