] [--stdout] --help: this message. --lang: a lang code you want to generate a .po for (default: all languages). END; } /** * Return a dummy header for later edition. * @return string A dummy header */ function poHeader() { return '# SOME DESCRIPTIVE TITLE. # Copyright (C) 2005 MediaWiki # This file is distributed under the same license as the MediaWiki package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: bugzilllaaaaa\n" "POT-Creation-Date: 2005-08-16 20:13+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: VARIOUS \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" '; } /** * generate and write a file in .po format. * * @param string $langcode Code of a language it will process. * @param array &$messages Array containing the various messages. * @return string Filename where stuff got saved or false. */ function generatePo($langcode, &$messages) { $data = poHeader(); // Generate .po entries foreach($messages as $identifier => $content) { $data .= "msgid \"$identifier\"\n"; // Escape backslashes $tmp = str_replace('\\', '\\\\', $content); // Escape doublelquotes $tmp = preg_replace( "/(?getList() as $langcode) { echo "Loading messages for $langcode:\t"; require_once( 'languages/Language' . $langcode . '.php' ); $arr = 'wgAllMessages'.$langcode; if(!@is_array($$arr)) { echo "NONE FOUND\n"; } else { echo "ok\n"; if( ! generatePo($langcode, $$arr) ) { echo "ERROR: Failed to wrote file.\n"; } else { echo "Applying template:"; applyPot($langcode); } } } ?>