QtLingo 1
QtLingo is an Application to make Qt Computer Translations easier
QOnlineTranslator Class Reference

QOnlineTranslator. More...

#include <qonlinetranslator.h>

Inheritance diagram for QOnlineTranslator:

Public Types

enum  Language {
  NoLanguage = -1 , Auto , Afrikaans , Albanian ,
  Amharic , Arabic , Armenian , Azerbaijani ,
  Bashkir , Basque , Belarusian , Bengali ,
  Bosnian , Bulgarian , Cantonese , Catalan ,
  Cebuano , Chichewa , Corsican , Croatian ,
  Czech , Danish , Dutch , English ,
  Esperanto , Estonian , Fijian , Filipino ,
  Finnish , French , Frisian , Galician ,
  Georgian , German , Greek , Gujarati ,
  HaitianCreole , Hausa , Hawaiian , Hebrew ,
  HillMari , Hindi , Hmong , Hungarian ,
  Icelandic , Igbo , Indonesian , Irish ,
  Italian , Japanese , Javanese , Kannada ,
  Kazakh , Khmer , Kinyarwanda , Klingon ,
  KlingonPlqaD , Korean , Kurdish , Kyrgyz ,
  Lao , Latin , Latvian , LevantineArabic ,
  Lithuanian , Luxembourgish , Macedonian , Malagasy ,
  Malay , Malayalam , Maltese , Maori ,
  Marathi , Mari , Mongolian , Myanmar ,
  Nepali , Norwegian , Oriya , Papiamento ,
  Pashto , Persian , Polish , Portuguese ,
  Punjabi , QueretaroOtomi , Romanian , Russian ,
  Samoan , ScotsGaelic , SerbianCyrillic , SerbianLatin ,
  Sesotho , Shona , SimplifiedChinese , Sindhi ,
  Sinhala , Slovak , Slovenian , Somali ,
  Spanish , Sundanese , Swahili , Swedish ,
  Tagalog , Tahitian , Tajik , Tamil ,
  Tatar , Telugu , Thai , Tongan ,
  TraditionalChinese , Turkish , Turkmen , Udmurt ,
  Uighur , Ukrainian , Urdu , Uzbek ,
  Vietnamese , Welsh , Xhosa , Yiddish ,
  Yoruba , YucatecMaya , Zulu
}
 
enum  Engine { Google , Yandex , Bing }
 
enum  TranslationError {
  NoError , ParametersError , NetworkError , ServiceError ,
  ParsingError
}
 

Signals

void finished ()
 finished More...
 

Public Member Functions

 QOnlineTranslator (QObject *parent=nullptr)
 QOnlineTranslator. More...
 
void translate (const QString &text, Engine engine=Google, Language translationLang=Auto, Language sourceLang=Auto, Language uiLang=Auto)
 translate More...
 
void detectLanguage (const QString &text, Engine engine=Google)
 detect Language More...
 
void abort ()
 abort More...
 
bool isRunning () const
 is Running More...
 
QJsonDocument toJson () const
 to Json More...
 
QString source () const
 source More...
 
QString sourceTranslit () const
 source Translit More...
 
QString sourceTranscription () const
 source Transcription More...
 
QString sourceLanguageName () const
 source Language Name More...
 
Language sourceLanguage () const
 source Language More...
 
QString translation () const
 translation More...
 
QString translationTranslit () const
 translation Translit More...
 
QString translationLanguageName () const
 translation Language Name More...
 
Language translationLanguage () const
 translation Language More...
 
QMap< QString, QVector< QOption > > translationOptions () const
 translation Options More...
 
QMap< QString, QVector< QExample > > examples () const
 examples More...
 
TranslationError error () const
 error More...
 
QString errorString () const
 error String More...
 
bool isSourceTranslitEnabled () const
 is Source Translit Enabled More...
 
void setSourceTranslitEnabled (bool enable)
 set Source Translit Enabled More...
 
bool isTranslationTranslitEnabled () const
 is Translation Translit Enabled More...
 
void setTranslationTranslitEnabled (bool enable)
 set Translation Translit Enabled More...
 
bool isSourceTranscriptionEnabled () const
 is Source Transcription Enabled More...
 
void setSourceTranscriptionEnabled (bool enable)
 set Source Transcription Enabled More...
 
bool isTranslationOptionsEnabled () const
 is Translation Options Enabled More...
 
void setTranslationOptionsEnabled (bool enable)
 set Translation Options Enabled More...
 
bool isExamplesEnabled () const
 is Examples Enabled More...
 
void setExamplesEnabled (bool enable)
 set Examples Enabled More...
 
QString languageName (const QString &lang)
 language Name More...
 

Static Public Member Functions

static QString languageName (Language lang)
 language Name More...
 
static QString languageCode (Language lang)
 language Code More...
 
static Language language (const QLocale &locale)
 language More...
 
static Language language (const QString &langCode)
 language More...
 
static bool isSupportTranslation (Engine engine, Language lang)
 is Support Translation More...
 

Friends

class QOnlineTts
 QOnlineTts. More...
 

Detailed Description

QOnlineTranslator.

Definition at line 52 of file qonlinetranslator.h.

Member Enumeration Documentation

◆ Engine

Enumerator
Google 

Google

Google

Yandex 

Yandex

Yandex

Bing 

Bing

Bing

Definition at line 193 of file qonlinetranslator.h.

194 {
195 Google,
196 Yandex,
197 Bing
198 };

