]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - maintenance/language/rebuildLanguage.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / maintenance / language / rebuildLanguage.php
diff --git a/maintenance/language/rebuildLanguage.php b/maintenance/language/rebuildLanguage.php
deleted file mode 100644 (file)
index fd8d62e..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-/**
- * Rewrite the messages array in the files languages/messages/MessagesXx.php.
- *
- * @file
- * @ingroup MaintenanceLanguage
- * @defgroup MaintenanceLanguage MaintenanceLanguage
- */
-
-require_once( dirname( __FILE__ ) . '/../commandLine.inc' );
-require_once( 'languages.inc' );
-require_once( 'writeMessagesArray.inc' );
-
-/**
- * Rewrite a messages array.
- *
- * @param $code The language code.
- * @param $write Write to the messages file?
- * @param $listUnknown List the unknown messages?
- * @param $removeUnknown Remove the unknown messages?
- * @param $removeDupes Remove the duplicated messages?
- * @param $dupeMsgSource The source file intended to remove from the array.
- */
-function rebuildLanguage( $languages, $code, $write, $listUnknown, $removeUnknown, $removeDupes, $dupeMsgSource ) {
-       $messages = $languages->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 <<<TEXT
-Run this script to rewrite the messages array in the files languages/messages/MessagesXX.php.
-Parameters:
-       * lang: Language code (default: the installation default language). You can also specify "all" to check all the languages.
-       * help: Show this help.
-Options:
-       * dry-run: Do not write the array to the file.
-       * no-unknown: Do not list the unknown messages.
-       * remove-unknown: Remove unknown messages.
-       * remove-duplicates: Remove duplicated messages based on a PHP source file.
-
-TEXT;
-       exit( 1 );
-}
-
-# Get the language code
-if ( isset( $options['lang'] ) ) {
-       $wgCode = $options['lang'];
-} else {
-       $wgCode = $wgContLang->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
-$languages = new languages();
-
-# Write all the language
-if ( $wgCode == 'all' ) {
-       foreach ( $languages->getLanguages() as $languageCode ) {
-               rebuildLanguage( $languages, $languageCode, $wgWriteToFile, $wgListUnknownMessages, $wgRemoveUnknownMessages, $wgRemoveDuplicateMessages, $wgDupeMessageSource );
-       }
-} else {
-       rebuildLanguage( $languages, $wgCode, $wgWriteToFile, $wgListUnknownMessages, $wgRemoveUnknownMessages, $wgRemoveDuplicateMessages, $wgDupeMessageSource );
-}