Translator: added a translation engine for the IBM Watson Language Translator.

Sat, 07 Jul 2018 14:38:13 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 07 Jul 2018 14:38:13 +0200
changeset 6411
7fd9b7ecbcfe
parent 6410
98a5d0cd72f5
child 6412
d71b094845e7

Translator: added a translation engine for the IBM Watson Language Translator.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
APIs/Python3/eric6.bas file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html file | annotate | diff | comparison | revisions
Documentation/Source/index-eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.html file | annotate | diff | comparison | revisions
Plugins/PluginTranslator.py file | annotate | diff | comparison | revisions
Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py file | annotate | diff | comparison | revisions
Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui file | annotate | diff | comparison | revisions
Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py file | annotate | diff | comparison | revisions
Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py file | annotate | diff | comparison | revisions
Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py file | annotate | diff | comparison | revisions
Plugins/UiExtensionPlugins/Translator/TranslatorRequest.py file | annotate | diff | comparison | revisions
Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py file | annotate | diff | comparison | revisions
Plugins/UiExtensionPlugins/Translator/icons/engines/ibm_watson.png file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
eric6.e4p file | annotate | diff | comparison | revisions
i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
i18n/eric6_de.qm file | annotate | diff | comparison | revisions
i18n/eric6_de.ts file | annotate | diff | comparison | revisions
i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
i18n/eric6_en.ts file | annotate | diff | comparison | revisions
i18n/eric6_es.ts file | annotate | diff | comparison | revisions
i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
i18n/eric6_it.ts file | annotate | diff | comparison | revisions
i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Sat Jul 07 12:58:50 2018 +0200
+++ b/APIs/Python3/eric6.api	Sat Jul 07 14:38:13 2018 +0200
@@ -4963,6 +4963,12 @@
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.GoogleV2Engine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage)
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.GoogleV2Engine.supportedLanguages?4()
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.GoogleV2Engine?1(plugin, parent=None)
+eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine.engineName?4()
+eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage)
+eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine.hasTTS?4()
+eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine.supportedLanguages?4()
+eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine.supportedTargetLanguages?4(original)
+eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine?1(plugin, parent=None)
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.AccessTokenUrl?7
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.TextToSpeechUrl?7
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.TranslatorUrl?7
@@ -4988,6 +4994,7 @@
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage)
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine.hasTTS?4()
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine.supportedLanguages?4()
+eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine.supportedTargetLanguages?4(original)
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine?1(plugin, parent=None)
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.YandexEngine.TranslatorLimit?7
 eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.YandexEngine.TranslatorUrl?7
--- a/APIs/Python3/eric6.bas	Sat Jul 07 12:58:50 2018 +0200
+++ b/APIs/Python3/eric6.bas	Sat Jul 07 14:38:13 2018 +0200
@@ -496,6 +496,7 @@
 HtmlProvider MarkupBase
 HyperlinkMarkupDialog QDialog Ui_HyperlinkMarkupDialog
 IExplorerImporter BookmarksImporter
+IbmWatsonEngine TranslationEngine
 IconEditCommand QUndoCommand
 IconEditorGrid QWidget
 IconEditorPalette QWidget
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sat Jul 07 12:58:50 2018 +0200
+++ b/Documentation/Help/source.qhp	Sat Jul 07 14:38:13 2018 +0200
@@ -537,6 +537,7 @@
                   <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html" />
                   <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html" />
                   <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html" />
+                  <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html" />
                   <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html" />
                   <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html" />
                   <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html" />
@@ -9787,6 +9788,16 @@
       <keyword name="IExplorerImporter.setPath" id="IExplorerImporter.setPath" ref="eric6.Helpviewer.Bookmarks.BookmarksImporters.IExplorerImporter.html#IExplorerImporter.setPath" />
       <keyword name="IExplorerImporter.setPath" id="IExplorerImporter.setPath" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.IExplorerImporter.html#IExplorerImporter.setPath" />
       <keyword name="IRC (Package)" id="IRC (Package)" ref="index-eric6.Network.IRC.html" />
+      <keyword name="IbmWatsonEngine" id="IbmWatsonEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine" />
+      <keyword name="IbmWatsonEngine (Constructor)" id="IbmWatsonEngine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.__init__" />
+      <keyword name="IbmWatsonEngine (Module)" id="IbmWatsonEngine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html" />
+      <keyword name="IbmWatsonEngine.__adjustLanguageCode" id="IbmWatsonEngine.__adjustLanguageCode" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.__adjustLanguageCode" />
+      <keyword name="IbmWatsonEngine.__getTranslationModels" id="IbmWatsonEngine.__getTranslationModels" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.__getTranslationModels" />
+      <keyword name="IbmWatsonEngine.engineName" id="IbmWatsonEngine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.engineName" />
+      <keyword name="IbmWatsonEngine.getTranslation" id="IbmWatsonEngine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.getTranslation" />
+      <keyword name="IbmWatsonEngine.hasTTS" id="IbmWatsonEngine.hasTTS" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.hasTTS" />
+      <keyword name="IbmWatsonEngine.supportedLanguages" id="IbmWatsonEngine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.supportedLanguages" />
+      <keyword name="IbmWatsonEngine.supportedTargetLanguages" id="IbmWatsonEngine.supportedTargetLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.supportedTargetLanguages" />
       <keyword name="IconEditCommand" id="IconEditCommand" ref="eric6.IconEditor.IconEditorGrid.html#IconEditCommand" />
       <keyword name="IconEditCommand (Constructor)" id="IconEditCommand (Constructor)" ref="eric6.IconEditor.IconEditorGrid.html#IconEditCommand.__init__" />
       <keyword name="IconEditCommand.redo" id="IconEditCommand.redo" ref="eric6.IconEditor.IconEditorGrid.html#IconEditCommand.redo" />
@@ -16245,6 +16256,7 @@
       <keyword name="TranslationEngine.getTranslation" id="TranslationEngine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.getTranslation" />
       <keyword name="TranslationEngine.hasTTS" id="TranslationEngine.hasTTS" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.hasTTS" />
       <keyword name="TranslationEngine.supportedLanguages" id="TranslationEngine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.supportedLanguages" />
+      <keyword name="TranslationEngine.supportedTargetLanguages" id="TranslationEngine.supportedTargetLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.supportedTargetLanguages" />
       <keyword name="TranslationPropertiesDialog" id="TranslationPropertiesDialog" ref="eric6.Project.TranslationPropertiesDialog.html#TranslationPropertiesDialog" />
       <keyword name="TranslationPropertiesDialog (Constructor)" id="TranslationPropertiesDialog (Constructor)" ref="eric6.Project.TranslationPropertiesDialog.html#TranslationPropertiesDialog.__init__" />
       <keyword name="TranslationPropertiesDialog (Module)" id="TranslationPropertiesDialog (Module)" ref="eric6.Project.TranslationPropertiesDialog.html" />
@@ -16323,6 +16335,7 @@
       <keyword name="TranslatorWidget.__updateEngines" id="TranslatorWidget.__updateEngines" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__updateEngines" />
       <keyword name="TranslatorWidget.__updateLanguages" id="TranslatorWidget.__updateLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__updateLanguages" />
       <keyword name="TranslatorWidget.__updatePronounceButtons" id="TranslatorWidget.__updatePronounceButtons" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__updatePronounceButtons" />
+      <keyword name="TranslatorWidget.__updateTranslateButton" id="TranslatorWidget.__updateTranslateButton" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__updateTranslateButton" />
       <keyword name="TranslatorWidget.on_clearButton_clicked" id="TranslatorWidget.on_clearButton_clicked" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_clearButton_clicked" />
       <keyword name="TranslatorWidget.on_origEdit_textChanged" id="TranslatorWidget.on_origEdit_textChanged" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_origEdit_textChanged" />
       <keyword name="TranslatorWidget.on_origLanguageComboBox_currentIndexChanged" id="TranslatorWidget.on_origLanguageComboBox_currentIndexChanged" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_origLanguageComboBox_currentIndexChanged" />
