Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
machinetranslator.h
Go to the documentation of this file.
1
#
ifndef
MACHINETRANSLATOR_H
2
// Copyright (C) 2025 The Qt Company Ltd.
3
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
4
5
#
define
MACHINETRANSLATOR_H
6
7
#
include
"translationprotocol.h"
8
9
#
include
<
QtCore
/
qmutex
.
h
>
10
#
include
<
QtCore
/
qobject
.
h
>
11
#
include
<
QtCore
/
qqueue
.
h
>
12
#
include
<
QtCore
/
qstring
.
h
>
13
14
QT_BEGIN_NAMESPACE
15
16
class
QNetworkRequest;
17
class
QNetworkAccessManager;
18
class
QNetworkReply;
19
20
enum
class
TranslationApiType
{
Ollama
,
OpenAICompatible
};
21
22
class
MachineTranslator
:
public
QObject
23
{
24
Q_OBJECT
25
public
:
26
MachineTranslator
();
27
~
MachineTranslator
();
28
29
void
setApiType
(
TranslationApiType
type);
30
31
void
translate
(
const
Messages
&messages,
const
QString &userContext = QString());
32
void
stop
()
noexcept
{ m_stopped =
true
; }
33
void
start
()
noexcept
;
34
void
setUrl
(
const
QString &url);
35
void
setApiKey
(
const
QString &apiKey);
36
void
activateTranslationModel
(
const
QString &modelName);
37
void
requestModels
();
38
39
signals
:
40
void
batchTranslated
(
QHash
<
const
TranslatorMessage
*,
QStringList
>
translations
);
41
void
translationFailed
(
QList
<
const
TranslatorMessage
*>);
42
void
modelsReceived
(QStringList models);
43
void
debugLog
(
const
QByteArray &message,
bool
fromLlm);
44
45
private
:
46
std::atomic_bool m_stopped =
false
;
47
std::atomic_int m_session = 0;
48
std::unique_ptr<QNetworkRequest> m_request;
49
std::unique_ptr<QNetworkAccessManager> m_manager;
50
std::unique_ptr<TranslationProtocol> m_translator;
51
QQueue<Batch> m_pendingBatches;
52
int
m_inFlightCount = 0;
53
QMutex m_queueMutex;
54
55
void
translateBatch(
Batch
b);
56
void
translationReceived(QNetworkReply *reply,
Batch
b,
int
session);
57
void
processNextBatches();
58
};
59
60
QT_END_NAMESPACE
61
62
#
endif
// MACHINETRANSLATOR_H
Batch
Definition
translationprotocol.h:29
DataModelIterator
Definition
messagemodel.h:141
DataModelIterator::isValid
bool isValid() const
Definition
messagemodel.cpp:629
DataModelIterator::DataModelIterator
DataModelIterator(TranslationType type, const DataModel *model=0, int groupNo=0, int messageNo=0)
Definition
messagemodel.cpp:623
DataModelIterator::current
MessageItem * current() const
Definition
messagemodel.cpp:647
DataModelIterator::operator++
void operator++()
Definition
messagemodel.cpp:636
DataModel
Definition
messagemodel.h:154
DataModel::groupItem
GroupItem * groupItem(int index, TranslationType type) const
Definition
messagemodel.cpp:220
DataModel::labelCount
int labelCount() const
Definition
messagemodel.h:163
DataModel::contextCount
int contextCount() const
Definition
messagemodel.h:162
MachineTranslationDialog
Definition
machinetranslationdialog.h:27
MachineTranslationDialog::~MachineTranslationDialog
~MachineTranslationDialog()
MachineTranslationDialog::setDataModel
void setDataModel(MultiDataModel *dm)
Definition
machinetranslationdialog.cpp:179
MachineTranslator
Definition
machinetranslator.h:23
MachineTranslator::start
void start() noexcept
Definition
machinetranslator.cpp:54
MachineTranslator::translationFailed
void translationFailed(QList< const TranslatorMessage * >)
MachineTranslator::setUrl
void setUrl(const QString &url)
Definition
machinetranslator.cpp:62
MachineTranslator::debugLog
void debugLog(const QByteArray &message, bool fromLlm)
MachineTranslator::requestModels
void requestModels()
Definition
machinetranslator.cpp:106
MachineTranslator::translate
void translate(const Messages &messages, const QString &userContext=QString())
Definition
machinetranslator.cpp:41
MachineTranslator::activateTranslationModel
void activateTranslationModel(const QString &modelName)
Definition
machinetranslator.cpp:76
MachineTranslator::~MachineTranslator
~MachineTranslator()
MachineTranslator::setApiType
void setApiType(TranslationApiType type)
Definition
machinetranslator.cpp:27
MachineTranslator::setApiKey
void setApiKey(const QString &apiKey)
Definition
machinetranslator.cpp:68
MachineTranslator::stop
void stop() noexcept
Definition
machinetranslator.h:32
MachineTranslator::modelsReceived
void modelsReceived(QStringList models)
MessageItem::message
const TranslatorMessage & message() const
Definition
messagemodel.h:56
MultiDataModel
Definition
messagemodel.h:376
MultiDataModel::model
DataModel * model(int i)
Definition
messagemodel.h:422
TranslationSettings
Definition
translationsettings.h:12
TranslationSettings::setMaxJsonFormatTries
static void setMaxJsonFormatTries(int value)
Definition
translationsettings.cpp:86
TranslationSettings::setMaxBatchSize
static void setMaxBatchSize(int value)
Definition
translationsettings.cpp:76
TranslationSettings::setTemperature
static void setTemperature(double value)
Definition
translationsettings.cpp:81
TranslationSettings::setMaxConcurrentBatches
static void setMaxConcurrentBatches(int value)
Definition
translationsettings.cpp:66
TranslationSettings::setTransferTimeoutMs
static void setTransferTimeoutMs(int value)
Definition
translationsettings.cpp:71
TranslationSettings::setMaxRetries
static void setMaxRetries(int value)
Definition
translationsettings.cpp:61
TranslationSettings::setOllamaWakeUpTimeoutMs
static void setOllamaWakeUpTimeoutMs(int value)
Definition
translationsettings.cpp:91
TranslationSettings::resetToDefaults
static void resetToDefaults()
Definition
translationsettings.cpp:96
TranslatorMessage
Definition
translatormessage.h:17
TranslationApiType
TranslationApiType
Definition
machinetranslator.h:20
TranslationApiType::OpenAICompatible
@ OpenAICompatible
Definition
machinetranslator.h:20
TranslationApiType::Ollama
@ Ollama
Definition
machinetranslator.h:20
IDBASED
@ IDBASED
Definition
messagemodel.h:67
TEXTBASED
@ TEXTBASED
Definition
messagemodel.h:67
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
Messages
Definition
translationprotocol.h:15
Messages::pluralFormsCount
int pluralFormsCount
Definition
translationprotocol.h:19
qttools
src
linguist
shared
auto-translation
machinetranslator.h
Generated on
for Qt by
1.18.0