◆ Language

Enumerator
NoLanguage 

NoLanguage

NoLanguage

Auto 

Auto

Auto

Afrikaans 

Afrikaans

Afrikaans

Albanian 

Albanian

Albanian

Amharic 

Amharic

Amharic

Arabic 

Arabic

Arabic

Armenian 

Armenian

Armenian

Azerbaijani 

Azerbaijani

Azerbaijani

Bashkir 

Bashkir

Bashkir

Basque 

Basque

Basque

Belarusian 

Belarusian

Belarusian

Bengali 

Bengali

Bengali

Bosnian 

Bosnian

Bosnian

Bulgarian 

Bulgarian

Bulgarian

Cantonese 

Cantonese

Cantonese

Catalan 

Catalan

Catalan

Cebuano 

Cebuano

Cebuano

Chichewa 

Chichewa

Chichewa

Corsican 

Corsican

Corsican

Croatian 

Croatian

Croatian

Czech 

Czech

Czech

Danish 

Danish

Danish

Dutch 

Dutch

Dutch

English 

English

English

Esperanto 

Esperanto

Esperanto

Estonian 

Estonian

Estonian

Fijian 

Fijian

Fijian

Filipino 

Filipino

Filipino

Finnish 

Finnish

Finnish

French 

French

French

Frisian 

Frisian

Frisian

Galician 

Galician

Galician

Georgian 

Georgian

Georgian

German 

German

German

Greek 

Greek

Greek

Gujarati 

Gujarati

Gujarati

HaitianCreole 

HaitianCreole

HaitianCreole

Hausa 

Hausa

Hausa

Hawaiian 

Hawaiian

Hawaiian

Hebrew 

Hebrew

Hebrew

HillMari 

HillMari

HillMari

Hindi 

Hindi

Hindi

Hmong 

Hmong

Hmong

Hungarian 

Hungarian

Hungarian

Icelandic 

Icelandic

Icelandic

Igbo 

Igbo

Igbo

Indonesian 

Indonesian

Indonesian

Irish 

Irish

Irish

Italian 

Italian

Italian

Japanese 

Japanese

Japanese

Javanese 

Javanese

Javanese

Kannada 

Kannada

Kannada

Kazakh 

Kazakh

Kazakh

Khmer 

Khmer

Khmer

Kinyarwanda 

Kinyarwanda

Kinyarwanda

Klingon 

Klingon

Klingon

KlingonPlqaD 

KlingonPlqaD

KlingonPlqaD

Korean 

Korean

Korean

Kurdish 

Kurdish

Kurdish

Kyrgyz 

Kyrgyz

Kyrgyz

Lao 

Lao

Lao

Latin 

Latin

Latin

Latvian 

Latvian

Latvian

LevantineArabic 

LevantineArabic

LevantineArabic

Lithuanian 

Lithuanian

Lithuanian

Luxembourgish 

Luxembourgish

Luxembourgish

Macedonian 

Macedonian

Macedonian

Malagasy 

Malagasy

Malagasy

Malay 

Malay

Malay

Malayalam 

Malayalam

Malayalam

Maltese 

Maltese

Maltese

Maori 

Maori

Maori

Marathi 

Marathi

Marathi

Mari 

Mari

Mari

Mongolian 

Mongolian

Mongolian

Myanmar 

Myanmar

Myanmar

Nepali 

Nepali

Nepali

Norwegian 

Norwegian

Norwegian

Oriya 

Oriya

Oriya

Papiamento 

Papiamento

Papiamento

Pashto 

Pashto

Pashto

Persian 

Persian

Persian

Polish 

Polish

Polish

Portuguese 

Portuguese

Portuguese

Punjabi 

Punjabi

Punjabi

QueretaroOtomi 

QueretaroOtomi

QueretaroOtomi

Romanian 

Romanian

Romanian

Russian 

Russian

Russian

Samoan 

Samoan

Samoan

ScotsGaelic 

ScotsGaelic

ScotsGaelic

SerbianCyrillic 

SerbianCyrillic

SerbianCyrillic

SerbianLatin 

SerbianLatin

SerbianLatin

Sesotho 

Sesotho

Sesotho

Shona 

Shona

Shona

SimplifiedChinese 

SimplifiedChinese

SimplifiedChinese

Sindhi 

Sindhi

Sindhi

Sinhala 

Sinhala

Sinhala

Slovak 

Slovak

Slovak

Slovenian 

Slovenian

Slovenian

Somali 

Somali

Somali

Spanish 

Spanish

Spanish

Sundanese 

Sundanese

Sundanese

Swahili 

Swahili

Swahili

Swedish 

Swedish

Swedish

Tagalog 

Tagalog

Tagalog

Tahitian 

Tahitian

Tahitian

Tajik 

Tajik

Tajik

Tamil 

Tamil

Tamil

Tatar 

Tatar

Tatar

Telugu 

Telugu

Telugu

Thai 

Thai

Thai

Tongan 

Tongan

Tongan

TraditionalChinese 

TraditionalChinese

TraditionalChinese

Turkish 

Turkish

Turkish

Turkmen 

Turkmen

Turkmen

Udmurt 

Udmurt

Udmurt

Uighur 

Uighur

Uighur

Ukrainian 

Ukrainian

Ukrainian

Urdu 

Urdu

Urdu

Uzbek 

Uzbek

Uzbek

Vietnamese 

Vietnamese

Vietnamese

Welsh 