@@ -19721,6 +19734,7 @@
       <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html</file>
       <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html</file>
       <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html</file>
+      <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html</file>
       <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html</file>
       <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html</file>
       <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html</file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html	Sat Jul 07 14:38:13 2018 +0200
@@ -0,0 +1,227 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine</h1>
+<p>
+Module implementing the IBM Watson translation engine.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#IbmWatsonEngine">IbmWatsonEngine</a></td>
+<td>Class implementing the translation engine for the IBM Watson Language Translator service.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="IbmWatsonEngine" ID="IbmWatsonEngine"></a>
+<h2>IbmWatsonEngine</h2>
+<p>
+    Class implementing the translation engine for the IBM Watson Language
+    Translator service.
+</p>
+<h3>Derived from</h3>
+TranslationEngine
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#IbmWatsonEngine.__init__">IbmWatsonEngine</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#IbmWatsonEngine.__adjustLanguageCode">__adjustLanguageCode</a></td>
+<td>Private method to adjust a given language code.</td>
+</tr><tr>
+<td><a href="#IbmWatsonEngine.__getTranslationModels">__getTranslationModels</a></td>
+<td>Private method to get the translation models supported by IBM Watson Language Translator.</td>
+</tr><tr>
+<td><a href="#IbmWatsonEngine.engineName">engineName</a></td>
+<td>Public method to return the name of the engine.</td>
+</tr><tr>
+<td><a href="#IbmWatsonEngine.getTranslation">getTranslation</a></td>
+<td>Public method to translate the given text.</td>
+</tr><tr>
+<td><a href="#IbmWatsonEngine.hasTTS">hasTTS</a></td>
+<td>Public method indicating the Text-to-Speech capability.</td>
+</tr><tr>
+<td><a href="#IbmWatsonEngine.supportedLanguages">supportedLanguages</a></td>
+<td>Public method to get the supported languages.</td>
+</tr><tr>
+<td><a href="#IbmWatsonEngine.supportedTargetLanguages">supportedTargetLanguages</a></td>
+<td>Public method to get a list of supported target languages for an original language.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="IbmWatsonEngine.__init__" ID="IbmWatsonEngine.__init__"></a>
+<h4>IbmWatsonEngine (Constructor)</h4>
+<b>IbmWatsonEngine</b>(<i>plugin, parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>plugin</i> (TranslatorPlugin)</dt>
+<dd>
+reference to the plugin object
+</dd><dt><i>parent</i> (QObject)</dt>
+<dd>
+reference to the parent object
+</dd>
+</dl><a NAME="IbmWatsonEngine.__adjustLanguageCode" ID="IbmWatsonEngine.__adjustLanguageCode"></a>
+<h4>IbmWatsonEngine.__adjustLanguageCode</h4>
+<b>__adjustLanguageCode</b>(<i>code</i>)
+<p>
+        Private method to adjust a given language code.
+</p><dl>
+<dt><i>code</i> (str)</dt>
+<dd>
+code to be adjusted
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+adjusted language code
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="IbmWatsonEngine.__getTranslationModels" ID="IbmWatsonEngine.__getTranslationModels"></a>
+<h4>IbmWatsonEngine.__getTranslationModels</h4>
+<b>__getTranslationModels</b>(<i></i>)
+<p>
+        Private method to get the translation models supported by IBM Watson
+        Language Translator.
+</p><a NAME="IbmWatsonEngine.engineName" ID="IbmWatsonEngine.engineName"></a>
+<h4>IbmWatsonEngine.engineName</h4>
+<b>engineName</b>(<i></i>)
+<p>
+        Public method to return the name of the engine.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+engine name
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="IbmWatsonEngine.getTranslation" ID="IbmWatsonEngine.getTranslation"></a>
+<h4>IbmWatsonEngine.getTranslation</h4>
+<b>getTranslation</b>(<i>requestObject, text, originalLanguage, translationLanguage</i>)
+<p>
+        Public method to translate the given text.
+</p><dl>
+<dt><i>requestObject</i> (TranslatorRequest)</dt>
+<dd>
+reference to the request object
+</dd><dt><i>text</i> (str)</dt>
+<dd>
+text to be translated
+</dd><dt><i>originalLanguage</i> (str)</dt>
+<dd>
+language code of the original
+</dd><dt><i>translationLanguage</i> (str)</dt>
+<dd>
+language code of the translation
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+tuple of translated text and flag indicating success
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (str, bool)
+</dd>
+</dl><a NAME="IbmWatsonEngine.hasTTS" ID="IbmWatsonEngine.hasTTS"></a>
+<h4>IbmWatsonEngine.hasTTS</h4>
+<b>hasTTS</b>(<i></i>)
+<p>
+        Public method indicating the Text-to-Speech capability.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating the Text-to-Speech capability
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="IbmWatsonEngine.supportedLanguages" ID="IbmWatsonEngine.supportedLanguages"></a>
+<h4>IbmWatsonEngine.supportedLanguages</h4>
+<b>supportedLanguages</b>(<i></i>)
+<p>
+        Public method to get the supported languages.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+list of supported language codes
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of str
+</dd>
+</dl><a NAME="IbmWatsonEngine.supportedTargetLanguages" ID="IbmWatsonEngine.supportedTargetLanguages"></a>
+<h4>IbmWatsonEngine.supportedTargetLanguages</h4>
+<b>supportedTargetLanguages</b>(<i>original</i>)
+<p>
+        Public method to get a list of supported target languages for an
+        original language.
+</p><dl>
+<dt><i>original</i> (str)</dt>
+<dd>
+original language
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of supported target languages for the given original
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of str
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html	Sat Jul 07 12:58:50 2018 +0200
+++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html	Sat Jul 07 14:38:13 2018 +0200
@@ -75,6 +75,9 @@
 </tr><tr>
 <td><a href="#TranslationEngine.supportedLanguages">supportedLanguages</a></td>
 <td>Public method to get the supported languages.</td>
+</tr><tr>
+<td><a href="#TranslationEngine.supportedTargetLanguages">supportedTargetLanguages</a></td>
+<td>Public method to get a list of supported target languages for an original language.</td>
 </tr>
 </table>
 <h3>Static Methods</h3>
@@ -173,6 +176,27 @@
 <dd>
 list of supported language codes (list of string)
 </dd>
+</dl><a NAME="TranslationEngine.supportedTargetLanguages" ID="TranslationEngine.supportedTargetLanguages"></a>
+<h4>TranslationEngine.supportedTargetLanguages</h4>
+<b>supportedTargetLanguages</b>(<i>original</i>)
+<p>
+        Public method to get a list of supported target languages for an
+        original language.
+</p><dl>
+<dt><i>original</i> (str)</dt>
+<dd>
+original language
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of supported target languages for the given original
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+None, if function is not supported; list of str otherwise
+</dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
--- a/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html	Sat Jul 07 12:58:50 2018 +0200
+++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html	Sat Jul 07 14:38:13 2018 +0200
@@ -90,6 +90,9 @@
 <td><a href="#TranslatorWidget.__updatePronounceButtons">__updatePronounceButtons</a></td>
 <td>Private slot to set the state of the pronounce buttons.</td>
 </tr><tr>
+<td><a href="#TranslatorWidget.__updateTranslateButton">__updateTranslateButton</a></td>
+<td>Private slot to set the state of the translate button.</td>
+</tr><tr>
 <td><a href="#TranslatorWidget.on_clearButton_clicked">on_clearButton_clicked</a></td>
 <td>Private slot to clear the text fields.</td>
 </tr><tr>
@@ -233,6 +236,11 @@
 <b>__updatePronounceButtons</b>(<i></i>)
 <p>
         Private slot to set the state of the pronounce buttons.
+</p><a NAME="TranslatorWidget.__updateTranslateButton" ID="TranslatorWidget.__updateTranslateButton"></a>
+<h4>TranslatorWidget.__updateTranslateButton</h4>
+<b>__updateTranslateButton</b>(<i></i>)
+<p>
+        Private slot to set the state of the translate button.
 </p><a NAME="TranslatorWidget.on_clearButton_clicked" ID="TranslatorWidget.on_clearButton_clicked"></a>
 <h4>TranslatorWidget.on_clearButton_clicked</h4>
 <b>on_clearButton_clicked</b>(<i></i>)
--- a/Documentation/Source/index-eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.html	Sat Jul 07 12:58:50 2018 +0200
+++ b/Documentation/Source/index-eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.html	Sat Jul 07 14:38:13 2018 +0200
@@ -40,6 +40,9 @@
 <td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html">GoogleV2Engine</a></td>
 <td>Module implementing the Google V2 translation engine.</td>
 </tr><tr>
+<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html">IbmWatsonEngine</a></td>
+<td>Module implementing the IBM Watson translation engine.</td>
+</tr><tr>
 <td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html">MicrosoftEngine</a></td>
 <td>Module implementing the Microsoft translation engine.</td>
 </tr><tr>
--- a/Plugins/PluginTranslator.py	Sat Jul 07 12:58:50 2018 +0200
+++ b/Plugins/PluginTranslator.py	Sat Jul 07 14:38:13 2018 +0200
@@ -79,9 +79,6 @@
     Preferences.Prefs.settings.remove(TranslatorPlugin.PreferencesKey)
 
 
-# TODO: add support for IBM Watson translator
-# https://www.ibm.com/watson/developercloud/language-translator
-# https://www.ibm.com/watson/services/language-translator/
 class TranslatorPlugin(QObject):
     """
     Class implementing the Translator plug-in.
@@ -112,6 +109,9 @@
             # Google
             "GoogleEnableDictionary": False,
             "GoogleV2Key": "",
+            # IBM Watson Language Translator
+            "IbmUrl": "",
+            "IbmKey": "",
             # Microsoft
             "MsTranslatorKey": "",
             "MsAuthToken": "",
--- a/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py	Sat Jul 07 12:58:50 2018 +0200
+++ b/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py	Sat Jul 07 14:38:13 2018 +0200
@@ -43,6 +43,10 @@
             """<p>A key is <b>required</b> to use this service."""
             """ <a href="{0}">Get a commercial API key.</a></p>""").format(
                 TranslatorEngines.getKeyUrl("googlev2")))
+        self.ibmLabel.setText(self.tr(
+            """<p>A key is <b>required</b> to use this service."""
+            """ <a href="{0}">Register with IBM Cloud.</a></p>""").format(
+                TranslatorEngines.getKeyUrl("ibm_watson")))
         self.msLabel.setText(self.tr(
             """<p>A registration of the text translation service is"""
             """ <b>required</b>. <a href="{0}">Register with Microsoft"""
@@ -77,6 +81,11 @@
             self.__plugin.getPreferences("GoogleEnableDictionary"))
         self.googlev2KeyEdit.setText(
             self.__plugin.getPreferences("GoogleV2Key"))
+        # IBM Watson settings
+        self.ibmUrlEdit.setText(
+            self.__plugin.getPreferences("IbmUrl"))
+        self.ibmKeyEdit.setText(
+            self.__plugin.getPreferences("IbmKey"))
         # Microsoft settings
         self.msSubscriptionKeyEdit.setText(
             self.__plugin.getPreferences("MsTranslatorKey"))
@@ -105,6 +114,11 @@
             "GoogleEnableDictionary", self.dictionaryCheckBox.isChecked())
         self.__plugin.setPreferences(
             "GoogleV2Key", self.googlev2KeyEdit.text())
+        # IBM Watson settings
+        self.__plugin.setPreferences(
+            "IbmUrl", self.ibmUrlEdit.text())
+        self.__plugin.setPreferences(
+            "IbmKey", self.ibmKeyEdit.text())
         # Microsoft settings
         self.__plugin.setPreferences(
             "MsTranslatorKey", self.msSubscriptionKeyEdit.text())
--- a/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui	Sat Jul 07 12:58:50 2018 +0200
+++ b/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui	Sat Jul 07 14:38:13 2018 +0200
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>494</width>
-    <height>937</height>
+    <height>1068</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_3">
@@ -178,6 +178,56 @@
     </widget>
    </item>
    <item>
+    <widget class="QGroupBox" name="groupBox_7">
+     <property name="title">
+      <string>IBM Watson</string>
+     </property>
+     <layout class="QGridLayout" name="gridLayout_5">
+      <item row="0" column="0">
+       <widget class="QLabel" name="label_7">
+        <property name="text">
+         <string>URL:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QLineEdit" name="ibmUrlEdit">
+        <property name="toolTip">
+         <string>Enter your IBM Watson Translator URL</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="0">
+       <widget class="QLabel" name="label_6">
+        <property name="text">
+         <string>API Key:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1">
+       <widget class="QLineEdit" name="ibmKeyEdit">
+        <property name="toolTip">
+         <string>Enter your IBM Watson Translator API key</string>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="0" colspan="2">
+       <widget class="QLabel" name="ibmLabel">
+        <property name="text">
+         <string/>
+        </property>
+        <property name="wordWrap">
+         <bool>true</bool>
+        </property>
+        <property name="openExternalLinks">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
     <widget class="QGroupBox" name="groupBox_6">
      <property name="title">
       <string>Microsoft Azure</string>
@@ -304,6 +354,8 @@
   <tabstop>defaultButton</tabstop>
   <tabstop>dictionaryCheckBox</tabstop>
   <tabstop>googlev2KeyEdit</tabstop>
+  <tabstop>ibmUrlEdit</tabstop>
+  <tabstop>ibmKeyEdit</tabstop>
   <tabstop>msSubscriptionKeyEdit</tabstop>
   <tabstop>mymemoryEmailEdit</tabstop>
   <tabstop>mymemoryKeyEdit</tabstop>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py	Sat Jul 07 14:38:13 2018 +0200
@@ -0,0 +1,232 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2018 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the IBM Watson translation engine.
+"""
+
+from __future__ import unicode_literals
+try:
+    str = unicode
+except NameError:
+    pass
+
+import json
+
+from PyQt5.QtCore import QUrl, QByteArray
+
+from E5Gui import E5MessageBox
+
+from .TranslationEngine import TranslationEngine
+
+
+class IbmWatsonEngine(TranslationEngine):
+    """
+    Class implementing the translation engine for the IBM Watson Language
+    Translator service.
+    """
+    # Documentation:
+    # https://www.ibm.com/watson/developercloud/language-translator
+    #
+    # Start page:
+    # https://www.ibm.com/watson/services/language-translator/
+    
+    def __init__(self, plugin, parent=None):
+        """
+        Constructor
+        
+        @param plugin reference to the plugin object
+        @type TranslatorPlugin
+        @param parent reference to the parent object
+        @type QObject
+        """
+        super(IbmWatsonEngine, self).__init__(plugin, parent)
+        
+        self.__ui = parent
+        
+        self.__availableTranslations = {}
+        # dictionary of sets of available translations
+        
+        self.__getTranslationModels()
+    
+    def engineName(self):
+        """
+        Public method to return the name of the engine.
+        
+        @return engine name
+        @rtype str
+        """
+        return "ibm_watson"
+    
+    def supportedLanguages(self):
+        """
+        Public method to get the supported languages.
+        
+        @return list of supported language codes
+        @rtype list of str
+        """
+        return list(self.__availableTranslations.keys())
+    
+    def supportedTargetLanguages(self, original):
+        """
+        Public method to get a list of supported target languages for an
+        original language.
+        
+        @param original original language
+        @type str
+        @return list of supported target languages for the given original
+        @rtype list of str
+        """
+        targets = self.__availableTranslations.get(original, set())
+        return list(targets)
+    
+    def hasTTS(self):
+        """
+        Public method indicating the Text-to-Speech capability.
+        
+        @return flag indicating the Text-to-Speech capability
+        @rtype bool
+        """
+        return False
+    
+    def getTranslation(self, requestObject, text, originalLanguage,
+                       translationLanguage):
+        """
+        Public method to translate the given text.
+        
+        @param requestObject reference to the request object
+        @type TranslatorRequest
+        @param text text to be translated
+        @type str
+        @param originalLanguage language code of the original
+        @type str
+        @param translationLanguage language code of the translation
+        @type str
+        @return tuple of translated text and flag indicating success
+        @rtype tuple of (str, bool)
+        """
+        apiKey = self.plugin.getPreferences("IbmKey")
+        if not apiKey:
+            return self.tr("A valid IBM Watson Language Translator key is"
+                           " required."), False
+        translatorUrl = self.plugin.getPreferences("IbmUrl")
+        if not translatorUrl:
+            return self.tr("A valid IBM Watson Language Translator URL is"
+                           " required."), False
+        
+        params = "?version=2018-05-01"
+        url = QUrl(translatorUrl + "/v3/translate" + params)
+        
+        requestDict = {
+            "text": [text],
+            "source": originalLanguage,
+            "target": translationLanguage,
+        }
+        request = QByteArray(json.dumps(requestDict).encode("utf-8"))
+        
+        extraHeaders = [
+            (b"Authorization",
+             b"Basic " + QByteArray(
+                 b"apikey:" + apiKey.encode("utf-8")).toBase64())
+        ]
+        
+        response, ok = requestObject.post(url, request, dataType="json",
+                                          extraHeaders=extraHeaders)
+        if ok:
+            try:
+                responseDict = json.loads(response)
+            except ValueError:
+                return self.tr("Invalid response received"), False
+            
+            if "translations" not in responseDict:
+                return self.tr("No translation available."), False
+            
+            result = ""
+            translations = responseDict["translations"]
+            for translation in translations:
+                result += translation["translation"]
+                if translation != translations[-1]:
+                    result += "<br/>"
+        else:
+            result = response
+        return result, ok
+    
+    def __adjustLanguageCode(self, code):
+        """
+        Private method to adjust a given language code.
+        
+        @param code code to be adjusted
+        @type str
+        @return adjusted language code
+        @rtype str
+        """
+        if code == "zh":
+            return "zh-CN"
+        else:
+            return code
+    
+    def __getTranslationModels(self):
+        """
+        Private method to get the translation models supported by IBM Watson
+        Language Translator.
+        """
+        apiKey = self.plugin.getPreferences("IbmKey")
+        if not apiKey:
+            E5MessageBox.critical(
+                self.__ui,
+                self.tr("Error Getting Available Translations"),
+                self.tr("A valid IBM Watson Language Translator key is"
+                        " required.")
+            )
+            return
+        translatorUrl = self.plugin.getPreferences("IbmUrl")
+        if not translatorUrl:
+            E5MessageBox.critical(
+                self.__ui,
+                self.tr("Error Getting Available Translations"),
+                self.tr("A valid IBM Watson Language Translator URL is"
+                        " required.")
+            )
+            return
+        
+        params = "?version=2018-05-01"
+        url = QUrl(translatorUrl + "/v3/models" + params)
+        
+        extraHeaders = [
+            (b"Authorization",
+             b"Basic " + QByteArray(
+                 b"apikey:" + apiKey.encode("utf-8")).toBase64())
+        ]
+        
+        from ..TranslatorRequest import TranslatorRequest
+        requestObject = TranslatorRequest(self)
+        response, ok = requestObject.get(url, extraHeaders=extraHeaders)
+        if ok:
+            response = str(response, "utf-8", "replace")
+            try:
+                responseDict = json.loads(response)
+            except ValueError:
+                E5MessageBox.critical(
+                    self.__ui,
+                    self.tr("Error Getting Available Translations"),
+                    self.tr("Invalid response received")
+                )
+                return
+            
+            if "models" not in responseDict:
+                E5MessageBox.critical(
+                    self.__ui,
+                    self.tr("Error Getting Available Translations"),
+                    self.tr("No translation available.")
+                )
+                return
+            
+            for model in responseDict["models"]:
+                if model["status"] == "available":
+                    source = self.__adjustLanguageCode(model["source"])
+                    target = self.__adjustLanguageCode(model["target"])
+                    if source not in self.__availableTranslations:
+                        self.__availableTranslations[source] = set()
+                    self.__availableTranslations[source].add(target)
--- a/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py	Sat Jul 07 12:58:50 2018 +0200
+++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py	Sat Jul 07 14:38:13 2018 +0200
@@ -44,6 +44,18 @@
         """
         return []
     
+    def supportedTargetLanguages(self, original):
+        """
+        Public method to get a list of supported target languages for an
+        original language.
+        
+        @param original original language
+        @type str
+        @return list of supported target languages for the given original
+        @rtype None, if function is not supported; list of str otherwise
+        """
+        return None
+    
     def hasTTS(self):
         """
         Public method indicating the Text-to-Speech capability.
--- a/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py	Sat Jul 07 12:58:50 2018 +0200
+++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py	Sat Jul 07 14:38:13 2018 +0200
@@ -24,7 +24,7 @@
     @return names of supported engines (list of string)
     """
     return ["googlev1", "mymemory", "glosbe", "promt", "yandex", "googlev2",
-            "microsoft", "deepl"]
+            "microsoft", "deepl", "ibm_watson"]
 
 
 def engineDisplayName(name):
@@ -50,6 +50,8 @@
         return QCoreApplication.translate("TranslatorEngines", "Microsoft")
     elif name == "deepl":
         return QCoreApplication.translate("TranslatorEngines", "DeepL")
+    elif name == "ibm_watson":
+        return QCoreApplication.translate("TranslatorEngines", "IBM Watson")
     else:
         return QCoreApplication.translate(
             "TranslatorEngines", "Unknow translation service name ({0})")\
@@ -89,6 +91,9 @@
     elif name == "deepl":
         from .DeepLEngine import DeepLEngine
         engine = DeepLEngine(plugin, parent)
+    elif name == "ibm_watson":
+        from .IbmWatsonEngine import IbmWatsonEngine
+        engine = IbmWatsonEngine(plugin, parent)
     else:
         engine = None
     return engine
@@ -126,5 +131,7 @@
         return "https://console.developers.google.com/"
     elif name == "microsoft":
         return "https://portal.azure.com"
+    elif name == "ibm_watson":
+        return "https://www.ibm.com/watson/services/language-translator/"
     else:
         return ""
--- a/Plugins/UiExtensionPlugins/Translator/TranslatorRequest.py	Sat Jul 07 12:58:50 2018 +0200
+++ b/Plugins/UiExtensionPlugins/Translator/TranslatorRequest.py	Sat Jul 07 14:38:13 2018 +0200
@@ -14,12 +14,14 @@
 except NameError:
     pass
 
-from PyQt5.QtCore import qVersion, QObject, QEventLoop, QByteArray
+from PyQt5.QtCore import QObject, QEventLoop, QByteArray
 from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, \
     QNetworkReply
 
 from E5Network.E5NetworkProxyFactory import proxyAuthenticationRequired
 
+from Globals import qVersionTuple
+
 
 class TranslatorRequest(QObject):
     """
@@ -88,12 +90,13 @@
                              self.__contentTypes[dataType])
         request.setRawHeader(b"Content-Length",
                              QByteArray.number(requestData.size()))
