Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
translationprotocol.h
Go to the documentation of this file.
1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef TRANSLATIONPROTOCOL_H
5#define TRANSLATIONPROTOCOL_H
6
7#include <QList>
8
10
12class QUrl;
13
20
21struct Item
22{
25};
26
37
39{
40public:
41 virtual QList<Batch> makeBatches(const Messages &messages,
42 const QString &userContext = {}) const = 0;
43 virtual QByteArray payload(const Batch &b) const = 0;
44 virtual QHash<QString, QString> extractTranslations(const QByteArray &data) = 0;
45 virtual QStringList extractModels(const QByteArray &data) const = 0;
46
47 // Stages the model for translation, optionally returning a wake-up payload
48 virtual std::optional<QByteArray> stageModel(const QString &modelName) = 0;
49
50 virtual void setUrl(const QString &url) = 0;
51 virtual QUrl translationEndpoint() const = 0;
52 virtual QUrl discoveryEndpoint() const = 0;
53 virtual ~TranslationProtocol() = default;
54};
55
56QT_END_NAMESPACE
57
58#endif // TRANSLATIONPROTOCOL_H
QString srcLang
QList< Item > items
std::shared_ptr< std::atomic_int > counter
QString tgtLang
QString context
QString userContext
bool isValid() const
DataModelIterator(TranslationType type, const DataModel *model=0, int groupNo=0, int messageNo=0)
MessageItem * current() const
GroupItem * groupItem(int index, TranslationType type) const
MessageItem * messageItem(int i) const
int messageCount() const
Definition lalr.h:84
QString translation
const TranslatorMessage * msg
void setDataModel(MultiDataModel *dm)
void start() noexcept
void translationFailed(QList< const TranslatorMessage * >)
void setUrl(const QString &url)
void translate(const Messages &messages, const QString &userContext=QString())
void activateTranslationModel(const QString &modelName)
void stop() noexcept
void modelsReceived(QStringList models)
const TranslatorMessage & message() const
DataModel * model(int i)
virtual QByteArray payload(const Batch &b) const =0
virtual ~TranslationProtocol()=default
virtual void setUrl(const QString &url)=0
virtual QUrl translationEndpoint() const =0
virtual std::optional< QByteArray > stageModel(const QString &modelName)=0
virtual QHash< QString, QString > extractTranslations(const QByteArray &data)=0
virtual QList< Batch > makeBatches(const Messages &messages, const QString &userContext={}) const =0
virtual QStringList extractModels(const QByteArray &data) const =0
virtual QUrl discoveryEndpoint() const =0
@ IDBASED
@ TEXTBASED
QList< const TranslatorMessage * > items