Diffstat (limited to 'development/translation/opie-lupdate/main.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | development/translation/opie-lupdate/main.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/development/translation/opie-lupdate/main.cpp b/development/translation/opie-lupdate/main.cpp index ce65e7a..bf16fd7 100644 --- a/development/translation/opie-lupdate/main.cpp +++ b/development/translation/opie-lupdate/main.cpp @@ -33,64 +33,73 @@ #include <string.h> // defined in fetchtr.cpp extern void fetchtr_cpp( const char *fileName, MetaTranslator *tor, const char *defaultContext, bool mustExist ); extern void fetchtr_ui( const char *fileName, MetaTranslator *tor, const char *defaultContext, bool mustExist ); // defined in merge.cpp extern void merge( MetaTranslator *tor, const MetaTranslator *virginTor, bool verbose ); typedef QValueList<MetaTranslatorMessage> TML; static const char* LUPDATE_VERSION = "0.1"; static void printUsage() { fprintf( stderr, "Usage:\n" " opie-lupdate [options] project-file\n" " opie-lupdate [options] source-files -ts ts-files\n" "Options:\n" " -opie The OPIE base dir if not supplied $OPIEDIR will be taken\n" " -help Display this information and exit\n" " -noobsolete\n" " Drop all obsolete strings\n" " -verbose\n" " Explain what is being done\n" " -version\n" " Display the version of lupdate and exit\n" ); } +/*static QString opie_escape( const QString& str ) { + QString ret = str.stripWhiteSpace(); + qWarning(ret); + if ( ret.startsWith("$$(OPIEDIR)") ) + ret = ret.replace("$$(OPIEDIR)", OPIE::self()->opieDir() ); + qWarning(ret); + return ret; + }*/ + static void updateTsFiles( const MetaTranslator& fetchedTor, const QString& opiedir, const QStringList& languages, const QString& basename, const QString& codec, bool noObsolete, bool verbose ) { QStringList::ConstIterator it = languages.begin(); for ( ; it != languages.end(); ++it ) { QString fileName = opiedir + "/i18n/" + (*it) + "/" + basename; MetaTranslator tor; tor.load( fileName ); if ( !codec.isEmpty() ) tor.setCodec( codec ); if ( verbose ) fprintf( stderr, "Updating '%s'...\n", fileName.latin1() ); merge( &tor, &fetchedTor, verbose ); if ( noObsolete ) tor.stripObsoleteMessages(); tor.stripEmptyContexts(); if ( !tor.save(fileName) ) fprintf( stderr, "lupdate error: Cannot save '%s': %s\n", fileName.latin1(), strerror(errno) ); } } int main( int argc, char **argv ) { QString defaultContext = "@default"; MetaTranslator fetchedTor; QCString codec; QStringList tsFileNames; @@ -121,65 +130,65 @@ int main( int argc, char **argv ) } else if ( qstrcmp(argv[i], "-version") == 0 ) { fprintf( stderr, "lupdate version %s\n", LUPDATE_VERSION ); return 0; } else if ( qstrcmp(argv[i], "-opie") == 0 ) { if( i+1 < argc ) { opiedir = argv[i+1]; languageList = OPIE::self()->languageList(opiedir); } i++; // UGLY but we want to skip the next argument continue; } numFiles++; QString fullText; QFile f( argv[i] ); if ( !f.open(IO_ReadOnly) ) { fprintf( stderr, "lupdate error: Cannot open file '%s': %s\n", argv[i], strerror(errno) ); return 1; } QTextStream t( &f ); fullText = t.read(); f.close(); fetchedTor = MetaTranslator(); codec.truncate( 0 ); tsFileNames.clear(); isLib = FALSE; - QMap<QString, QString> tagMap = proFileTagMap( fullText ); + QMap<QString, QString> tagMap = proFileTagMap( fullText, OPIE::self()->opieDir() ); QMap<QString, QString>::Iterator it; for ( it = tagMap.begin(); it != tagMap.end(); ++it ) { QStringList toks = QStringList::split( ' ', it.data() ); QStringList::Iterator t; for ( t = toks.begin(); t != toks.end(); ++t ) { if ( it.key() == "HEADERS" || it.key() == "SOURCES" ) { fetchtr_cpp( *t, &fetchedTor, defaultContext, TRUE ); metSomething = TRUE; } else if ( it.key() == "INTERFACES" || it.key() == "FORMS" ) { fetchtr_ui( *t, &fetchedTor, defaultContext, TRUE ); fetchtr_cpp( *t + ".h", &fetchedTor, defaultContext, FALSE ); metSomething = TRUE; } else if ( it.key() == "TRANSLATIONS" ) { // we do not care for that attribute anymore //tsFileNames.append( *t ); metSomething = TRUE; } else if ( it.key() == "CODEC" ) { codec = (*t).latin1(); } else if ( it.key() == "TARGET" ) { target = *t; metSomething = TRUE; } else if ( it.key() == "TEMPLATE" ) { if ( (*t).stripWhiteSpace().lower() == "lib" ) isLib = true; } } } /** |