Welsh

Welsh

Xhosa 

Xhosa

Xhosa

Yiddish 

Yiddish

Yiddish

Yoruba 

Yoruba

Yoruba

YucatecMaya 

YucatecMaya

YucatecMaya

Zulu 

Zulu

Zulu

Definition at line 61 of file qonlinetranslator.h.

62 {
63 NoLanguage = -1,
64 Auto,
65 Afrikaans,
66 Albanian,
67 Amharic,
68 Arabic,
69 Armenian,
71 Bashkir,
72 Basque,
74 Bengali,
75 Bosnian,
76 Bulgarian,
77 Cantonese,
78 Catalan,
79 Cebuano,
80 Chichewa,
81 Corsican,
82 Croatian,
83 Czech,
84 Danish,
85 Dutch,
86 English,
87 Esperanto,
88 Estonian,
89 Fijian,
90 Filipino,
91 Finnish,
92 French,
93 Frisian,
94 Galician,
95 Georgian,
96 German,
97 Greek,
98 Gujarati,
100 Hausa,
101 Hawaiian,
102 Hebrew,
103 HillMari,
104 Hindi,
105 Hmong,
106 Hungarian,
107 Icelandic,
108 Igbo,
109 Indonesian,
110 Irish,
111 Italian,
112 Japanese,
113 Javanese,
114 Kannada,
115 Kazakh,
116 Khmer,
118 Klingon,
120 Korean,
121 Kurdish,
122 Kyrgyz,
123 Lao,
124 Latin,
125 Latvian,
127 Lithuanian,
129 Macedonian,
130 Malagasy,
131 Malay,
132 Malayalam,
133 Maltese,
134 Maori,
135 Marathi,
136 Mari,
137 Mongolian,
138 Myanmar,
139 Nepali,
140 Norwegian,
141 Oriya,
142 Papiamento,
143 Pashto,
144 Persian,
145 Polish,
146 Portuguese,
147 Punjabi,
149 Romanian,
150 Russian,
151 Samoan,
155 Sesotho,
156 Shona,
158 Sindhi,
159 Sinhala,
160 Slovak,
161 Slovenian,
162 Somali,
163 Spanish,
164 Sundanese,
165 Swahili,
166 Swedish,
167 Tagalog,
168 Tahitian,
169 Tajik,
170 Tamil,
171 Tatar,
172 Telugu,
173 Thai,
174 Tongan,
176 Turkish,
177 Turkmen,
178 Udmurt,
179 Uighur,
180 Ukrainian,
181 Urdu,
182 Uzbek,
183 Vietnamese,
184 Welsh,
185 Xhosa,
186 Yiddish,
187 Yoruba,
189 Zulu
190 };
@ ScotsGaelic
ScotsGaelic
@ Kinyarwanda
Kinyarwanda
@ TraditionalChinese
TraditionalChinese
@ Azerbaijani
Azerbaijani
@ YucatecMaya
YucatecMaya
@ HaitianCreole
HaitianCreole
@ KlingonPlqaD
KlingonPlqaD
@ SerbianLatin
SerbianLatin
@ SerbianCyrillic
SerbianCyrillic
@ LevantineArabic
LevantineArabic
@ SimplifiedChinese
SimplifiedChinese
@ NoLanguage
NoLanguage
@ QueretaroOtomi
QueretaroOtomi
@ Luxembourgish
Luxembourgish
@ Belarusian
Belarusian

◆ TranslationError

Enumerator
NoError 

NoError

No Error

ParametersError 

ParametersError

Parameters Error

NetworkError 

NetworkError

Network Error

ServiceError 

ServiceError

Service Error

ParsingError 

ParsingError

Parsing Error

Definition at line 201 of file qonlinetranslator.h.

202 {
203 NoError,
208 };
@ ParsingError
ParsingError
@ NetworkError
NetworkError
@ ParametersError
ParametersError
@ ServiceError
ServiceError

Constructor & Destructor Documentation

◆ QOnlineTranslator()

QOnlineTranslator::QOnlineTranslator ( QObject *  parent = nullptr)
explicit

QOnlineTranslator.

QOnlineTranslator Constructor. QOnlineTranslator.

Definition at line 191 of file qonlinetranslator.cpp.

191 : QObject(parent), m_stateMachine(new QStateMachine(this)), m_networkManager(new QNetworkAccessManager(this))
192{
193 connect(m_stateMachine, &QStateMachine::finished, this, &QOnlineTranslator::finished);
194 connect(m_stateMachine, &QStateMachine::stopped, this, &QOnlineTranslator::finished);
195}

Member Function Documentation

◆ abort()

void QOnlineTranslator::abort ( )

abort

abort. abort

Definition at line 270 of file qonlinetranslator.cpp.

271{
272 if (m_currentReply != nullptr) { m_currentReply->abort(); }
273}

◆ detectLanguage()

void QOnlineTranslator::detectLanguage ( const QString &  text,
Engine  engine = Google 
)

detect Language

detect Language. detectLanguage

Definition at line 246 of file qonlinetranslator.cpp.

247{
248 abort();
249 resetData();
250
251 m_onlyDetectLanguage = true;
252 m_source = text;
253 m_sourceLang = Auto;
254 m_translationLang = English;
255 m_uiLang = language(QLocale());
256
257 switch (engine)
258 {
259 case Google: buildGoogleDetectStateMachine(); break;
260 case Yandex: buildYandexDetectStateMachine(); break;
261 case Bing: buildBingDetectStateMachine(); break;
262 }
263
264 m_stateMachine->start();
265}
static Language language(const QLocale &locale)
language

