getMessages( $code ); $messages = $messages['all']; if ($removeDupes) { $messages = removeDupes( $messages, $dupeMsgSource ); } MessageWriter::writeMessagesToFile( $messages, $code, $write, $listUnknown, $removeUnknown ); } /** * Remove duplicates from a message array. * * @param $oldMsgArray The input message array. * @param $dupeMsgSource The source file path for duplicates. * @return $newMsgArray The output message array, with duplicates removed. */ function removeDupes( $oldMsgArray, $dupeMsgSource ) { if (file_exists($dupeMsgSource)) { include($dupeMsgSource); if (!isset($dupeMessages)) { echo("There are no duplicated messages in the source file provided."); exit(1); } } else { echo ("The specified file $dupeMsgSource cannot be found."); exit(1); } $newMsgArray = $oldMsgArray; foreach ($oldMsgArray as $key => $value) { if ( array_key_exists( $key, $dupeMessages ) ) { unset($newMsgArray[$key]); } } return $newMsgArray; } # Show help if ( isset( $options['help'] ) ) { echo <<getCode(); } # Get the duplicate message source if ( isset( $options['remove-duplicates'] ) && ( strcmp( $options['remove-duplicates'], '' ) ) ) { $wgDupeMessageSource = $options['remove-duplicates']; } else { $wgDupeMessageSource = ''; } # Get the options $wgWriteToFile = !isset( $options['dry-run'] ); $wgListUnknownMessages = !isset( $options['no-unknown'] ); $wgRemoveUnknownMessages = isset( $options['remove-unknown'] ); $wgRemoveDuplicateMessages = isset( $options['remove-duplicates'] ); # Get language objects $wgLanguages = new languages(); # Write all the language if ( $wgCode == 'all' ) { foreach ( $wgLanguages->getLanguages() as $language ) { rebuildLanguage( $language, $wgWriteToFile, $wgListUnknownMessages, $wgRemoveUnknownMessages, $wgRemoveDuplicateMessages, $wgDupeMessageSource ); } } else { rebuildLanguage( $wgCode, $wgWriteToFile, $wgListUnknownMessages, $wgRemoveUnknownMessages, $wgRemoveDuplicateMessages, $wgDupeMessageSource ); }