#include "parser.h" #include #include #include #include using namespace std; int main( int argc, char **argv ) { if (argc != 2) { tqWarning("usage: %s english-XML", argv[0]); exit(1); } MsgList english = parseXML(argv[1]); TQMap msgids; int index = 0; for (MsgList::Iterator it = english.begin(); it != english.end(); ) { if (msgids.contains((*it).msgid)) { english[msgids[(*it).msgid]].lines += (*it).lines; MsgList::Iterator tmp = it; it++; english.remove(tmp); } else { msgids.insert((*it).msgid, index); index++; it++; } } const TQDateTime now = TQDateTime::currentDateTime( Qt::UTC ); cout << "# SOME DESCRIPTIVE TITLE.\n"; cout << "# FIRST AUTHOR , YEAR.\n"; cout << "#\n"; cout << "#, fuzzy\n"; cout << "msgid \"\"\n"; cout << "msgstr \"\"\n"; cout << "\"Project-Id-Version: PACKAGE VERSION\\n\"\n"; cout << "\"Report-Msgid-Bugs-To: http://bugs.kde.org\\n\"\n"; cout << "\"POT-Creation-Date: " << now.toString("yyyy-MM-dd hh:mm").utf8().data() << "+0000\\n\"\n"; cout << "\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n"; cout << "\"Last-Translator: FULL NAME \\n\"\n"; cout << "\"Language-Team: LANGUAGE \\n\"\n"; cout << "\"MIME-Version: 1.0\\n\"\n"; cout << "\"Content-Type: application/x-xml2pot; charset=UTF-8\\n\"\n"; cout << "\"Content-Transfer-Encoding: 8bit\\n\"\n"; cout << "\n"; const TQString fname = TQFileInfo(argv[1]).fileName(); for (MsgList::ConstIterator it = english.begin(); it != english.end(); ++it) { cout << "#. Tag: " << (*it).tag.utf8().data() << endl; cout << "#: "; for (TQValueList::ConstIterator it2 = (*it).lines.begin(); it2 != (*it).lines.end(); it2++) { if (it2 != (*it).lines.begin()) cout << " "; cout << fname.utf8().data() << ":" << (*it2).start_line; } cout << "\n"; cout << "#, no-c-format\n"; outputMsg("msgid", StructureParser::descapeLiterals( (*it).msgid )); outputMsg("msgstr", (*it).msgstr ); cout << "\n"; } return 0; }