◆ error()

QOnlineTranslator::TranslationError QOnlineTranslator::error ( ) const

error

error. error

Definition at line 415 of file qonlinetranslator.cpp.

416{
417 return m_error;
418}

◆ errorString()

QString QOnlineTranslator::errorString ( ) const

error String

error String. errorString

Definition at line 423 of file qonlinetranslator.cpp.

424{
425 return m_errorString;
426}

◆ examples()

QMap< QString, QVector< QExample > > QOnlineTranslator::examples ( ) const

examples

examples. examples

Definition at line 407 of file qonlinetranslator.cpp.

408{
409 return m_examples;
410}

◆ finished

void QOnlineTranslator::finished ( )
signal

finished

Definition at line 519 of file moc_qonlinetranslator.cpp.

520{
521 QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
522}

◆ isExamplesEnabled()

bool QOnlineTranslator::isExamplesEnabled ( ) const

is Examples Enabled

is Examples Enabled. isExamplesEnabled

Definition at line 495 of file qonlinetranslator.cpp.

496{
497 return m_examplesEnabled;
498}

◆ isRunning()

bool QOnlineTranslator::isRunning ( ) const

is Running

is Running. isRunning

Definition at line 278 of file qonlinetranslator.cpp.

279{
280 return m_stateMachine->isRunning();
281}

◆ isSourceTranscriptionEnabled()

bool QOnlineTranslator::isSourceTranscriptionEnabled ( ) const

is Source Transcription Enabled

is Source Transcription Enabled. isSourceTranscriptionEnabled

Definition at line 463 of file qonlinetranslator.cpp.

464{
465 return m_sourceTranscriptionEnabled;
466}

◆ isSourceTranslitEnabled()

bool QOnlineTranslator::isSourceTranslitEnabled ( ) const

is Source Translit Enabled

is Source Translit Enabled. isSourceTranslitEnabled

Definition at line 431 of file qonlinetranslator.cpp.

432{
433 return m_sourceTranslitEnabled;
434}

◆ isSupportTranslation()

bool QOnlineTranslator::isSupportTranslation ( Engine  engine,
Language  lang 
)
static

is Support Translation

is Support Translation. isSupportTranslation

Definition at line 778 of file qonlinetranslator.cpp.

779{
780 bool isSupported = false;
781
782 switch (engine)
783 {
784 case Google:
785 switch (lang)
786 {
787 case NoLanguage:
788 case Bashkir:
789 case Cantonese:
790 case Fijian:
791 case Filipino:
792 case Georgian:
793 case HillMari:
794 case Klingon:
795 case KlingonPlqaD:
796 case LevantineArabic:
797 case Mari:
798 case Papiamento:
799 case QueretaroOtomi:
800 case SerbianLatin:
801 case Tahitian:
802 case Tongan:
803 case Udmurt:
804 case YucatecMaya:
805 isSupported = false;
806 break;
807 default:
808 isSupported = true;
809 break;
810 }
811 break;
812 case Yandex:
813 switch (lang)
814 {
815 case NoLanguage:
816 case Cantonese:
817 case Chichewa:
818 case Corsican:
819 case Fijian:
820 case Filipino:
821 case Frisian:
822 case Hausa:
823 case Hawaiian:
824 case Igbo:
825 case Kinyarwanda:
826 case Klingon:
827 case KlingonPlqaD:
828 case Kurdish:
829 case LevantineArabic:
830 case Oriya:
831 case Pashto:
832 case QueretaroOtomi:
833 case Samoan:
834 case SerbianLatin:
835 case Sesotho:
836 case Shona:
837 case Sindhi:
838 case Somali:
839 case Tahitian:
840 case Tongan:
841 case Turkmen:
842 case Uighur:
843 case Yoruba:
844 case YucatecMaya:
845 case Zulu:
846 isSupported = false;
847 break;
848 default:
849 isSupported = true;
850 break;
851 }
852 break;
853 case Bing:
854 switch (lang)
855 {
856 case NoLanguage:
857 case Albanian:
858 case Amharic:
859 case Armenian:
860 case Azerbaijani:
861 case Basque:
862 case Bashkir:
863 case Belarusian:
864 case Cebuano:
865 case Corsican:
866 case Esperanto:
867 case Frisian:
868 case Galician:
869 case Georgian:
870 case Gujarati:
871 case Hausa:
872 case Hawaiian:
873 case HillMari:
874 case Igbo:
875 case Irish:
876 case Javanese:
877 case Kannada:
878 case Kazakh:
879 case Khmer:
880 case Kinyarwanda:
881 case Kurdish:
882 case Kyrgyz:
883 case Lao:
884 case Latin:
885 case Luxembourgish:
886 case Macedonian:
887 case Malayalam:
888 case Maori:
889 case Marathi:
890 case Mari:
891 case Mongolian:
892 case Myanmar:
893 case Nepali:
894 case Oriya:
895 case Chichewa:
896 case Papiamento:
897 case Pashto:
898 case Punjabi:
899 case ScotsGaelic:
900 case Sesotho:
901 case Shona:
902 case Sindhi:
903 case Sinhala:
904 case Somali:
905 case Sundanese:
906 case Tagalog:
907 case Tajik:
908 case Tatar:
909 case Turkmen:
910 case Uighur:
911 case Udmurt:
912 case Uzbek:
913 case Xhosa:
914 case Yiddish:
915 case Yoruba:
916 case Zulu:
917 isSupported = false;
918 break;
919 default:
920 isSupported = true;
921 break;
922 }
923 }
924
925 return isSupported;
926}

