--- qt-copy/tools/assistant/main.cpp.orig 2005-05-13 16:39:06.000000000 +0200 +++ qt-copy/tools/assistant/main.cpp 2005-05-13 19:58:41.956418200 +0200 @@ -272,11 +272,11 @@ resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); QTranslator translator( 0 ); - translator.load( QLatin1String("assistant_") + QLocale::system().name().toLower(), resourceDir ); + translator.load( QLatin1String("assistant"), resourceDir + QLatin1String("/") + QLatin1String(QTextCodec::locale()) + QLatin1String("/LC_MESSAGES") ); a.installTranslator( &translator ); QTranslator qtTranslator( 0 ); - qtTranslator.load( QLatin1String("qt_") + QLocale::system().name().toLower(), resourceDir ); + qtTranslator.load( QLatin1String("qt"), resourceDir + QLatin1String("/") + QLatin1String(QTextCodec::locale()) + QLatin1String("/LC_MESSAGES") ); a.installTranslator( &qtTranslator ); Config *conf = Config::loadConfig( profileName ); --- qt-copy/src/corelib/codecs/qtextcodec.cpp.niedakh 2005-05-13 16:34:37.000000000 +0200 +++ qt-copy/src/corelib/codecs/qtextcodec.cpp 2005-05-13 22:31:48.036921696 +0200 @@ -63,6 +63,9 @@ #include #endif +#include +#include + #ifndef QT_NO_COMPONENT Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, @@ -359,6 +362,26 @@ lang = qstrdup(qgetenv("LANG")); } + QString lang_s (lang); + + QFile * plik = new QFile("/usr/share/locale/locale.alias"); + if (plik->open(QIODevice::ReadOnly)) + { + QTextStream stream(plik); + QString line; + while (!stream.atEnd()) { + line = stream.readLine(); + if (!line.startsWith("#") && ( line.left(line.indexOf(QChar('t'))) == lang_s.toLower() ) ) + { + if (lang) delete [] lang; + lang = qstrdup((line.mid(line.lastIndexOf(QChar('t')))).toLatin1()); + } + } + plik->close(); + } + if (plik) delete plik; + + // Now try these in order: // 1. CODESET from ctype if it contains a .CODESET part (e.g. en_US.ISO8859-15) // 2. CODESET from lang if it contains a .CODESET part