Domanda

Sto cercando di impostare una traslazione sull'app May. Vengo dal Brasile, quindi l'app dovrebbe essere PT BR e EN-US, durante la codifica ho usato l'inglese. Ho trovato questo post su come usare QTranslator:

Linguista QT - Imposta il traduttore per l'applicazione

Ma quando si esegue l'app su un sistema PT-BR si presenta in inglese. Mi sto perdendo qualcosa? PS non ho trovato il prompt dei comandi Q, quindi ho usato gli strumenti di menu -> esterno -> linguista -> Translazione aggiorna (lupdate).

Ho anche creato il file .QM, qui il pezzo del mio codice:

QApplication a(argc, argv);

QTranslator *trans = new QTranslator();

trans->load("C:/SVN/trunk/rcs/frameworkIdentity_ptbr.qm");

a.installTranslator(trans);

FIdMain w;
È stato utile?

Soluzione

Questo è praticamente quello che faccio nella mia applicazione in cui la traduzione funziona (sbirciata di seguito).

Il problema non è nei frammenti che hai mostrato. Come suggerito nei commenti, forse i widget vengono creati prima del traduttore

int main( int argc, char** argv )
{
    QApplication app( argc, argv );

    QTranslator translator;
    if (  !Settings::value("monitor/languageFile").isNull() )
    {
        translator.load( Settings::value("monitor/languageFile").value<QString>() );
        app.installTranslator(&translator);
    }
    MainWindow mainWindow;
    mainWindow.show();
    return app.exec();
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top