◆ isTranslationOptionsEnabled()

bool QOnlineTranslator::isTranslationOptionsEnabled ( ) const

is Translation Options Enabled

is Translation Options Enabled. isTranslationOptionsEnabled

Definition at line 479 of file qonlinetranslator.cpp.

480{
481 return m_translationOptionsEnabled;
482}

◆ isTranslationTranslitEnabled()

bool QOnlineTranslator::isTranslationTranslitEnabled ( ) const

is Translation Translit Enabled

is Translation Translit Enabled. isTranslationTranslitEnabled

Definition at line 447 of file qonlinetranslator.cpp.

448{
449 return m_translationTranslitEnabled;
450}

◆ language() [1/2]

QOnlineTranslator::Language QOnlineTranslator::language ( const QLocale &  locale)
static

language

language. language

Definition at line 656 of file qonlinetranslator.cpp.

657{
658 switch (locale.language())
659 {
660 case QLocale::Afrikaans: return Afrikaans;
661 case QLocale::Albanian: return Albanian;
662 case QLocale::Amharic: return Amharic;
663 case QLocale::Arabic: return Arabic;
664 case QLocale::Armenian: return Armenian;
665 case QLocale::Azerbaijani: return Azerbaijani;
666 case QLocale::Basque: return Basque;
667 case QLocale::Belarusian: return Belarusian;
668 case QLocale::Bengali: return Bengali;
669 case QLocale::Bosnian: return Bosnian;
670 case QLocale::Bulgarian: return Bulgarian;
671 case QLocale::Catalan: return Catalan;
672 case QLocale::Chinese: return SimplifiedChinese;
673 case QLocale::LiteraryChinese: return TraditionalChinese;
674 case QLocale::Corsican: return Corsican;
675 case QLocale::Croatian: return Croatian;
676 case QLocale::Czech: return Czech;
677 case QLocale::Danish: return Danish;
678 case QLocale::Dutch: return Dutch;
679 case QLocale::Esperanto: return Esperanto;
680 case QLocale::Estonian: return Estonian;
681 case QLocale::Finnish: return Finnish;
682 case QLocale::French: return French;
683 case QLocale::Frisian: return Frisian;
684 case QLocale::Galician: return Galician;
685 case QLocale::Georgian: return Georgian;
686 case QLocale::German: return German;
687 case QLocale::Greek: return Greek;
688 case QLocale::Gujarati: return Gujarati;
689 case QLocale::Haitian: return HaitianCreole;
690 case QLocale::Hausa: return Hausa;
691 case QLocale::Hawaiian: return Hawaiian;
692 case QLocale::Hebrew: return Hebrew;
693 case QLocale::Hindi: return Hindi;
694 case QLocale::Hungarian: return Hungarian;
695 case QLocale::Icelandic: return Icelandic;
696 case QLocale::Igbo: return Igbo;
697 case QLocale::Indonesian: return Indonesian;
698 case QLocale::Irish: return Irish;
699 case QLocale::Italian: return Italian;
700 case QLocale::Japanese: return Japanese;
701 case QLocale::Javanese: return Javanese;
702 case QLocale::Kannada: return Kannada;
703 case QLocale::Kazakh: return Kazakh;
704 case QLocale::Khmer: return Khmer;
705 case QLocale::Kinyarwanda: return Kinyarwanda;
706 case QLocale::Korean: return Korean;
707 case QLocale::Kurdish: return Kurdish;
708 case QLocale::Lao: return Lao;
709 case QLocale::Latin: return Latin;
710 case QLocale::Latvian: return Latvian;
711 case QLocale::Lithuanian: return Lithuanian;
712 case QLocale::Luxembourgish: return Luxembourgish;
713 case QLocale::Macedonian: return Macedonian;
714 case QLocale::Malagasy: return Malagasy;
715 case QLocale::Malay: return Malay;
716 case QLocale::Malayalam: return Malayalam;
717 case QLocale::Maltese: return Maltese;
718 case QLocale::Maori: return Maori;
719 case QLocale::Marathi: return Marathi;
720 case QLocale::Mongolian: return Mongolian;
721 case QLocale::Nepali: return Nepali;
722 case QLocale::NorwegianBokmal: return Norwegian;
723 case QLocale::Oriya: return Oriya;
724 case QLocale::Pashto: return Pashto;
725 case QLocale::Persian: return Persian;
726 case QLocale::Polish: return Polish;
727 case QLocale::Portuguese: return Portuguese;
728 case QLocale::Punjabi: return Punjabi;
729 case QLocale::Romanian: return Romanian;
730 case QLocale::Russian: return Russian;
731 case QLocale::Samoan: return Samoan;
732 case QLocale::Gaelic: return ScotsGaelic;
733 case QLocale::Serbian: return SerbianCyrillic;
734 case QLocale::Shona: return Shona;
735 case QLocale::Sindhi: return Sindhi;
736 case QLocale::Sinhala: return Sinhala;
737 case QLocale::Slovak: return Slovak;
738 case QLocale::Slovenian: return Slovenian;
739 case QLocale::Somali: return Somali;
740 case QLocale::Spanish: return Spanish;
741 case QLocale::Sundanese: return Sundanese;
742 case QLocale::Swahili: return Swahili;
743 case QLocale::Swedish: return Swedish;
744 case QLocale::Filipino: return Filipino;
745 case QLocale::Tajik: return Tajik;
746 case QLocale::Tamil: return Tamil;
747 case QLocale::Tatar: return Tatar;
748 case QLocale::Telugu: return Telugu;
749 case QLocale::Thai: return Thai;
750 case QLocale::Turkish: return Turkish;
751 case QLocale::Turkmen: return Turkmen;
752 case QLocale::Uighur: return Uighur;
753 case QLocale::Ukrainian: return Ukrainian;
754 case QLocale::Urdu: return Urdu;
755 case QLocale::Uzbek: return Uzbek;
756 case QLocale::Vietnamese: return Vietnamese;
757 case QLocale::Welsh: return Welsh;
758 case QLocale::Xhosa: return Xhosa;
759 case QLocale::Yiddish: return Yiddish;
760 case QLocale::Yoruba: return Yoruba;
761 case QLocale::Zulu: return Zulu;
762 default: return English;
763 }
764} // end language(const QLocale

