32 public function forAll(
string ...$prefixedMessagesKeys ): array {
36 if ( !$prefixedMessagesKeys ) {
37 throw new InvalidArgumentException(
'Empty prefixed message keys passed as argument' );
40 $messagesForDefinition = [];
41 foreach ( $prefixedMessagesKeys as $key ) {
42 $messageTitle = $this->titleParser->parseTitle( $key );
43 $messageNamespace = $messageTitle->getNamespace();
44 $messagesForDefinition[
"$messageNamespace:{$messageTitle->getDBkey()}"] =
null;
47 $messageDefinitions =
new MessageDefinitions( $messagesForDefinition,
false );
49 foreach ( $languages as $code ) {
50 if ( $this->isLanguageUnused( $code ) ) {
51 $collection = MessageCollection::newFromDefinitions( $messageDefinitions, $code );
52 $stats[ $code ] = MessageGroupStats::getStatsForCollection( $collection );
54 $stats[ $code ] = MessageGroupStats::getEmptyStats();
55 $stats[ $code ][ MessageGroupStats::TOTAL ] = count( $prefixedMessagesKeys );