forked from qt-creator/qt-creator
projectexplorer: add availableQmlPreviewTranslations()
Preparation for a test translations feature. Change-Id: I1a7ccecab803f5838cd765b7dca99bcf5bb9e8a1 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -983,6 +983,21 @@ QVariant Project::extraData(const QString &key) const
|
||||
return d->m_extraData.value(key);
|
||||
}
|
||||
|
||||
QStringList Project::availableQmlPreviewTranslations(QString *errorMessage)
|
||||
{
|
||||
const auto projectDirectory = rootProjectDirectory().toFileInfo().absoluteFilePath();
|
||||
const QDir languageDirectory(projectDirectory + "/i18n");
|
||||
const auto qmFiles = languageDirectory.entryList({"qml_*.qm"});
|
||||
if (qmFiles.isEmpty() && errorMessage)
|
||||
errorMessage->append(tr("Could not find any qml_*.qm file at '%1'").arg(languageDirectory.absolutePath()));
|
||||
return Utils::transform(qmFiles, [](const QString &qmFile) {
|
||||
const int localeStartPosition = qmFile.lastIndexOf("_") + 1;
|
||||
const int localeEndPosition = qmFile.size() - QString(".qm").size();
|
||||
const QString locale = qmFile.left(localeEndPosition).mid(localeStartPosition);
|
||||
return locale;
|
||||
});
|
||||
}
|
||||
|
||||
#if defined(WITH_TESTS)
|
||||
|
||||
} // namespace ProjectExplorer
|
||||
|
||||
Reference in New Issue
Block a user