◆ language() [2/2]

QOnlineTranslator::Language QOnlineTranslator::language ( const QString &  langCode)
static

language

Returns general language code.

Parameters
langCodeQString "en" returns English language

Definition at line 770 of file qonlinetranslator.cpp.

771{
772 return s_genericLanguageCodes.key(langCode, NoLanguage);
773}

◆ languageCode()

QString QOnlineTranslator::languageCode ( Language  lang)
static

language Code

language Code. languageCode

Definition at line 648 of file qonlinetranslator.cpp.

649{
650 return s_genericLanguageCodes.value(lang);
651}

◆ languageName() [1/2]

QString QOnlineTranslator::languageName ( const QString &  lang)

language Name

◆ languageName() [2/2]

QString QOnlineTranslator::languageName ( Language  lang)
static

language Name

language Name. languageName

Definition at line 511 of file qonlinetranslator.cpp.

512{
513 switch (lang)
514 {
515 case Auto: return tr("Automatically detect");
516 case Afrikaans: return tr("Afrikaans");
517 case Albanian: return tr("Albanian");
518 case Amharic: return tr("Amharic");
519 case Arabic: return tr("Arabic");
520 case Armenian: return tr("Armenian");
521 case Azerbaijani: return tr("Azeerbaijani");
522 case Basque: return tr("Basque");
523 case Bashkir: return tr("Bashkir");
524 case Belarusian: return tr("Belarusian");
525 case Bengali: return tr("Bengali");
526 case Bosnian: return tr("Bosnian");
527 case Bulgarian: return tr("Bulgarian");
528 case Catalan: return tr("Catalan");
529 case Cantonese: return tr("Cantonese");
530 case Cebuano: return tr("Cebuano");
531 case SimplifiedChinese: return tr("Chinese (Simplified)");
532 case TraditionalChinese: return tr("Chinese (Traditional)");
533 case Corsican: return tr("Corsican");
534 case Croatian: return tr("Croatian");
535 case Czech: return tr("Czech");
536 case Danish: return tr("Danish");
537 case Dutch: return tr("Dutch");
538 case English: return tr("English");
539 case Esperanto: return tr("Esperanto");
540 case Estonian: return tr("Estonian");
541 case Fijian: return tr("Fijian");
542 case Filipino: return tr("Filipino");
543 case Finnish: return tr("Finnish");
544 case French: return tr("French");
545 case Frisian: return tr("Frisian");
546 case Galician: return tr("Galician");
547 case Georgian: return tr("Georgian");
548 case German: return tr("German");
549 case Greek: return tr("Greek");
550 case Gujarati: return tr("Gujarati");
551 case HaitianCreole: return tr("Haitian Creole");
552 case Hausa: return tr("Hausa");
553 case Hawaiian: return tr("Hawaiian");
554 case Hebrew: return tr("Hebrew");
555 case HillMari: return tr("Hill Mari");
556 case Hindi: return tr("Hindi");
557 case Hmong: return tr("Hmong");
558 case Hungarian: return tr("Hungarian");
559 case Icelandic: return tr("Icelandic");
560 case Igbo: return tr("Igbo");
561 case Indonesian: return tr("Indonesian");
562 case Irish: return tr("Irish");
563 case Italian: return tr("Italian");
564 case Japanese: return tr("Japanese");
565 case Javanese: return tr("Javanese");
566 case Kannada: return tr("Kannada");
567 case Kazakh: return tr("Kazakh");
568 case Khmer: return tr("Khmer");
569 case Kinyarwanda: return tr("Kinyarwanda");
570 case Klingon: return tr("Klingon");
571 case KlingonPlqaD: return tr("Klingon (PlqaD)");
572 case Korean: return tr("Korean");
573 case Kurdish: return tr("Kurdish");
574 case Kyrgyz: return tr("Kyrgyz");
575 case Lao: return tr("Lao");
576 case Latin: return tr("Latin");
577 case Latvian: return tr("Latvian");
578 case LevantineArabic: return tr("Levantine Arabic");
579 case Lithuanian: return tr("Lithuanian");
580 case Luxembourgish: return tr("Luxembourgish");
581 case Macedonian: return tr("Macedonian");
582 case Malagasy: return tr("Malagasy");
583 case Malay: return tr("Malay");
584 case Malayalam: return tr("Malayalam");
585 case Maltese: return tr("Maltese");
586 case Maori: return tr("Maori");
587 case Marathi: return tr("Marathi");
588 case Mari: return tr("Mari");
589 case Mongolian: return tr("Mongolian");
590 case Myanmar: return tr("Myanmar");
591 case Nepali: return tr("Nepali");
592 case Norwegian: return tr("Norwegian");
593 case Oriya: return tr("Oriya");
594 case Chichewa: return tr("Chichewa");
595 case Papiamento: return tr("Papiamento");
596 case Pashto: return tr("Pashto");
597 case Persian: return tr("Persian");
598 case Polish: return tr("Polish");
599 case Portuguese: return tr("Portuguese");
600 case Punjabi: return tr("Punjabi");
601 case QueretaroOtomi: return tr("Queretaro Otomi");
602 case Romanian: return tr("Romanian");
603 case Russian: return tr("Russian");
604 case Samoan: return tr("Samoan");
605 case ScotsGaelic: return tr("Scots Gaelic");
606 case SerbianCyrillic: return tr("Serbian (Cyrillic)");
607 case SerbianLatin: return tr("Serbian (Latin)");
608 case Sesotho: return tr("Sesotho");
609 case Shona: return tr("Shona");
610 case Sindhi: return tr("Sindhi");
611 case Sinhala: return tr("Sinhala");
612 case Slovak: return tr("Slovak");
613 case Slovenian: return tr("Slovenian");
614 case Somali: return tr("Somali");
615 case Spanish: return tr("Spanish");
616 case Sundanese: return tr("Sundanese");
617 case Swahili: return tr("Swahili");
618 case Swedish: return tr("Swedish");
619 case Tagalog: return tr("Tagalog");
620 case Tahitian: return tr("Tahitian");
621 case Tajik: return tr("Tajik");
622 case Tamil: return tr("Tamil");
623 case Tatar: return tr("Tatar");
624 case Telugu: return tr("Telugu");
625 case Thai: return tr("Thai");
626 case Tongan: return tr("Tongan");
627 case Turkish: return tr("Turkish");
628 case Turkmen: return tr("Turkmen");
629 case Udmurt: return tr("Udmurt");
630 case Uighur: return tr("Uighur");
631 case Ukrainian: return tr("Ukrainian");
632 case Urdu: return tr("Urdu");
633 case Uzbek: return tr("Uzbek");
634 case Vietnamese: return tr("Vietnamese");
635 case Welsh: return tr("Welsh");
636 case Xhosa: return tr("Xhosa");
637 case Yiddish: return tr("Yiddish");
638 case Yoruba: return tr("Yoruba");
639 case YucatecMaya: return tr("Yucatec Maya");
640 case Zulu: return tr("Zulu");
641 default: return QString();
642 } // end switch (lang)
643} // end languageName(Language lang)