-        if qVersion() >= "5.6.0":
+        if qVersionTuple() >= (5, 6, 0):
             request.setAttribute(QNetworkRequest.FollowRedirectsAttribute,
                                  True)
         if extraHeaders:
             for name, value in extraHeaders:
                 request.setRawHeader(name, value)
+        request.setUrl(requestUrl)
         reply = self.__networkManager.post(request, requestData)
         if not self.__loop.isRunning():
             self.__loop.exec_()
--- a/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py	Sat Jul 07 12:58:50 2018 +0200
+++ b/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py	Sat Jul 07 14:38:13 2018 +0200
@@ -96,25 +96,55 @@
         Private slot to update the language combo boxes.
         """
         supportedCodes = self.__translationEngine.supportedLanguages()
+        enabledCodes = self.__plugin.getPreferences("EnabledLanguages")
+        
+        # 1. save current selections
         origLanguage = self.origLanguageComboBox.itemData(
             self.origLanguageComboBox.currentIndex())
         transLanguage = self.transLanguageComboBox.itemData(
             self.transLanguageComboBox.currentIndex())
+        
+        # 2. reload the original language combo box
+        self.origLanguageComboBox.blockSignals(True)
         self.origLanguageComboBox.clear()
-        self.transLanguageComboBox.clear()
-        for code in self.__plugin.getPreferences("EnabledLanguages"):
+        for code in enabledCodes:
             if code in supportedCodes:
                 language = self.__languages.getLanguage(code)
                 if language:
                     icon = self.__languages.getLanguageIcon(code)
                     self.origLanguageComboBox.addItem(icon, language, code)
-                    self.transLanguageComboBox.addItem(icon, language, code)
         self.origLanguageComboBox.model().sort(0)
-        self.transLanguageComboBox.model().sort(0)
-        self.origLanguageComboBox.setCurrentIndex(
-            self.origLanguageComboBox.findData(origLanguage))
-        self.transLanguageComboBox.setCurrentIndex(
-            self.transLanguageComboBox.findData(transLanguage))
+        origIndex = self.origLanguageComboBox.findData(origLanguage)
+        if origIndex == -1:
+            origIndex = 0
+        self.origLanguageComboBox.blockSignals(False)
+        self.origLanguageComboBox.setCurrentIndex(origIndex)
+        
+        # 3. reload the target language combo box, if the target is not
+        #    dependent upon the source language
+        supportedTargetCodes = \
+            self.__translationEngine.supportedTargetLanguages(
+                self.origLanguageComboBox.itemData(
+                    self.origLanguageComboBox.currentIndex()
+                )
+            )
+        if supportedTargetCodes is None:
+            # supported target codes are independent
+            self.transLanguageComboBox.clear()
+            for code in enabledCodes:
+                if code in supportedCodes:
+                    language = self.__languages.getLanguage(code)
+                    if language:
+                        icon = self.__languages.getLanguageIcon(code)
+                        self.transLanguageComboBox.addItem(icon, language,
+                                                           code)
+            self.transLanguageComboBox.model().sort(0)
+            index = self.transLanguageComboBox.findData(transLanguage)
+            if index == -1:
+                index = 0
+            self.transLanguageComboBox.setCurrentIndex(index)
+        else:
+            self.on_origLanguageComboBox_currentIndexChanged(origIndex)
     
     def __updateEngines(self):
         """
