3 * Rewrite the messages array in the files languages/messages/MessagesXX.php.
6 * @ingroup MaintenanceLanguage
7 * @defgroup MaintenanceLanguage MaintenanceLanguage
10 require_once( dirname(__FILE__
).'/../commandLine.inc' );
11 require_once( 'languages.inc' );
12 require_once( 'writeMessagesArray.inc' );
15 * Rewrite a messages array.
17 * @param $code The language code.
18 * @param $write Write to the messages file?
19 * @param $listUnknown List the unknown messages?
21 function rebuildLanguage( $code, $write, $listUnknown ) {
23 $messages = $wgLanguages->getMessages( $code );
24 $messages = $messages['all'];
25 MessageWriter
::writeMessagesToFile( $messages, $code, $write, $listUnknown );
29 if ( isset( $options['help'] ) ) {
31 Run this script to rewrite the messages array in the files languages/messages/MessagesXX.php.
33 * lang: Language code (default: the installation default language). You can also specify "all" to check all the languages.
34 * help: Show this help.
36 * dry-run: Don't write the array to the file.
37 * no-unknown: Don't list the unknown messages.
43 # Get the language code
44 if ( isset( $options['lang'] ) ) {
45 $wgCode = $options['lang'];
47 $wgCode = $wgContLang->getCode();
51 $wgWriteToFile = !isset( $options['dry-run'] );
52 $wgListUnknownMessages = !isset( $options['no-unknown'] );
54 # Get language objects
55 $wgLanguages = new languages();
57 # Write all the language
58 if ( $wgCode == 'all' ) {
59 foreach ( $wgLanguages->getLanguages() as $language ) {
60 rebuildLanguage( $language, $wgWriteToFile, $wgListUnknownMessages );
63 rebuildLanguage( $wgCode, $wgWriteToFile, $wgListUnknownMessages );