◆ setExamplesEnabled()

void QOnlineTranslator::setExamplesEnabled ( bool  enable)

set Examples Enabled

set Examples Enabled. setExamplesEnabled

Definition at line 503 of file qonlinetranslator.cpp.

504{
505 m_examplesEnabled = enable;
506}

◆ setSourceTranscriptionEnabled()

void QOnlineTranslator::setSourceTranscriptionEnabled ( bool  enable)

set Source Transcription Enabled

set Source Transcription Enabled. setSourceTranscriptionEnabled

Definition at line 471 of file qonlinetranslator.cpp.

472{
473 m_sourceTranscriptionEnabled = enable;
474}

◆ setSourceTranslitEnabled()

void QOnlineTranslator::setSourceTranslitEnabled ( bool  enable)

set Source Translit Enabled

set Source Translit Enabled. setSourceTranslitEnabled

Definition at line 439 of file qonlinetranslator.cpp.

440{
441 m_sourceTranslitEnabled = enable;
442}

◆ setTranslationOptionsEnabled()

void QOnlineTranslator::setTranslationOptionsEnabled ( bool  enable)

set Translation Options Enabled

set Translation Options Enabled. setTranslationOptionsEnabled

Definition at line 487 of file qonlinetranslator.cpp.

488{
489 m_translationOptionsEnabled = enable;
490}

◆ setTranslationTranslitEnabled()

void QOnlineTranslator::setTranslationTranslitEnabled ( bool  enable)

set Translation Translit Enabled

set Translation Translit Enabled. setTranslationTranslitEnabled

Definition at line 455 of file qonlinetranslator.cpp.

456{
457 m_translationTranslitEnabled = enable;
458}

◆ source()

QString QOnlineTranslator::source ( ) const

source

source. source

Definition at line 327 of file qonlinetranslator.cpp.

328{
329 return m_source;
330}

◆ sourceLanguage()

QOnlineTranslator::Language QOnlineTranslator::sourceLanguage ( ) const

source Language

source Language. sourceLanguage

Definition at line 359 of file qonlinetranslator.cpp.

360{
361 return m_sourceLang;
362}

◆ sourceLanguageName()

QString QOnlineTranslator::sourceLanguageName ( ) const

source Language Name

source Language Name. sourceLanguageName

Definition at line 351 of file qonlinetranslator.cpp.

352{
353 return languageName(m_sourceLang);
354}
static QString languageName(Language lang)
language Name

◆ sourceTranscription()

QString QOnlineTranslator::sourceTranscription ( ) const

source Transcription

source Transcription. sourceTranscription

