* Changes to r48839
[mediawiki.git] / maintenance / language / makeMessageDB.php
blobf853b395d83582b13248fb1023aa2725410ce15d
1 <?php
3 /**
4 * Proof of principle script
5 */
7 require( dirname( __FILE__ ) . '/../commandLine.inc' );
9 $obj = new MakeMessagesDB;
10 $obj->run();
12 class MakeMessagesDB {
14 function run() {
15 global $wgExtensionMessagesFiles, $wgMessageCache, $IP;
17 $nameHash = md5( implode( "\n", array_keys( $wgExtensionMessagesFiles ) ) );
18 $dir = "$IP/cache/ext-msgs";
19 wfMkdirParents( $dir );
20 $db = dba_open( "$dir/$nameHash.cdb", 'n', 'cdb' );
21 if ( !$db ) {
22 echo "Cannot open DB file\n";
23 exit( 1 );
26 # Load extension messages
27 foreach ( $wgExtensionMessagesFiles as $file ) {
28 $messages = $magicWords = array();
29 require( $file );
30 foreach ( $messages as $lang => $unused ) {
31 $wgMessageCache->processMessagesArray( $messages, $lang );
35 # Write them to the file
36 foreach ( $wgMessageCache->mExtensionMessages as $lang => $messages ) {
37 foreach ( $messages as $key => $text ) {
38 dba_insert( "$lang:$key", $text, $db );
42 dba_close( $db );