File indexing completed on 2024-06-23 04:40:32

0001 /*
0002   SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0003 
0004   SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <TextTranslator/TranslatorEnginePlugin>
0010 
0011 class LingvaEnginePlugin : public TextTranslator::TranslatorEnginePlugin
0012 {
0013     Q_OBJECT
0014 public:
0015     explicit LingvaEnginePlugin(QObject *parent = nullptr);
0016     ~LingvaEnginePlugin() override;
0017 
0018     void translate() override;
0019 
0020     void slotConfigureChanged();
0021 
0022     [[nodiscard]] QString languageCode(const QString &langStr) override;
0023 
0024 private:
0025     void loadSettings();
0026     void translateText();
0027     void parseTranslation(QNetworkReply *reply);
0028     QString mServerUrl;
0029     QString mResult;
0030 };