Ich lade beim start meine Translation Datei.
Unter Linux kann ich ja mit getenv() die Lokalisierung des Systems ermitteln.
Leider habe ich kein Windows und kann jetzt nicht nachsehen wie es dort Funktioniert.

Meine Frage kann ich das so machen das es auch unter Windows und Mac geht?
Oder muss ich eine andere Lösung verwenden.

PHP-Code:
#include <stdlib.h>

#include <QtCore>
#include <QApplication>
#include <QMessageBox>
#include <QSplashScreen>

#include "QSpokecalculator.h"

int main(int argcchar *argv[])
{
        
Q_INIT_RESOURCE(qspokecalc);
        
QT_REQUIRE_VERSIONargcargv"4.1.4" )

        
QApplication app(argcargv);

        
// Get Application Main Directory
        
QString  SplashPathQCoreApplication::applicationDirPath() );
        
SplashPath.appendQDir::separator() );

        
// Setting Locale Path
        
QString lcpSplashPath );
        
lcp.append"locale" );

        
// Complite Splash path
        
SplashPath.append"QSpokecalc.png" );

        
// FIXME Windows/Mac ?
        
QString setLanggetenv"LANG" ) );
        
setLang setLang.toLower();
        
setLang setLang.replaceQRegExp"(_.+)*$" ), "" );
        
setLang.prepend("qspokecalc_");
        
setLang setLang.toLocal8Bit();

        
// init locale
        
QTranslator translator(0);
        
translator.loadsetLanglcp"_" );
        
app.installTranslator(&translator);

        
// display notification for help users to rename the qspokecalc_*.qm
        
std::cout << "Search for Locale: " << setLang.toStdString() << ".qm" << std::endl;

        
QPixmap pixmapSplashPath );
        
QSplashScreen *splash = new QSplashScreen(pixmap);
        
splash->show();

        
splash->showMessageQObject::trUtf8"Loading Databases ..." ), Qt::AlignCenter Qt::AlignVCenterQt::white );
        
qApp->processEvents();

        
QSpokecalculator mainWin;

        
splash->showMessageQObject::trUtf8"Start QSpokecalc ..." ), Qt::AlignCenter Qt::AlignVCenterQt::white );
        
qApp->processEvents();

        
mainWin.show();

        
splash->finish( &mainWin );
        
delete splash;
        return 
app.exec();