@@ -190,10 +220,22 @@
         """
         Private slot to swap the languages.
         """
-        oIdx = self.origLanguageComboBox.currentIndex()
-        self.origLanguageComboBox.setCurrentIndex(
+        # save selected language codes
+        oLanguage = self.origLanguageComboBox.itemData(
+            self.origLanguageComboBox.currentIndex())
+        
+        tLanguage = self.transLanguageComboBox.itemData(
             self.transLanguageComboBox.currentIndex())
-        self.transLanguageComboBox.setCurrentIndex(oIdx)
+        
+        oIdx = self.origLanguageComboBox.findData(tLanguage)
+        if oIdx < 0:
+            oIdx = 0
+        self.origLanguageComboBox.setCurrentIndex(oIdx)
+        
+        tIdx = self.transLanguageComboBox.findData(oLanguage)
+        if tIdx < 0:
+            tIdx = 0
+        self.transLanguageComboBox.setCurrentIndex(tIdx)
         
         origText = self.origEdit.toPlainText()
         self.origEdit.setPlainText(self.transEdit.toPlainText())
@@ -212,10 +254,9 @@
         """
         Private slot to handle changes of the original text.
         """
-        enable = bool(self.origEdit.toPlainText())
-        self.translateButton.setEnabled(enable)
         self.__updatePronounceButtons()
         self.__updateClearButton()
+        self.__updateTranslateButton()
     
     @pyqtSlot()
     def on_transEdit_textChanged(self):
@@ -234,6 +275,31 @@
         """
         self.__plugin.setPreferences(
             "OriginalLanguage", self.origLanguageComboBox.itemData(index))
+        
+        supportedTargetCodes = \
+            self.__translationEngine.supportedTargetLanguages(
+                self.origLanguageComboBox.itemData(index)
+            )
+        if supportedTargetCodes is not None:
+            enabledCodes = self.__plugin.getPreferences("EnabledLanguages")
+            transLanguage = self.transLanguageComboBox.itemData(
+                self.transLanguageComboBox.currentIndex())
+            self.transLanguageComboBox.clear()
+            if len(supportedTargetCodes) > 0:
+                for code in enabledCodes:
+                    if code in supportedTargetCodes:
+                        language = self.__languages.getLanguage(code)
+                        if language:
+                            icon = self.__languages.getLanguageIcon(code)
+                            self.transLanguageComboBox.addItem(
+                                icon, language, code)
+                self.transLanguageComboBox.model().sort(0)
+                index = self.transLanguageComboBox.findData(transLanguage)
+                if index == -1:
+                    index = 0
+                self.transLanguageComboBox.setCurrentIndex(index)
+            
+            self.__updateTranslateButton()
     
     @pyqtSlot(int)
     def on_transLanguageComboBox_currentIndexChanged(self, index):
@@ -272,7 +338,10 @@
         """
         Private slot to set the state of the pronounce buttons.
         """
-        hasTTS = self.__translationEngine.hasTTS()
+        if self.__translationEngine is not None:
+            hasTTS = self.__translationEngine.hasTTS()
+        else:
+            hasTTS = False
         self.pronounceOrigButton.setEnabled(
             hasTTS and bool(self.origEdit.toPlainText()))
         self.pronounceTransButton.setEnabled(
@@ -286,6 +355,14 @@
             bool(self.transEdit.toPlainText())
         self.clearButton.setEnabled(enable)
     
+    def __updateTranslateButton(self):
+        """
+        Private slot to set the state of the translate button.
+        """
+        enable = bool(self.origEdit.toPlainText())
+        enable &= bool(self.__translationLanguage())
+        self.translateButton.setEnabled(enable)
+    
     def __translate(self, text, originalLanguage, translationLanguage):
         """
         Private method to translate the given text.
Binary file Plugins/UiExtensionPlugins/Translator/icons/engines/ibm_watson.png has changed
--- a/changelog	Sat Jul 07 12:58:50 2018 +0200
+++ b/changelog	Sat Jul 07 14:38:13 2018 +0200
@@ -1,5 +1,10 @@
 Change Log
 ----------
+Version 18.08:
+- bug fixes
+- Translator
+  -- added a translation engine for the IBM Watson Language Translator
+
 Version 18.07:
 - bug fixes
 - Checkers
--- a/eric6.e4p	Sat Jul 07 12:58:50 2018 +0200
+++ b/eric6.e4p	Sat Jul 07 14:38:13 2018 +0200
@@ -548,6 +548,7 @@
     <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py</Source>
     <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py</Source>
     <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py</Source>
+    <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py</Source>
     <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py</Source>
     <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py</Source>
     <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py</Source>
--- a/i18n/eric6_cs.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_cs.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -39191,6 +39191,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -73667,12 +73695,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73928,8 +73956,13 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
+        <source>Unknow translation service name ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
-        <source>Unknow translation service name ({0})</source>
+        <source>IBM Watson</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -74194,7 +74227,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -74239,7 +74272,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
         <source>Key:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -74249,47 +74282,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
         <source>Microsoft Azure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
         <source>Subscription Key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
         <source>Enter the subscription key of the text translator service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
-        <source>MyMemory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
-        <source>Enter your MyMemory key</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
-        <source>Yandex</source>
+        <source>MyMemory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <source>Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
+        <source>Enter your MyMemory key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
+        <source>Yandex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation type="unfinished"></translation>
     </message>
@@ -74299,25 +74332,55 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
         <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <source>URL:</source>
+        <translation type="unfinished">URL:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <source>Enter your IBM Watson Translator URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TranslatorPlugin</name>
@@ -74380,12 +74443,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation type="unfinished"></translation>
     </message>
Binary file i18n/eric6_de.qm has changed
--- a/i18n/eric6_de.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_de.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -38180,6 +38180,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation>Ein gülter &apos;IBM Watson Language Translator&apos; Schlüssel ist erforderlich.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation>Eine gülte &apos;IBM Watson Language Translator&apos; URL ist erforderlich.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation>Ungültige Antwort empfangen</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation>Keine Übersetzungen verfügbar.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation>Fehler bei Ermittlung verfügbarer Übersetzungen</translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -72244,12 +72272,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation>Es sind keine Aussprachedaten verfügbar</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation>Keine Übersetzungen verfügbar</translation>
     </message>
@@ -72462,7 +72490,7 @@
         <translation>Yandex</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
         <source>Unknow translation service name ({0})</source>
         <translation>Unbekanter Übersetzungsdienst ({0})</translation>
     </message>
@@ -72481,6 +72509,11 @@
         <source>DeepL</source>
         <translation>DeepL</translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
+        <source>IBM Watson</source>
+        <translation>IBM Watson</translation>
+    </message>
 </context>
 <context>
     <name>TranslatorLanguagesDb</name>
@@ -72748,7 +72781,7 @@
         <translation>Wörterbuchergebnisse anzeigen</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation>Aktivierte Sprachen</translation>
     </message>
@@ -72773,7 +72806,7 @@
         <translation>Standard Setzen</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation>Es sollten mindestens zwei Sprachen aktiviert sein, um korrekt zu arbeiten.</translation>
     </message>
@@ -72783,47 +72816,47 @@
         <translation>Auswählen, um Ergebnisse des Übersetzungswörterbuches anzuzeigen</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
         <source>MyMemory</source>
         <translation>MyMemory</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation>Email:</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation>Gib eine Emailadresse ein, die mit jeder Anfrage gesendet werden soll (optional)</translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
-        <source>Key:</source>
-        <translation>Schlüssel:</translation>
+        <source>Email:</source>
+        <translation>Email:</translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation>Gib eine Emailadresse ein, die mit jeder Anfrage gesendet werden soll (optional)</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
+        <source>Key:</source>
+        <translation>Schlüssel:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation>Gib den Yandey Schlüssel ein</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
         <source>Yandex</source>
         <translation>Yandex</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Ein Schlüssel ist für die Nutzung dieses Dienstes &lt;b&gt;optional&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Hole einen kostenfreien API Schlüssel.&lt;/a&gt;&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Ein Schlüssel ist für die Nutzung dieses Dienstes &lt;b&gt;optional&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Hole einen kostenfreien API Schlüssel.&lt;/a&gt;&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;Ein Schlüssel ist für die Nutzung dieses Dienstes &lt;b&gt;erforderlich&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Hole einen kostenfreien API Schlüssel.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
         <source>Enter your MyMemory key</source>
         <translation>Gib den MyMemory Schlüssel ein</translation>
     </message>
@@ -72848,24 +72881,54 @@
         <translation>&lt;p&gt;Ein Schlüssel ist für die Nutzung dieses Dienstes &lt;b&gt;erforderlich&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Hole einen kostenpflichtigen API Schlüssel.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
         <source>Microsoft Azure</source>
         <translation>Microsoft Azure</translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
+        <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Eine Registrierung des Textübersetzungsdienstes ist &lt;b&gt;erforderlich&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Bei Microsoft Azure registrieren.&lt;/a&gt;&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
+        <source>Subscription Key:</source>
+        <translation>Abonnementschlüssel:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
+        <source>Enter the subscription key of the text translator service</source>
+        <translation>Gib den Abonnementschlüssel des Textübersetzungsdienstes ein</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <source>IBM Watson</source>
+        <translation>IBM Watson</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <source>URL:</source>
+        <translation>URL:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation>API Schlüssel:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
+        <translation>Gib den &apos;IBM Watson Translator&apos; API-Schlüssel ein</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <source>Enter your IBM Watson Translator URL</source>
+        <translation>Gib die &apos;IBM Watson Translator&apos; URL ein</translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
-        <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Eine Registrierung des Textübersetzungsdienstes ist &lt;b&gt;erforderlich&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Bei Microsoft Azure registrieren.&lt;/a&gt;&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
-        <source>Subscription Key:</source>
-        <translation>Abonnementschlüssel:</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
-        <source>Enter the subscription key of the text translator service</source>
-        <translation>Gib den Abonnementschlüssel des Textübersetzungsdienstes ein</translation>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Ein Schlüssel ist für die Nutzung dieses Dienstes &lt;b&gt;erforderlich&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Bei der IBM Cloud registrieren.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
@@ -72919,7 +72982,7 @@
         <translation>Drücken, um den eingegebenen Text zu übersetzen</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation>Übersetzungsfehler</translation>
     </message>
@@ -72929,7 +72992,7 @@
         <translation>Wähle den Übersetzungsdienst</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation>Der ausgewählte Übersetzungsdienst unterstützt die Vorlesefunktion nicht.</translation>
     </message>
--- a/i18n/eric6_empty.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_empty.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -37949,6 +37949,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -71631,12 +71659,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation type="unfinished"></translation>
     </message>
@@ -71861,8 +71889,13 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
+        <source>Unknow translation service name ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
-        <source>Unknow translation service name ({0})</source>
+        <source>IBM Watson</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -72127,7 +72160,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72172,7 +72205,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
         <source>Key:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72182,47 +72215,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
         <source>Microsoft Azure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
         <source>Subscription Key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
         <source>Enter the subscription key of the text translator service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
-        <source>MyMemory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
-        <source>Enter your MyMemory key</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
-        <source>Yandex</source>
+        <source>MyMemory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <source>Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
+        <source>Enter your MyMemory key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
+        <source>Yandex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72232,25 +72265,55 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
         <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <source>URL:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <source>Enter your IBM Watson Translator URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TranslatorPlugin</name>
@@ -72313,12 +72376,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_en.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_en.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -37987,6 +37987,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -71681,12 +71709,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation type="unfinished"></translation>
     </message>
@@ -71896,7 +71924,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
         <source>Unknow translation service name ({0})</source>
         <translation type="unfinished"></translation>
     </message>
@@ -71915,6 +71943,11 @@
         <source>DeepL</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TranslatorLanguagesDb</name>
@@ -72182,7 +72215,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72207,7 +72240,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72217,47 +72250,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
         <source>MyMemory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
-        <source>Key:</source>
+        <source>Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
+        <source>Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
         <source>Yandex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
         <source>Enter your MyMemory key</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72282,23 +72315,53 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
+        <source>Microsoft Azure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
+        <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
+        <source>Subscription Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
+        <source>Enter the subscription key of the text translator service</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
-        <source>Microsoft Azure</source>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <source>URL:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <source>Enter your IBM Watson Translator URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
-        <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
-        <source>Subscription Key:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
-        <source>Enter the subscription key of the text translator service</source>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -72353,7 +72416,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72363,7 +72426,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_es.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_es.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -38182,6 +38182,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation type="unfinished">Recibida respuesta no válida</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation type="unfinished">No hay traducción disponible.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -72197,12 +72225,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation>No hay datos de pronunciación disponibles</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation>No hay traducción disponible</translation>
     </message>
@@ -72415,7 +72443,7 @@
         <translation>Yandex</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
         <source>Unknow translation service name ({0})</source>
         <translation>Nombre de servicio de traducción desconocido ({0})</translation>
     </message>
@@ -72434,6 +72462,11 @@
         <source>DeepL</source>
         <translation>DeepL</translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TranslatorLanguagesDb</name>
@@ -72701,7 +72734,7 @@
         <translation>Mostrar resultados del diccionario</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation>Idiomas Habilitados</translation>
     </message>
@@ -72726,7 +72759,7 @@
         <translation>Establecer por defecto</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation>Se deben seleccionar al menos dos idiomas para que esta herramienta funcione correctamente.</translation>
     </message>
@@ -72736,47 +72769,47 @@
         <translation>Establecer para mostrar los resultados del diccionario de traducciones</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
         <source>MyMemory</source>
         <translation>MyMemory</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation>Email:</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation>Introducir dirección de correo electrónica a enviar con cada solicitud (opcional)</translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
-        <source>Key:</source>
-        <translation>Clave:</translation>
+        <source>Email:</source>
+        <translation>Email:</translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation>Introducir dirección de correo electrónica a enviar con cada solicitud (opcional)</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
+        <source>Key:</source>
+        <translation>Clave:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation>Introducir clave Yandex</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
         <source>Yandex</source>
         <translation>Yandex</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Una clave es &lt;b&gt;opcional&lt;/b&gt; para utilizar este servicio. &lt;a href=&quot;{0}&quot;&gt;Obtener una API key gratuita.&lt;/a&gt;&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Una clave es &lt;b&gt;opcional&lt;/b&gt; para utilizar este servicio. &lt;a href=&quot;{0}&quot;&gt;Obtener una API key gratuita.&lt;/a&gt;&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;Una clave es &lt;b&gt;necesaria&lt;/b&gt; para utilizar este servicio. &lt;a href=&quot;{0}&quot;&gt;Obtener una API key gratuita.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
         <source>Enter your MyMemory key</source>
         <translation>Introducir clave MyMemory</translation>
     </message>
@@ -72801,24 +72834,54 @@
         <translation>&lt;p&gt;Una clave es &lt;b&gt;necesaria&lt;/b&gt; para utilizar este servicio. &lt;a href=&quot;{0}&quot;&gt;Obtener una API key comercial.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
         <source>Microsoft Azure</source>
         <translation>Microsoft Azure</translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
+        <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Es &lt;b&gt;necesario&lt;/b&gt; registrarse para el servicio de traducción necesaria. &lt;a href=&quot;{0}&quot;&gt;Registrar con Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
+        <source>Subscription Key:</source>
+        <translation>Clave de Subscripción:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
+        <source>Enter the subscription key of the text translator service</source>
+        <translation>Introducir la clave de subscripción del servicio de traducción de texto</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <source>URL:</source>
+        <translation type="unfinished">URL:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation type="unfinished">API Key:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <source>Enter your IBM Watson Translator URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
-        <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Es &lt;b&gt;necesario&lt;/b&gt; registrarse para el servicio de traducción necesaria. &lt;a href=&quot;{0}&quot;&gt;Registrar con Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
-        <source>Subscription Key:</source>
-        <translation>Clave de Subscripción:</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
-        <source>Enter the subscription key of the text translator service</source>
-        <translation>Introducir la clave de subscripción del servicio de traducción de texto</translation>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -72872,7 +72935,7 @@
         <translation>Pulsar para traducir el texto introducido</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation>Error de Traducción</translation>
     </message>
@@ -72882,7 +72945,7 @@
         <translation>Seleccionar el servicio de traducción</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation>El servicio de traducción seleccionado no soporta la función de Text-to-Speech.</translation>
     </message>
--- a/i18n/eric6_fr.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_fr.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -38932,6 +38932,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -73393,12 +73421,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73653,8 +73681,13 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
+        <source>Unknow translation service name ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
-        <source>Unknow translation service name ({0})</source>
+        <source>IBM Watson</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -73919,7 +73952,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73964,7 +73997,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
         <source>Key:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73974,47 +74007,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
         <source>Microsoft Azure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
         <source>Subscription Key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
         <source>Enter the subscription key of the text translator service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
-        <source>MyMemory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
-        <source>Enter your MyMemory key</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
-        <source>Yandex</source>
+        <source>MyMemory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <source>Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
+        <source>Enter your MyMemory key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
+        <source>Yandex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation type="unfinished"></translation>
     </message>
@@ -74024,25 +74057,55 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
         <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <source>URL:</source>
+        <translation type="unfinished">URL:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <source>Enter your IBM Watson Translator URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TranslatorPlugin</name>
@@ -74105,12 +74168,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_it.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_it.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -38289,6 +38289,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -72299,12 +72327,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72531,8 +72559,13 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
+        <source>Unknow translation service name ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
-        <source>Unknow translation service name ({0})</source>
+        <source>IBM Watson</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -72797,7 +72830,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72842,7 +72875,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
         <source>Key:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72852,47 +72885,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
         <source>Microsoft Azure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
         <source>Subscription Key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
         <source>Enter the subscription key of the text translator service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
-        <source>MyMemory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
-        <source>Enter your MyMemory key</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
-        <source>Yandex</source>
+        <source>MyMemory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <source>Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
+        <source>Enter your MyMemory key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
+        <source>Yandex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation type="unfinished"></translation>
     </message>
@@ -72902,25 +72935,55 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
         <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <source>URL:</source>
+        <translation type="unfinished">URL:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <source>Enter your IBM Watson Translator URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TranslatorPlugin</name>
@@ -72983,12 +73046,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_pt.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_pt.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -39679,6 +39679,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation type="unfinished">Recibida resposta inválida</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation type="unfinished">Sem tradução disponível.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -73820,12 +73848,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation>Sem dados de pronúncia disponíveis</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation>Sem tradução disponível</translation>
     </message>
@@ -74040,7 +74068,7 @@
         <translation>Yandex</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
         <source>Unknow translation service name ({0})</source>
         <translation>Nome de serviço de tradução desconhecido ({0})</translation>
     </message>
@@ -74059,6 +74087,11 @@
         <source>DeepL</source>
         <translation>DeepL</translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TranslatorLanguagesDb</name>
@@ -74331,7 +74364,7 @@
         <translation>Mostrar resultados do dicionário</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation>Idiomas Habilitados</translation>
     </message>
@@ -74356,7 +74389,7 @@
         <translation>Predefinir</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation>Pelo menos dois idiomas têm que estar selecionados para funcionar correctamente.</translation>
     </message>
@@ -74366,47 +74399,47 @@
         <translation>Selecionar para mostrar os resultados do dicionário de traduções</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
         <source>MyMemory</source>
         <translation>MyMemory</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation>Correio eletrónico:</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation>Introduzir a direção do correio eletrónico a enviar com cada solicitude (opcional)</translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
-        <source>Key:</source>
-        <translation>Chave:</translation>
+        <source>Email:</source>
+        <translation>Correio eletrónico:</translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation>Introduzir a direção do correio eletrónico a enviar com cada solicitude (opcional)</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
+        <source>Key:</source>
+        <translation>Chave:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation>Introduza a sua chave Yandex</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
         <source>Yandex</source>
         <translation>Yandex</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation>&lt;p&gt;É &lt;b&gt;opcional&lt;/b&gt; uma chave para usar este serviço. &lt;a href=&quot;{0}&quot;&gt;Obtenha uma chave API grátis.&lt;/a&gt;&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation>&lt;p&gt;É &lt;b&gt;opcional&lt;/b&gt; uma chave para usar este serviço. &lt;a href=&quot;{0}&quot;&gt;Obtenha uma chave API grátis.&lt;/a&gt;&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;É &lt;b&gt;necessária&lt;/b&gt; uma chave para usar este serviço. &lt;a href=&quot;{0}&quot;&gt;Obtenha uma chave API grátis.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
         <source>Enter your MyMemory key</source>
         <translation>Introduza a sua chave MyMemory</translation>
     </message>
@@ -74431,23 +74464,53 @@
         <translation>&lt;p&gt;É &lt;b&gt;necessária&lt;/b&gt; uma chave para usar este serviço. &lt;a href=&quot;{0}&quot;&gt;Obtenha uma chave API comercial.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
         <source>Microsoft Azure</source>
         <translation>Microsoft Azure</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
         <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;É &lt;b&gt;necessário&lt;/b&gt; o registo da aplicação. &lt;a href=&quot;{0}&quot;&gt;Registe com Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
+        <source>Subscription Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
+        <source>Enter the subscription key of the text translator service</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
-        <source>Subscription Key:</source>
+        <source>URL:</source>
+        <translation type="unfinished">URL:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
-        <source>Enter the subscription key of the text translator service</source>
+        <source>Enter your IBM Watson Translator URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -74502,7 +74565,7 @@
         <translation>Pressione para traduzir o texto introduzido</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation>Erro de Tradução</translation>
     </message>
@@ -74512,7 +74575,7 @@
         <translation>Selecione o serviço de tradução</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation>O serviço de tradução selecionado não suporta a função Text-to-Speech.</translation>
     </message>
--- a/i18n/eric6_ru.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_ru.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -38248,6 +38248,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation type="unfinished">Получен недопустимый ответ</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation type="unfinished">Перевод отсутствует.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -72394,12 +72422,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation>Нет данных для произношения</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation>Перевод недоступен</translation>
     </message>
@@ -72612,7 +72640,7 @@
         <translation>Yandex</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
         <source>Unknow translation service name ({0})</source>
         <translation>Имя неизвестного сервиса перевода ({0})</translation>
     </message>
@@ -72631,6 +72659,11 @@
         <source>DeepL</source>
         <translation>DeepL</translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TranslatorLanguagesDb</name>
@@ -72898,7 +72931,7 @@
         <translation>Показывать словарь результатов</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation>Используемые языки</translation>
     </message>
@@ -72923,7 +72956,7 @@
         <translation>Стандартный набор</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation>Для корректной работы должны быть выбраны по крайней мере два языка.</translation>
     </message>
@@ -72933,47 +72966,47 @@
         <translation>Разрешить показ словаря результатов перевода</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
         <source>MyMemory</source>
         <translation>MyMemory</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation>Email:</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation>Введите адрес электронной почты для отправки с каждым запросом (по желанию)</translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
-        <source>Key:</source>
-        <translation>Ключ:</translation>
+        <source>Email:</source>
+        <translation>Email:</translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation>Введите адрес электронной почты для отправки с каждым запросом (по желанию)</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
+        <source>Key:</source>
+        <translation>Ключ:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation>Введите ваш Yandex ключ</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
         <source>Yandex</source>
         <translation>Yandex</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation>&lt;p&gt;При использовании данного сервиса ключ является &lt;b&gt;опциональным&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Получить свободный API ключ.&lt;/a&gt;&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation>&lt;p&gt;При использовании данного сервиса ключ является &lt;b&gt;опциональным&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Получить свободный API ключ.&lt;/a&gt;&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;Для использования данного сервиса &lt;b&gt;требуется&lt;/b&gt; ключ. &lt;a href=&quot;{0}&quot;&gt;Получить свободный API ключ.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
         <source>Enter your MyMemory key</source>
         <translation>Введите ваш  MyMemory ключ</translation>
     </message>
@@ -72998,24 +73031,54 @@
         <translation>&lt;p&gt;Для использования данного сервиса &lt;b&gt;требуется&lt;/b&gt; ключ. &lt;a href=&quot;{0}&quot;&gt;Получить коммерческий API ключ.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
         <source>Microsoft Azure</source>
         <translation>Microsoft Azure</translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
+        <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation>&lt;p&gt;&lt;b&gt;Необходима&lt;/b&gt; регистрация приложения. &lt;a href=&quot;{0}&quot;&gt;Регистрация посредством Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
+        <source>Subscription Key:</source>
+        <translation>Ключ подписки:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
+        <source>Enter the subscription key of the text translator service</source>
+        <translation>Введите ключ подписки службы перевода текста</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <source>URL:</source>
+        <translation type="unfinished">URL:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation type="unfinished">API ключ:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <source>Enter your IBM Watson Translator URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
-        <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation>&lt;p&gt;&lt;b&gt;Необходима&lt;/b&gt; регистрация приложения. &lt;a href=&quot;{0}&quot;&gt;Регистрация посредством Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
-        <source>Subscription Key:</source>
-        <translation>Ключ подписки:</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
-        <source>Enter the subscription key of the text translator service</source>
-        <translation>Введите ключ подписки службы перевода текста</translation>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -73069,7 +73132,7 @@
         <translation>Перевести введенный текст</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation>Ошибка перевода</translation>
     </message>
@@ -73079,7 +73142,7 @@
         <translation>Выбор сервиса перевода</translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation>Выбранный сервис перевода не поддерживает функцию Text-to-Speech.</translation>
     </message>
--- a/i18n/eric6_tr.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_tr.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -39033,6 +39033,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -73296,12 +73324,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73549,8 +73577,13 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
+        <source>Unknow translation service name ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
-        <source>Unknow translation service name ({0})</source>
+        <source>IBM Watson</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -73815,7 +73848,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73860,7 +73893,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
         <source>Key:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73870,47 +73903,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
         <source>Microsoft Azure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
         <source>Subscription Key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
         <source>Enter the subscription key of the text translator service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
-        <source>MyMemory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
-        <source>Enter your MyMemory key</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
-        <source>Yandex</source>
+        <source>MyMemory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <source>Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
+        <source>Enter your MyMemory key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
+        <source>Yandex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73920,25 +73953,55 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
         <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <source>URL:</source>
+        <translation type="unfinished">URL:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <source>Enter your IBM Watson Translator URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TranslatorPlugin</name>
@@ -74001,12 +74064,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_zh_CN.ts	Sat Jul 07 12:58:50 2018 +0200
+++ b/i18n/eric6_zh_CN.ts	Sat Jul 07 14:38:13 2018 +0200
@@ -39026,6 +39026,34 @@
     </message>
 </context>
 <context>
+    <name>IbmWatsonEngine</name>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/>
+        <source>A valid IBM Watson Language Translator key is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/>
+        <source>A valid IBM Watson Language Translator URL is required.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/>
+        <source>Invalid response received</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>No translation available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/>
+        <source>Error Getting Available Translations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IconEditorGrid</name>
     <message>
         <location filename="../IconEditor/IconEditorGrid.py" line="206"/>
@@ -73523,12 +73551,12 @@
 <context>
     <name>TranslationEngine</name>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/>
         <source>No pronounce data available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/>
         <source>No translation available</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73785,8 +73813,13 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/>
+        <source>Unknow translation service name ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/>
-        <source>Unknow translation service name ({0})</source>
+        <source>IBM Watson</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -74051,7 +74084,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>Enabled Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -74096,7 +74129,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/>
         <source>Key:</source>
         <translation type="unfinished">密码:</translation>
     </message>
@@ -74106,47 +74139,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/>
         <source>Microsoft Azure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/>
         <source>Subscription Key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/>
         <source>Enter the subscription key of the text translator service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/>
-        <source>MyMemory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/>
-        <source>Email:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/>
-        <source>Enter email address to be sent with each request (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/>
-        <source>Enter your MyMemory key</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/>
-        <source>Yandex</source>
+        <source>MyMemory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/>
+        <source>Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/>
+        <source>Enter email address to be sent with each request (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/>
+        <source>Enter your MyMemory key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/>
+        <source>Yandex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/>
         <source>Enter your Yandex key</source>
         <translation type="unfinished"></translation>
     </message>
@@ -74156,25 +74189,55 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/>
         <source>&lt;p&gt;A registration of the text translation service is &lt;b&gt;required&lt;/b&gt;. &lt;a href=&quot;{0}&quot;&gt;Register with Microsoft Azure.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/>
-        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;optional&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="59"/>
         <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Get a free API key.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/>
         <source>At least two languages should be selected to work correctly.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/>
+        <source>IBM Watson</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/>
+        <source>URL:</source>
+        <translation type="unfinished">URL:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/>
+        <source>API Key:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/>
+        <source>Enter your IBM Watson Translator API key</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/>
+        <source>Enter your IBM Watson Translator URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/>
+        <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href=&quot;{0}&quot;&gt;Register with IBM Cloud.&lt;/a&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TranslatorPlugin</name>
@@ -74237,12 +74300,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/>
         <source>Translation Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/>
+        <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/>
         <source>The selected translation service does not support the Text-to-Speech function.</source>
         <translation type="unfinished"></translation>
     </message>

eric ide

mercurial