--- /c/devel/tmp/aqbanking-2.3.0/src/frontends/qbanking/bin/wizard/qt3_wizard.cpp Thu Nov 23 20:07:27 2006 +++ src/frontends/qbanking/bin/wizard/qt3_wizard.cpp Sat Jun 16 14:43:21 2007 @@ -24,9 +24,12 @@ #include +//#include // for AB_Banking_GetGlobalDataDirs +#include // for GWEN_PathManager_GetPaths #include - - +#include +#include +#include @@ -37,9 +40,29 @@ GWEN_Logger_SetLevel(0, GWEN_LoggerLevelInfo); - QString datadir(PKGDATADIR); - if (translator.load(QTextCodec::locale()+QString(".qm"), - datadir + QString("/i18n/"))) { + ab=new QBanking("qt3-wizard", 0); + if (ab->init()) { + DBG_ERROR(0, "Error on QBanking::init"); + return 2; + } + + GWEN_STRINGLIST *sl = //AB_Banking_GetGlobalDataDirs(); + GWEN_PathManager_GetPaths(AB_PM_LIBNAME, AB_PM_DATADIR); + assert(sl); + QString datadir(GWEN_StringList_FirstString(sl)); + GWEN_StringList_free(sl); + QDir i18ndir = datadir; + if (!i18ndir.exists()) + qDebug() << "Datadir" << i18ndir.path() << "does not exist."; + i18ndir.cd("i18n"); + if (!i18ndir.exists()) + qDebug() << "I18ndir" << i18ndir.path() << "does not exist."; + + QString languageCode = QTextCodec::locale(); + languageCode.truncate(2); + // no need to specify ".qm" suffix; QTranslator tries that itself + if (translator.load(languageCode, + i18ndir.path())) { DBG_INFO(0, "I18N available for your language"); app.installTranslator(&translator); } @@ -47,12 +70,6 @@ DBG_WARN(0, "Internationalisation is not available for your language"); } - ab=new QBanking("qt3-wizard", 0); - if (ab->init()) { - DBG_ERROR(0, "Error on QBanking::init"); - return 2; - } - QObject::connect(&app,SIGNAL(lastWindowClosed()), &app,SLOT(quit()));