I would suggest two ways to do this:
First, a special translator field would be declared, for example:
tr("__LANGNAME__")That would be in every translation file filled with the correct language name (even native). Then you can list all available translations, download them one at a time and use the method QTranslator::translate(const char * context, const char * sourceText, const char * disambiguation = 0).
Example:
QStringList availableLanguages;
QDirIterator qmIt(pathToQm, QStringList() << "*.qm", QDir::Files);
while(qmIt.hasNext())
{
qmIt.next();
QFileInfo finfo = qmIt.fileInfo();
QTranslator translator;
translator.load(finfo.baseName(), pathToQm);
availableLanguages << translator.translate("__LANGNAME__");
}
qDebug() << availableLanguages;
aproach QLocale QLocale:: Language. QLocale qm dir, QLocale:: Language enum QLocale::languageToString.