[Qt] Choose the language

It’s a good thing to ask for the language at the first launch of the software because it allows the user to choose even if his language isn’t available (Qt example doesn’t do that).

#include <QTranslator>
#include <QSettings>
#include <QInputDialog>

void setLang(QApplication& app, const QString& idl){
        qWarning(QString("Lang is %1 (lang_%1)").arg(idl).toLatin1());

        QTranslator* translator = new QTranslator();
        translator->load("SepMin_" + idl,":/Translations/release");
        app.installTranslator(translator);
}

void manageLang(QApplication& app){
        QSettings settings("Bramas.fr", "AllSepMin");
        int lang = settings.value("lang", -1).toInt();
        if( lang == -1){
                QStringList languages;
                languages << "English" << "Francais";
                lang = languages.indexOf(QInputDialog::getItem(0, "Preference", "Choose your language ?", languages, 0, false));
                if(lang == -1){
                        lang = 0;
                }
                settings.setValue("lang", lang);
        }

        switch(lang){
                case 0:
                        setLang(app,"en");
                        break;
                case 1:
                        setLang(app,"fr");
                        break;
        }
}
int main(int argc, char *argv[])
{

    QApplication a(argc, argv);

    manageLang(a);

    MainWindow w;
    w.show();
    return a.exec();
}

176 Responses to [Qt] Choose the language

  1. Pingback: topamax cleft lip

  2. Pingback: Duramax for sale

  3. Pingback: Dremel Stylus

  4. Pingback: Fracas Perfume

  5. Pingback: dune perfume

  6. Pingback: Buy Pain Pills

  7. Pingback: Hunstanton

  8. Pingback: Persian Music

  9. Pingback: market place

  10. Pingback: Hunstanton

  11. Pingback: Rob Rasner Magic

  12. Pingback: mobile web design

  13. Pingback: benidorm stag

  14. Pingback: Norfolk

  15. Pingback: Snore Mouthpiece

  16. Pingback: yachts for sale

  17. Pingback: El Metodo Gabriel

  18. Pingback: family Solicitor

  19. Pingback: bandeau bikinis