Пример #1
0
void SettingsGeneral::loadLanguage()
{
    QStringList langList;
    QFile resLanguage(":/Resources/Language/LangList.ini");
    resLanguage.open(QIODevice::ReadOnly);
    QStringList resourceLanguages=QString(resLanguage.readAll().replace("\r","")).split("\n");
    for(int n=0;n<resourceLanguages.count();n++)if(!resourceLanguages.at(n).isEmpty())langList<<":/Resources/Language/"+resourceLanguages.at(n);
    QStringList folderLangList=QDir(appDataDir+"Language","*.lng").entryList();
    folderLangList.sort();
    for(int n=0;n<folderLangList.count();n++)langList<<appDataDir+"Language/"+folderLangList.at(n);
    int selectedLangId=-1;

    QString preferedLangFile=julyTranslator.lastFile();
    if(!QFile::exists(preferedLangFile))preferedLangFile.clear();
    if(preferedLangFile.isEmpty())preferedLangFile=baseValues.defaultLangFile;

    ui.languageComboBox->clear();
    for(int n=0;n<langList.count();n++)
    {
        JulyTranslator translateName;
        translateName.loadFromFile(langList.at(n));
        QString langName=translateName.translateString("LANGUAGE_NAME","");
        if(langName.isEmpty())continue;
        if(preferedLangFile==langList.at(n))selectedLangId=n;
        ui.languageComboBox->insertItem(ui.languageComboBox->count(),langName,langList.at(n));
    }
    if(selectedLangId>-1)ui.languageComboBox->setCurrentIndex(selectedLangId);
}