feat(translate): keep translated subtitles next to the video so they load on reopen (#14)
Co-authored-by: Tri Vo Khac <git@trivk.dev>
This commit was merged in pull request #14.
This commit is contained in:
1 parent
b34a01a92f
commit
76b12d6632
13 files changed
+716
-65
No files matched your search
@@ -18,8 +18,8 @@
|
||||
|
||||
class QNetworkAccessManager;
|
||||
|
||||
// Translates a whole subtitle track with an LLM, batch by batch, and caches the result
|
||||
// as an .srt file that mpv can load as a subtitle track.
|
||||
// Translates a whole subtitle track with an LLM, batch by batch, caches the result as an
|
||||
// .srt file and saves a copy next to the video (see TranslationStore).
|
||||
class TranslationService : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -62,6 +62,9 @@ public:
|
||||
Q_INVOKABLE void fetchModels();
|
||||
Q_INVOKABLE void clearError();
|
||||
Q_INVOKABLE void forgetTranslation();
|
||||
// Path of the translation of \a videoUrl into the target language set in Settings,
|
||||
// or an empty string when there is none.
|
||||
Q_INVOKABLE QString savedTranslation(const QUrl &videoUrl) const;
|
||||
Q_INVOKABLE void loadGlossary(const QUrl &videoUrl);
|
||||
Q_INVOKABLE bool saveGlossary(const QVariantList &entries, const QStringList &episodes = {});
|
||||
Q_INVOKABLE void clearGlossary();
|
||||
@@ -97,6 +100,8 @@ private:
|
||||
// something is missing.
|
||||
QCoro::Task<std::pair<LlmClient::Config, QString>> loadConfig();
|
||||
void fail(const std::shared_ptr<Job> &job, const QString &error);
|
||||
// Saves the translation in \a cacheFile where players find it and announces it.
|
||||
void finish(const std::shared_ptr<Job> &job, const QUrl &videoUrl, const QString &suffix, const QString &configKey, const QString &cacheFile, bool fromCache);
|
||||
|
||||
void setBusy(bool busy);
|
||||
void setProgress(double progress);
|
||||
|
||||
Reference in new issue
Block a user