60 static QVector<ExerciseTourResourceEntry>
scan(
const QString &directory);
70 static QVector<ExerciseTourResourceEntry>
discover(
const QString &category);
92 static QVector<ExerciseTourResourceEntry>
mergeUnique(QVector<ExerciseTourResourceEntry> base,
93 const QVector<ExerciseTourResourceEntry> &additional);
100 static QString
translate(
const QString &key,
const QString &fallbackEnglish);
106 const QString &fallbackEnglish);
115 static QString
resolveWritableDir(
const QStringList &candidates,
const QString &documentsFallback);
119 static QString documentsFallbackDir(
const QString &category);
QString description
JSON root "description" field; "" if absent.
QString path
":/Exercises/x.json" (built-in) or a real filesystem path.
QString title
JSON root "title" field (raw, English-source).