Definition at line 343 of file qonlinetranslator.cpp.

344{
345 return m_sourceTranscription;
346}

◆ sourceTranslit()

QString QOnlineTranslator::sourceTranslit ( ) const

source Translit

source Translit. sourceTranslit

Definition at line 335 of file qonlinetranslator.cpp.

336{
337 return m_sourceTranslit;
338}

◆ toJson()

QJsonDocument QOnlineTranslator::toJson ( ) const

to Json

toJson. toJson

Definition at line 286 of file qonlinetranslator.cpp.

287{
288 QJsonObject translationOptions;
289 for (auto it = m_translationOptions.cbegin(); it != m_translationOptions.cend(); ++it)
290 {
291 QJsonArray arr;
292 for (const QOption &option : it.value())
293 {
294 arr.append(option.toJson());
295 }
296 translationOptions.insert(it.key(), arr);
297 }
298
299 QJsonObject examples;
300 for (auto it = m_examples.cbegin(); it != m_examples.cend(); ++it)
301 {
302 QJsonArray arr;
303 for (const QExample &example : it.value())
304 {
305 arr.append(example.toJson());
306 }
307 examples.insert(it.key(), arr);
308 }
309
310 QJsonObject object
311 {
312 {"examples", qMove(examples)},
313 {"source", m_source},
314 {"sourceTranscription", m_sourceTranscription},
315 {"sourceTranslit", m_sourceTranslit},
316 {"translation", m_translation},
317 {"translationOptions", qMove(translationOptions)},
318 {"translationTranslit", m_translationTranslit},
319 };
320
321 return QJsonDocument(object);
322}
QMap< QString, QVector< QExample > > examples() const
examples
QMap< QString, QVector< QOption > > translationOptions() const
translation Options
QExample.
Definition: qexample.h:31
QOption.
Definition: qoption.h:32

◆ translate()

void QOnlineTranslator::translate ( const QString &  text,
Engine  engine = Google,
Language  translationLang = Auto,
Language  sourceLang = Auto,
Language  uiLang = Auto 
)

translate

translate. translate

Definition at line 200 of file qonlinetranslator.cpp.

201{
202 abort();
203 resetData();
204
205 m_onlyDetectLanguage = false;
206 m_source = text;
207 m_sourceLang = sourceLang;
208 m_translationLang = translationLang == Auto ? language(QLocale()) : translationLang;
209 m_uiLang = uiLang == Auto ? language(QLocale()) : uiLang;
210
211 // Check if the source selected languages ​​are supported by the engine
212 if (!isSupportTranslation(engine, m_sourceLang))
213 {
214 resetData(ParametersError, QString("%1 %2 %3 %4").arg(tr("Selected source language"), languageName(m_sourceLang), QMetaEnum::fromType<Engine>().valueToKey(engine), tr("is not supported for")));
215 emit finished();
216 return;
217 }
218 // Check if the selected languages ​​are supported by the engine
219 if (!isSupportTranslation(engine, m_translationLang))
220 {
221 resetData(ParametersError, QString("%1 %2 %3 %4").arg(tr("Selected translation language"), languageName(m_translationLang), QMetaEnum::fromType<Engine>().valueToKey(engine), tr("is not supported for")));
222 emit finished();
223 return;
224 }
225 // Check if the selected UI languages ​​are supported by the engine
226 if (!isSupportTranslation(engine, m_uiLang))
227 {
228 resetData(ParametersError, QString("%1 %2 %3 %4").arg(tr("Selected ui language"), languageName(m_uiLang), QMetaEnum::fromType<Engine>().valueToKey(engine), tr("is not supported for")));
229 emit finished();
230 return;
231 }
232
233 switch (engine)
234 {
235 case Google: buildGoogleStateMachine(); break;
236 case Yandex: buildYandexStateMachine(); break;
237 case Bing: buildBingStateMachine(); break;
238 }
239
240 m_stateMachine->start();
241}
static bool isSupportTranslation(Engine engine, Language lang)
is Support Translation

◆ translation()

QString QOnlineTranslator::translation ( ) const

translation

translation. translation

Definition at line 367 of file qonlinetranslator.cpp.

368{
369 return m_translation;
370}

◆ translationLanguage()

QOnlineTranslator::Language QOnlineTranslator::translationLanguage ( ) const

translation Language

translation Language.

translationLanguage

Definition at line 391 of file qonlinetranslator.cpp.

392{
393 return m_translationLang;
394}

◆ translationLanguageName()

QString QOnlineTranslator::translationLanguageName ( ) const

translation Language Name

translation Language Name. translationLanguageName

Definition at line 383 of file qonlinetranslator.cpp.

384{
385 return languageName(m_translationLang);
386}

◆ translationOptions()

QMap< QString, QVector< QOption > > QOnlineTranslator::translationOptions ( ) const

translation Options

translation Options. translationOptions

Definition at line 399 of file qonlinetranslator.cpp.

400{
401 return m_translationOptions;
402}

◆ translationTranslit()

QString QOnlineTranslator::translationTranslit ( ) const

translation Translit

translation Translit. translationTranslit

Definition at line 375 of file qonlinetranslator.cpp.

376{
377 return m_translationTranslit;
378}

Friends And Related Function Documentation

◆ QOnlineTts

friend class QOnlineTts
friend

QOnlineTts.

Definition at line 57 of file qonlinetranslator.h.


The documentation for this class was generated from the following files: